vpnc: fix musl compatibility
authorJo-Philipp Wich <[email protected]>
Wed, 17 Jun 2015 22:28:37 +0000 (00:28 +0200)
committerJo-Philipp Wich <[email protected]>
Thu, 3 Sep 2015 15:38:13 +0000 (17:38 +0200)
 - Add missing `sys/ttydefaults.h` include to `config.c`
 - Restrict usage of `error.h` to glibc and uclibc only
 - Avoid including `linux/if_tun.h` on non-glibc/uclibc to prevent
   musl kernel/libc header conflicts

Signed-off-by: Jo-Philipp Wich <[email protected]>
net/vpnc/Makefile
net/vpnc/patches/001-cross.patch
net/vpnc/patches/100-musl-compat.patch [new file with mode: 0644]

index 16a45a4b409c024ec13ad5f4b5f1388e1a6893d1..95995e10c71accc26fd30695490137acc6baa849 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=vpnc
 PKG_REV:=550
 PKG_VERSION:=0.5.3.r$(PKG_REV)
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://svn.unix-ag.uni-kl.de/vpnc/trunk/
index 94b382c3dd1b0d77e08cea1f70ce23d65d0e2844..33bcfee3b491135e90152f755dcd28c2372af024 100644 (file)
@@ -1,7 +1,7 @@
 --- a/Makefile
 +++ b/Makefile
 @@ -20,7 +20,7 @@
- # $Id$
+ # $Id: Makefile 539 2013-12-04 13:41:04Z Antonio Borneo $
  
  DESTDIR=
 -PREFIX=/usr/local
@@ -9,7 +9,7 @@
  ETCDIR=/etc/vpnc
  BINDIR=$(PREFIX)/bin
  SBINDIR=$(PREFIX)/sbin
-@@ -57,18 +57,15 @@
+@@ -57,18 +57,15 @@ OBJS = $(addsuffix .o,$(basename $(SRCS)
  CRYPTO_OBJS = $(addsuffix .o,$(basename $(CRYPTO_SRCS)))
  BINOBJS = $(addsuffix .o,$(BINS))
  BINSRCS = $(addsuffix .c,$(BINS))
@@ -31,7 +31,7 @@
  LIBS += -lnsl -lresolv -lsocket
  endif
  ifneq (,$(findstring Apple,$(shell $(CC) --version)))
-@@ -82,7 +79,7 @@
+@@ -82,7 +79,7 @@ vpnc : $(OBJS) vpnc.o
        $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
  
  vpnc.8 : vpnc.8.template makeman.pl vpnc
diff --git a/net/vpnc/patches/100-musl-compat.patch b/net/vpnc/patches/100-musl-compat.patch
new file mode 100644 (file)
index 0000000..1186428
--- /dev/null
@@ -0,0 +1,42 @@
+--- a/sysdep.h
++++ b/sysdep.h
+@@ -37,12 +37,14 @@ int tun_read(int fd, unsigned char *buf,
+ int tun_get_hwaddr(int fd, char *dev, uint8_t *hwaddr);
+ /***************************************************************************/
+-#if defined(__linux__) || defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ #include <error.h>
++#define HAVE_ERROR     1
++#endif
++#if defined(__linux__) || defined(__GLIBC__)
+ #define HAVE_VASPRINTF 1
+ #define HAVE_ASPRINTF  1
+-#define HAVE_ERROR     1
+ #define HAVE_UNSETENV  1
+ #define HAVE_SETENV    1
+ #endif
+--- a/sysdep.c
++++ b/sysdep.c
+@@ -59,7 +59,9 @@
+ #if defined(__DragonFly__)
+ #include <net/tun/if_tun.h>
+ #elif defined(__linux__)
+-#include <linux/if_tun.h>
++# if defined(__GLIBC__) || defined(__UCLIBC__)
++#  include <linux/if_tun.h>
++# endif
+ #elif defined(__APPLE__)
+ /* no header for tun */
+ #elif defined(__CYGWIN__)
+--- a/config.c
++++ b/config.c
+@@ -28,6 +28,7 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <errno.h>
++#include <sys/ttydefaults.h>
+ #include <sys/types.h>
+ #include <sys/utsname.h>
+ #include <sys/wait.h>