Previous vtun was version 2.6.
authorUlf Samuelsson <ulf.samuelsson@atmel.com>
Sat, 10 Jan 2009 00:18:04 +0000 (00:18 -0000)
committerUlf Samuelsson <ulf.samuelsson@atmel.com>
Sat, 10 Jan 2009 00:18:04 +0000 (00:18 -0000)
This does not buld because its "configure" requires
that -llzo contains "lzolx_decompress".
"vtun" does not build, evenm if liblzo is available.

The LZO package currently used by buildroot
does not contain ANY reference to "lzolx_decompress"

"vtun" has been upgraded to 3.0.2 and now builds OK,
but is yet to be tested on a target.
The previous patch containing three diffs,
has been broken up into three files.

The second patch fails.

This patch tries to replace a perl script
($(VTUN_DIR)/scripts/vtund.rc.debian)
with a shell script with the same name.

In vtun-3.0.2, vtund.rc.debian is a shell script which is
fairly similar to the shell script provided by the patch.
For now, it has been decided not to replace this shell
script with the script generated by the patch for 2.6

vtun will thus be built with the 3.0.2 vtund.rc.debian.
The start-stop-daemon parameters and other things
in this script may be inappropriate for something based on busybox.

I will leave the decision which script to use,
the 2-6 script or the 3.0.2 script to someone else.

Both files are kept in the directory, but should
be removed once it has been decided what to do
about this script.

Signed-Off by: Ulf Samuelsson <ulf.samuelsson@atmel.com>

package/vtun/Config.in
package/vtun/README.txt [new file with mode: 0644]
package/vtun/vtun-3.0.2-001-Makefile.in.patch [new file with mode: 0644]
package/vtun/vtun-3.0.2-003-configure.patch [new file with mode: 0644]
package/vtun/vtun.mk
package/vtun/vtun.patch [deleted file]
package/vtun/vtund.rc.debian-2.6 [new file with mode: 0644]
package/vtun/vtund.rc.debian-3.0.2 [new file with mode: 0644]

index a1d2856050c965a0175389aaa1ee55532ef4253c..b40de255bc3537794e77aa85b8016a99a0d5744b 100644 (file)
@@ -1,5 +1,5 @@
 config BR2_PACKAGE_VTUN
-       bool "vtun"
+       bool "vtun - BEWARE: read package/vtun/README.txt before use"
        select BR2_PACKAGE_LZO
        select BR2_PACKAGE_OPENSSL
        help
diff --git a/package/vtun/README.txt b/package/vtun/README.txt
new file mode 100644 (file)
index 0000000..5ee0479
--- /dev/null
@@ -0,0 +1,37 @@
+Previous vtun was version 2.6.
+This does not buld because its "configure" requires
+that -llzo contains "lzolx_decompress".
+"vtun" does not build, evenm if liblzo is available.
+
+The LZO package currently used by buildroot
+does not contain ANY reference to "lzolx_decompress"
+
+"vtun" has been upgraded to 3.0.2 and now builds OK,
+but is yet to be tested on a target.
+The previous patch containing three diffs,
+has been broken up into three files.
+
+The second patch fails.
+
+This patch tries to replace a perl script
+($(VTUN_DIR)/scripts/vtund.rc.debian)
+with a shell script with the same name.
+
+In vtun-3.0.2, vtund.rc.debian is a shell script which is
+fairly similar to the shell script provided by the patch.
+For now, it has been decided not to replace this shell 
+script with the script generated by the patch for 2.6
+
+vtun will thus be built with the 3.0.2 vtund.rc.debian.
+The start-stop-daemon parameters and other things
+in this script may be inappropriate for something based on busybox.
+
+I will leave the decision which script to use,
+the 2-6 script or the 3.0.2 script to someone else.
+
+Both files are kept in the directory, but should
+be removed once it has been decided what to do
+about this script.
+
+Signed-Off by: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+
diff --git a/package/vtun/vtun-3.0.2-001-Makefile.in.patch b/package/vtun/vtun-3.0.2-001-Makefile.in.patch
new file mode 100644 (file)
index 0000000..063d4b3
--- /dev/null
@@ -0,0 +1,33 @@
+diff -urN vtun/Makefile.in vtun-2.6/Makefile.in
+--- vtun/Makefile.in   2002-12-20 09:55:47.000000000 -0700
++++ vtun-2.6/Makefile.in       2003-06-05 12:38:31.000000000 -0600
+@@ -28,7 +28,7 @@
+ LEXFLAGS = -t 
+ INSTALL = @INSTALL@
+-INSTALL_OWNER = -o root -g 0
++INSTALL_OWNER =
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+@@ -86,15 +86,15 @@
+ install_config: 
+       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(ETC_DIR)
+-      if [ ! -f $(ETC_DIR)/vtund.conf ]; then \
+-        $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); \
+-      fi
++      $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR);
++      $(INSTALL) -m 600 $(INSTALL_OWNER) scripts/vtund-start.conf $(DESTDIR)$(ETC_DIR);
+ install: vtund install_config install_man
+-      $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(VAR_DIR)/run
+       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(STAT_DIR)
+       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(LOCK_DIR)
+       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(SBIN_DIR)
+       $(INSTALL) -m 755 $(INSTALL_OWNER) vtund $(DESTDIR)$(SBIN_DIR)
++      $(INSTALL) -m 755 $(INSTALL_OWNER) scripts/vtund.rc.debian \
++              $(DESTDIR)$(ETC_DIR)/init.d/S90vtun
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+
diff --git a/package/vtun/vtun-3.0.2-003-configure.patch b/package/vtun/vtun-3.0.2-003-configure.patch
new file mode 100644 (file)
index 0000000..7ddc043
--- /dev/null
@@ -0,0 +1,12 @@
+--- vtun-2.6/configure.dist    2004-03-11 10:39:10.000000000 -0600
++++ vtun-2.6/configure 2004-03-11 10:45:52.000000000 -0600
+@@ -2112,7 +2112,7 @@
+     echo $ac_n "checking "for blowfish.h"""... $ac_c" 1>&6
+ echo "configure:2114: checking "for blowfish.h"" >&5 
+     ac_hdr_found=no
+-    for p in $BLOWFISH_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include  /usr/include/crypto; do
++    for p in $BLOWFISH_HDR_DIR $SSL_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include  /usr/include/crypto; do
+       if test -n "$p"; then
+         dir="$p"
+       else
+
index 3e3397304c87b0496bc11a7744adf6cf4d7cae4b..bd7382086d524df019440ec0ca10044791744e14 100644 (file)
@@ -6,7 +6,8 @@
 # to enable that within busybox
 #
 #############################################################
-VTUN_VERSION:=2.6
+#Old version 2.6
+VTUN_VERSION:=3.0.2
 VTUN_SOURCE:=vtun-$(VTUN_VERSION).tar.gz
 VTUN_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/vtun/
 VTUN_DIR:=$(BUILD_DIR)/vtun-$(VTUN_VERSION)
@@ -21,11 +22,15 @@ vtun-source: $(DL_DIR)/$(VTUN_SOURCE)
 
 $(VTUN_DIR)/.unpacked: $(DL_DIR)/$(VTUN_SOURCE)
        $(VTUN_CAT) $(DL_DIR)/$(VTUN_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-       mv $(BUILD_DIR)/vtun $(VTUN_DIR)
-       toolchain/patch-kernel.sh $(VTUN_DIR) package/vtun/ vtun\*.patch
-       touch $(VTUN_DIR)/.unpacked
+       touch $@
 
-$(VTUN_DIR)/.configured: $(VTUN_DIR)/.unpacked
+$(VTUN_DIR)/.patched: $(VTUN_DIR)/.unpacked
+       toolchain/patch-kernel.sh $(VTUN_DIR) package/vtun/ vtun-$(VTUN_VERSION)\*.patch
+       touch $@
+
+
+
+$(VTUN_DIR)/.configured: $(VTUN_DIR)/.patched
        (cd $(VTUN_DIR); rm -rf config.cache; \
                $(TARGET_CONFIGURE_OPTS) \
                $(TARGET_CONFIGURE_ARGS) \
@@ -60,6 +65,10 @@ $(TARGET_DIR)/$(VTUN_TARGET_BINARY): $(VTUN_DIR)/$(VTUN_BINARY)
 
 vtun: uclibc zlib lzo openssl $(TARGET_DIR)/$(VTUN_TARGET_BINARY)
 
+vtun-unpacked: $(VTUN_DIR)/.unpacked
+
+vtun-patched: $(VTUN_DIR)/.patched
+
 vtun-clean:
        $(MAKE) DESTDIR=$(TARGET_DIR) -C $(VTUN_DIR) uninstall
        -$(MAKE) -C $(VTUN_DIR) clean
diff --git a/package/vtun/vtun.patch b/package/vtun/vtun.patch
deleted file mode 100644 (file)
index 00a1245..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-diff -urN vtun/Makefile.in vtun-2.6/Makefile.in
---- vtun/Makefile.in   2002-12-20 09:55:47.000000000 -0700
-+++ vtun-2.6/Makefile.in       2003-06-05 12:38:31.000000000 -0600
-@@ -28,7 +28,7 @@
- LEXFLAGS = -t 
- INSTALL = @INSTALL@
--INSTALL_OWNER = -o root -g 0
-+INSTALL_OWNER =
- prefix = @prefix@
- exec_prefix = @exec_prefix@
-@@ -86,15 +86,15 @@
- install_config: 
-       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(ETC_DIR)
--      if [ ! -f $(ETC_DIR)/vtund.conf ]; then \
--        $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); \
--      fi
-+      $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR);
-+      $(INSTALL) -m 600 $(INSTALL_OWNER) scripts/vtund-start.conf $(DESTDIR)$(ETC_DIR);
- install: vtund install_config install_man
--      $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(VAR_DIR)/run
-       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(STAT_DIR)
-       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(LOCK_DIR)
-       $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(SBIN_DIR)
-       $(INSTALL) -m 755 $(INSTALL_OWNER) vtund $(DESTDIR)$(SBIN_DIR)
-+      $(INSTALL) -m 755 $(INSTALL_OWNER) scripts/vtund.rc.debian \
-+              $(DESTDIR)$(ETC_DIR)/init.d/S90vtun
- # DO NOT DELETE THIS LINE -- make depend depends on it.
-diff -urN vtun/scripts/vtund.rc.debian vtun-2.6/scripts/vtund.rc.debian
---- vtun/scripts/vtund.rc.debian       2000-03-26 10:06:37.000000000 -0700
-+++ vtun-2.6/scripts/vtund.rc.debian   2003-06-05 12:38:46.000000000 -0600
-@@ -1,92 +1,48 @@
--#! /usr/bin/perl -w
-+#! /bin/sh
-+#
--### vtund-start
--###
--### script to start vtund as either a server or a client, according to
--### the config file /etc/vtund-start.conf
--###
--### Copyright 1999 Craig Sanders <cas@taz.net.au>
--###
--### Written for the Debian GNU/Linux distribution.  This script is free
--### software licensed under the terms of the GNU General Public License.
--
--$DAEMON="/usr/sbin/vtund" ;
--
--$do_what = shift ;
--$args="start|stop|reload|force-reload|restart" ;
--if ( $do_what !~ /^($args)$/i ) {
--    print "Usage: /etc/init.d/vtun {$args}\n" ;
--        exit 0 ;
--}
--
--$SSD="/sbin/start-stop-daemon" ;
--$SSDARGS="--verbose --exec $DAEMON" ;
--
--$sconf="/etc/vtund-start.conf" ;
--open(SCONF,"<$sconf") || die "couldn't open $sconf: $!\n" ;
--while (<SCONF>) {
--        chomp ;
--        s/#.*//;
--        s/^ +| +$//;
--        next if (/^$/) ;
--
--        @line = split ;
--        $host = shift(@line) ;
--        $server = shift(@line) ;
--        $args = "" ;
--        foreach (@line) { $args .= " $_" } ;
--
--        $host='' if ($host =~ /--server--/i ) ;
--
--        if ( $do_what eq 'start' ) {
--                &start($host,$server,$args) ;
--        } elsif ( $do_what eq 'stop' ) {
--                &stop($host,$server,$args) ;
--        } elsif ( $do_what eq 'restart' ) {
--                &stop($pidfile) ;
--                &start($host,$server,$args) ;
--        } elsif ( $do_what =~ /^(reload|force-reload)$/ ) {
--                &reload($host,$server) ;
--        }
--}
--close (SCONF);
--
--
--sub start {
--        my($host,$server,$args) = @_ ;
--    print "  Starting vtun " ;
--        if ($host eq '') {
--                print "server\n" ;
--        system "$SSD --start $SSDARGS -- $args -s -P $server" ;
--        } else {
--                print "client $host to $server\n" ;
--                $pidfile="/var/run/vtun.$host.$server" ;
--        system "$SSD --start $SSDARGS --pidfile $pidfile -- $args $host $server" ;
--        }
--} ;
--
--sub stop {
--        my($host,$server,$args) = @_ ;
--    print "  Stopping vtun " ;
--        if ($host eq '') {
--                print "server\n" ;
--        system "$SSD --stop $SSDARGS" ;
--        } else {
--                print "client $host to $server\n" ;
--                $pidfile="/var/run/vtun.$host.$server" ;
--        system "$SSD --stop $SSDARGS --pidfile $pidfile" ;
--        }
--} ;
--
--sub reload {
--        my($host,$server) = @_ ;
--    print "  Reloading vtun " ;
--        if ($host eq '') {
--                print "server\n" ;
--        system "$SSD --stop $SSDARGS --signal 1" ;
--        } else {
--                print "client $host to $server\n" ;
--                $pidfile="/var/run/vtun.$host.$server" ;
--        system "$SSD --stop $SSDARGS --signal 1 --pidfile $pidfile" ;
--        }
--}
-+PATH=/bin:/usr/bin:/sbin:/usr/sbin
-+DAEMON=/usr/sbin/vtund
-+CONFFILE=/etc/vtund-start.conf
-+PIDPREFIX=/var/run/vtund
-+  
-+test -f $DAEMON || exit 0
-+  
-+case "$1" in 
-+       start)
-+      # find all the defined tunnels
-+      egrep -v '^[:space:]*(#.*)?$' $CONFFILE | while true;
-+      do
-+          read i
-+          # no more lines available? done, then.
-+          if [ $? != 0 ] ; then break; fi
-+              SARGS=`echo $i|sed -ne 's/--server--\s*/-s -P /p'`;
-+              if [ -n "$SARGS" ];
-+              then
-+                 echo "Starting vtund server."
-+                  start-stop-daemon -S -x $DAEMON -- $SARGS;
-+              else
-+                  # split args into host and rest
-+                  HOST=`echo $i|cut -f 1 -d " "`;
-+                  TARGET=`echo $i|cut -f 2 -d " "`;
-+                  echo  "Starting vtund client $HOST to $TARGET.";
-+                  start-stop-daemon -S -x $DAEMON -- $i;
-+              fi
-+          done
-+              ;;
-+       stop) 
-+         echo "Stopping vtund.";
-+         start-stop-daemon -K -x vtund;
-+         ;;
-+
-+       restart|reload|force-reload) 
-+         $0 stop
-+         sleep 1;
-+         $0 start
-+         ;;
-+   *)
-+      echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
-+       exit 1
-+               ;;
-+esac
-+exit 0
---- vtun-2.6/configure.dist    2004-03-11 10:39:10.000000000 -0600
-+++ vtun-2.6/configure 2004-03-11 10:45:52.000000000 -0600
-@@ -2112,7 +2112,7 @@
-     echo $ac_n "checking "for blowfish.h"""... $ac_c" 1>&6
- echo "configure:2114: checking "for blowfish.h"" >&5 
-     ac_hdr_found=no
--    for p in $BLOWFISH_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include  /usr/include/crypto; do
-+    for p in $BLOWFISH_HDR_DIR $SSL_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include  /usr/include/crypto; do
-       if test -n "$p"; then
-         dir="$p"
-       else
diff --git a/package/vtun/vtund.rc.debian-2.6 b/package/vtun/vtund.rc.debian-2.6
new file mode 100644 (file)
index 0000000..eb8226e
--- /dev/null
@@ -0,0 +1,50 @@
+#! /bin/sh
+#
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/vtund
+CONFFILE=/etc/vtund-start.conf
+PIDPREFIX=/var/run/vtund
+  
+test -f $DAEMON || exit 0
+  
+case "$1" in 
+       start)
+      # find all the defined tunnels
+      egrep -v '^[:space:]*(#.*)?$' $CONFFILE | while true;
+      do
+          read i
+          # no more lines available? done, then.
+          if [ $? != 0 ] ; then break; fi
+              SARGS=`echo $i|sed -ne 's/--server--\s*/-s -P /p'`;
+              if [ -n "$SARGS" ];
+              then
+                 echo "Starting vtund server."
+                  start-stop-daemon -S -x $DAEMON -- $SARGS;
+              else
+                  # split args into host and rest
+                  HOST=`echo $i|cut -f 1 -d " "`;
+                  TARGET=`echo $i|cut -f 2 -d " "`;
+                  echo  "Starting vtund client $HOST to $TARGET.";
+                  start-stop-daemon -S -x $DAEMON -- $i;
+
+              fi
+          done
+              ;;
+       stop) 
+         echo "Stopping vtund.";
+         start-stop-daemon -K -x vtund;
+         ;;
+
+       restart|reload|force-reload) 
+          $0 stop
+          sleep 1;
+          $0 start
+          ;;
+   *)
+      echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
+       exit 1
+               ;;
+esac
+exit 0
+
diff --git a/package/vtun/vtund.rc.debian-3.0.2 b/package/vtun/vtund.rc.debian-3.0.2
new file mode 100644 (file)
index 0000000..5158663
--- /dev/null
@@ -0,0 +1,61 @@
+#! /bin/sh
+#
+# submitted by Morgon Kanter
+# 
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/vtund
+CONFFILE=/etc/vtund-start.conf
+PIDPREFIX=/var/run/vtund
+  
+test -f $DAEMON || exit 0
+  
+case "$1" in 
+       start)
+      # find all the defined tunnels
+      egrep -v '^[:space:]*(#.*)?$' $CONFFILE | while true;
+      do
+          read i
+          # no more lines available? done, then.
+          if [ $? != 0 ] ; then break; fi
+              SARGS=`echo $i|sed -ne 's/--server--\s*/-s -P /p'`;
+              if [ -n "$SARGS" ];
+              then
+                 echo "Starting vtund server."
+                  start-stop-daemon --start --exec $DAEMON --pidfile $PIDPREFIX.pid -- $SARGS;
+              else
+                  # split args into host and rest
+                  HOST=`echo $i|cut -f 1 -d " "`;
+                  TARGET=`echo $i|cut -f 2 -d " "`;
+                  echo  "Starting vtund client $HOST to $TARGET.";
+                  start-stop-daemon --start --exec $DAEMON --pidfile $PIDPREFIX.$HOST.pid -- $i;
+              fi
+          done
+              ;;
+       stop) 
+          echo "Stopping vtund.";
+          for i in $PIDPREFIX*;
+          do
+              start-stop-daemon --stop --pidfile $i; 
+              rm -f $i;
+          done
+               ;;
+       reload|force-reload)
+          echo "Reloading vtund.";
+          for i in $PIDPREFIX*;
+          do
+              start-stop-daemon --stop --signal 1 --pidfile $i; 
+          done
+              ;;
+       restart) 
+          $0 stop
+          sleep 1;
+          $0 start
+          ;;
+   *)
+      echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
+       exit 1
+               ;;
+esac
+exit 0