Loading make/openvpn.mk 0 → 100644 +66 −0 Original line number Diff line number Diff line ############################################################# # # openvpn # # NOTE: Uses start-stop-daemon in init script, so be sure # to enable that within busybox # ############################################################# OPENVPN_SOURCE:=openvpn-1.5.0.tar.gz OPENVPN_SITE:=http://aleron.dl.sourceforge.net/sourceforge/openvpn/ OPENVPN_DIR:=$(BUILD_DIR)/openvpn-1.5.0 OPENVPN_CAT:=zcat OPENVPN_BINARY:=openvpn OPENVPN_TARGET_BINARY:=usr/sbin/openvpn #OPENVPN_PATCH:=$(SOURCE_DIR)/openvpn.patch $(DL_DIR)/$(OPENVPN_SOURCE): $(WGET) -P $(DL_DIR) $(OPENVPN_SITE)/$(OPENVPN_SOURCE) openvpn-source: $(DL_DIR)/$(OPENVPN_SOURCE) $(OPENVPN_DIR)/.unpacked: $(DL_DIR)/$(OPENVPN_SOURCE) $(OPENVPN_CAT) $(DL_DIR)/$(OPENVPN_SOURCE) | tar -C $(BUILD_DIR) -xvf - #cat $(OPENVPN_PATCH) | patch -p1 -d $(OPENVPN_DIR) touch $(OPENVPN_DIR)/.unpacked $(OPENVPN_DIR)/.configured: $(OPENVPN_DIR)/.unpacked (cd $(OPENVPN_DIR); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ --prefix=/usr \ --exec-prefix=/usr \ --bindir=/usr/bin \ --sbindir=/usr/sbin \ --libexecdir=/usr/lib \ --sysconfdir=/etc \ --datadir=/usr/share \ --localstatedir=/var \ --mandir=/usr/man \ --infodir=/usr/info \ --program-prefix="" \ ); touch $(OPENVPN_DIR)/.configured $(OPENVPN_DIR)/$(OPENVPN_BINARY): $(OPENVPN_DIR)/.configured $(MAKE) -C $(OPENVPN_DIR) $(TARGET_DIR)/$(OPENVPN_TARGET_BINARY): $(OPENVPN_DIR)/$(OPENVPN_BINARY) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(OPENVPN_DIR) install mkdir -p $(TARGET_DIR)/etc/openvpn cp $(SOURCE_DIR)/openvpn $(TARGET_DIR)/etc/init.d/openvpn rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc openvpn: uclibc lzo $(TARGET_DIR)/$(OPENVPN_TARGET_BINARY) openvpn-clean: $(MAKE) DESTDIR=$(TARGET_DIR) -C $(OPENVPN_DIR) uninstall -$(MAKE) -C $(OPENVPN_DIR) clean openvpn-dirclean: rm -rf $(OPENVPN_DIR) sources/openvpn 0 → 100755 +103 −0 Original line number Diff line number Diff line #!/bin/sh -e # # Original version by Robert Leslie # <rob@mars.org>, edited by iwj and cs # Modified for openvpn by Alberto Gonzalez Iniesta <agi@agi.as> # Modified for restarting / starting / stopping single tunnels by Richard Mueller <mueller@teamix.net> test $DEBIAN_SCRIPT_DEBUG && set -v -x DAEMON=/usr/sbin/openvpn CONFIG_DIR=/etc/openvpn test -x $DAEMON || exit 0 test -d $CONFIG_DIR || exit 0 start_vpn () { $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \ --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->" echo -n " $NAME" } stop_vpn () { kill `cat $PIDFILE` || true rm $PIDFILE } case "$1" in start) echo -n "Starting openvpn:" if test -z $2 ; then for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do NAME=${CONFIG%%.conf} start_vpn done else if test -e $CONFIG_DIR/$2.conf ; then NAME=$2 start_vpn else echo -n " No such VPN: $2" fi fi echo "." ;; stop) echo -n "Stopping openvpn:" if test -z $2 ; then for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do NAME=`echo $PIDFILE | cut -c18-` NAME=${NAME%%.pid} stop_vpn echo -n " $NAME" done else if test -e /var/run/openvpn.$2.pid ; then PIDFILE=`ls /var/run/openvpn.$2.pid 2> /dev/null` NAME=`echo $PIDFILE | cut -c18-` NAME=${NAME%%.pid} stop_vpn echo -n " $NAME" else echo -n " No such VPN: $2" fi fi echo "." ;; # We only 'reload' for running VPNs. New ones will only start with 'start' or 'restart'. reload|force-reload) echo -n "Reloading openvpn:" for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do NAME=`echo $PIDFILE | cut -c18-` NAME=${NAME%%.pid} # If openvpn if running under a different user than root we'll need to restart if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then stop_vpn sleep 1 start_vpn echo -n "(restarted)" else kill -HUP `cat $PIDFILE` || true # start-stop-daemon --stop --signal HUP --quiet --oknodo \ # --exec $DAEMON --pidfile $PIDFILE echo -n " $NAME" fi done echo "." ;; restart) $0 stop $2 sleep 1 $0 start $2 ;; *) echo "Usage: $0 {start|stop|reload|restart|force-reload}" >&2 exit 1 ;; esac exit 0 # vim:set ai et sts=2 sw=2 tw=0: Loading
make/openvpn.mk 0 → 100644 +66 −0 Original line number Diff line number Diff line ############################################################# # # openvpn # # NOTE: Uses start-stop-daemon in init script, so be sure # to enable that within busybox # ############################################################# OPENVPN_SOURCE:=openvpn-1.5.0.tar.gz OPENVPN_SITE:=http://aleron.dl.sourceforge.net/sourceforge/openvpn/ OPENVPN_DIR:=$(BUILD_DIR)/openvpn-1.5.0 OPENVPN_CAT:=zcat OPENVPN_BINARY:=openvpn OPENVPN_TARGET_BINARY:=usr/sbin/openvpn #OPENVPN_PATCH:=$(SOURCE_DIR)/openvpn.patch $(DL_DIR)/$(OPENVPN_SOURCE): $(WGET) -P $(DL_DIR) $(OPENVPN_SITE)/$(OPENVPN_SOURCE) openvpn-source: $(DL_DIR)/$(OPENVPN_SOURCE) $(OPENVPN_DIR)/.unpacked: $(DL_DIR)/$(OPENVPN_SOURCE) $(OPENVPN_CAT) $(DL_DIR)/$(OPENVPN_SOURCE) | tar -C $(BUILD_DIR) -xvf - #cat $(OPENVPN_PATCH) | patch -p1 -d $(OPENVPN_DIR) touch $(OPENVPN_DIR)/.unpacked $(OPENVPN_DIR)/.configured: $(OPENVPN_DIR)/.unpacked (cd $(OPENVPN_DIR); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ --prefix=/usr \ --exec-prefix=/usr \ --bindir=/usr/bin \ --sbindir=/usr/sbin \ --libexecdir=/usr/lib \ --sysconfdir=/etc \ --datadir=/usr/share \ --localstatedir=/var \ --mandir=/usr/man \ --infodir=/usr/info \ --program-prefix="" \ ); touch $(OPENVPN_DIR)/.configured $(OPENVPN_DIR)/$(OPENVPN_BINARY): $(OPENVPN_DIR)/.configured $(MAKE) -C $(OPENVPN_DIR) $(TARGET_DIR)/$(OPENVPN_TARGET_BINARY): $(OPENVPN_DIR)/$(OPENVPN_BINARY) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(OPENVPN_DIR) install mkdir -p $(TARGET_DIR)/etc/openvpn cp $(SOURCE_DIR)/openvpn $(TARGET_DIR)/etc/init.d/openvpn rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc openvpn: uclibc lzo $(TARGET_DIR)/$(OPENVPN_TARGET_BINARY) openvpn-clean: $(MAKE) DESTDIR=$(TARGET_DIR) -C $(OPENVPN_DIR) uninstall -$(MAKE) -C $(OPENVPN_DIR) clean openvpn-dirclean: rm -rf $(OPENVPN_DIR)
sources/openvpn 0 → 100755 +103 −0 Original line number Diff line number Diff line #!/bin/sh -e # # Original version by Robert Leslie # <rob@mars.org>, edited by iwj and cs # Modified for openvpn by Alberto Gonzalez Iniesta <agi@agi.as> # Modified for restarting / starting / stopping single tunnels by Richard Mueller <mueller@teamix.net> test $DEBIAN_SCRIPT_DEBUG && set -v -x DAEMON=/usr/sbin/openvpn CONFIG_DIR=/etc/openvpn test -x $DAEMON || exit 0 test -d $CONFIG_DIR || exit 0 start_vpn () { $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \ --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->" echo -n " $NAME" } stop_vpn () { kill `cat $PIDFILE` || true rm $PIDFILE } case "$1" in start) echo -n "Starting openvpn:" if test -z $2 ; then for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do NAME=${CONFIG%%.conf} start_vpn done else if test -e $CONFIG_DIR/$2.conf ; then NAME=$2 start_vpn else echo -n " No such VPN: $2" fi fi echo "." ;; stop) echo -n "Stopping openvpn:" if test -z $2 ; then for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do NAME=`echo $PIDFILE | cut -c18-` NAME=${NAME%%.pid} stop_vpn echo -n " $NAME" done else if test -e /var/run/openvpn.$2.pid ; then PIDFILE=`ls /var/run/openvpn.$2.pid 2> /dev/null` NAME=`echo $PIDFILE | cut -c18-` NAME=${NAME%%.pid} stop_vpn echo -n " $NAME" else echo -n " No such VPN: $2" fi fi echo "." ;; # We only 'reload' for running VPNs. New ones will only start with 'start' or 'restart'. reload|force-reload) echo -n "Reloading openvpn:" for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do NAME=`echo $PIDFILE | cut -c18-` NAME=${NAME%%.pid} # If openvpn if running under a different user than root we'll need to restart if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then stop_vpn sleep 1 start_vpn echo -n "(restarted)" else kill -HUP `cat $PIDFILE` || true # start-stop-daemon --stop --signal HUP --quiet --oknodo \ # --exec $DAEMON --pidfile $PIDFILE echo -n " $NAME" fi done echo "." ;; restart) $0 stop $2 sleep 1 $0 start $2 ;; *) echo "Usage: $0 {start|stop|reload|restart|force-reload}" >&2 exit 1 ;; esac exit 0 # vim:set ai et sts=2 sw=2 tw=0: