summaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-connectivity/vpnc
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2017-03-30 00:13:12 -0700
committerJoe MacDonald <joe_macdonald@mentor.com>2017-04-25 15:55:36 -0400
commit46cd79e49ecc8a13b93971fa3625d854e9e2ff0a (patch)
treec391f3fc9baeac25066c2afc61c2bffe37c081f1 /meta-networking/recipes-connectivity/vpnc
parent3b94d8533c2a23f7367358fab195cb5a7d72d9cd (diff)
downloadmeta-openembedded-46cd79e49ecc8a13b93971fa3625d854e9e2ff0a.tar.gz
vpnc: Update to build from github SRC_URI
Fix build for musl add packageconfig for crypto selection Fix build with externalsrc Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
Diffstat (limited to 'meta-networking/recipes-connectivity/vpnc')
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc/0001-search-for-log-help-in-build-dir.patch26
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc/0002-Fix-vpnc-install-for-cross-compile.patch (renamed from meta-networking/recipes-connectivity/vpnc/vpnc/vpnc-install.patch)20
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc/0003-error.h-is-specific-to-glibc-on-linux.patch30
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc/0004-Use-pkgconfig-instead-of-libgcrypt-config.patch30
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc/0005-include-sys-ttydefaults.h-for-CEOT-definition.patch30
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc/0006-sysdep-Add-header-include-sequence-to-adjust-for-mus.patch40
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc/0007-add-error-API-when-error.h-is-not-on-platform.patch66
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc/0008-include-sysdep.h-before-net-if_tun.h.patch36
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc/makeman.patch11
-rw-r--r--meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb41
10 files changed, 302 insertions, 28 deletions
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc/0001-search-for-log-help-in-build-dir.patch b/meta-networking/recipes-connectivity/vpnc/vpnc/0001-search-for-log-help-in-build-dir.patch
new file mode 100644
index 000000000..184c7943b
--- /dev/null
+++ b/meta-networking/recipes-connectivity/vpnc/vpnc/0001-search-for-log-help-in-build-dir.patch
@@ -0,0 +1,26 @@
1From 48e16e9ae7d8e4c42282bd82cbbd9a6d346a5c00 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sun, 2 Dec 2012 02:16:54 +0100
4Subject: [PATCH 1/8] search for log-help in build dir
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 makeman.pl | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/makeman.pl b/makeman.pl
12index cf241a1..2d73432 100755
13--- a/makeman.pl
14+++ b/makeman.pl
15@@ -30,7 +30,7 @@ my $vpnc = './vpnc';
16 # indenting lists (those originally starting with an asterisk). I hope
17 # this pays off when converting the manpage to HTML or such.
18
19-open my $LONGHELP, '-|', "$vpnc --long-help";
20+open my $LONGHELP, '-|', "cat ./long-help";
21 my $vpnc_options = '';
22 my $relative_indent = 0;
23 my $indent_needed = 0;
24--
252.12.1
26
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc/vpnc-install.patch b/meta-networking/recipes-connectivity/vpnc/vpnc/0002-Fix-vpnc-install-for-cross-compile.patch
index 3de65ec35..6f00d3b89 100644
--- a/meta-networking/recipes-connectivity/vpnc/vpnc/vpnc-install.patch
+++ b/meta-networking/recipes-connectivity/vpnc/vpnc/0002-Fix-vpnc-install-for-cross-compile.patch
@@ -1,6 +1,17 @@
1--- a/Makefile~ 2009-01-20 18:44:30.000000000 +0100 1From d565b4a5e0045f1e40e0e462920ed5b8faca9eec Mon Sep 17 00:00:00 2001
2+++ b/Makefile 2009-01-20 18:44:30.000000000 +0100 2From: Martin Jansa <Martin.Jansa@gmail.com>
3@@ -119,21 +119,21 @@ 3Date: Sun, 2 Dec 2012 02:16:54 +0100
4Subject: [PATCH 2/8] Fix vpnc install for cross compile
5
6---
7 Makefile | 22 +++++++++++-----------
8 1 file changed, 11 insertions(+), 11 deletions(-)
9
10diff --git a/Makefile b/Makefile
11index 69f5aca..a15782e 100644
12--- a/Makefile
13+++ b/Makefile
14@@ -133,21 +133,21 @@ install-common: all
4 else \ 15 else \
5 install vpnc-script $(DESTDIR)$(ETCDIR); \ 16 install vpnc-script $(DESTDIR)$(ETCDIR); \
6 fi 17 fi
@@ -33,3 +44,6 @@
33 44
34 uninstall : 45 uninstall :
35 rm -f $(DESTDIR)$(SBINDIR)/vpnc \ 46 rm -f $(DESTDIR)$(SBINDIR)/vpnc \
47--
482.12.1
49
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc/0003-error.h-is-specific-to-glibc-on-linux.patch b/meta-networking/recipes-connectivity/vpnc/vpnc/0003-error.h-is-specific-to-glibc-on-linux.patch
new file mode 100644
index 000000000..bb7730647
--- /dev/null
+++ b/meta-networking/recipes-connectivity/vpnc/vpnc/0003-error.h-is-specific-to-glibc-on-linux.patch
@@ -0,0 +1,30 @@
1From 6b49020893f999df56392b49b1a289cb96a113a1 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 29 Mar 2017 22:08:17 -0700
4Subject: [PATCH 3/8] error.h is specific to glibc on linux
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 sysdep.h | 5 +++--
9 1 file changed, 3 insertions(+), 2 deletions(-)
10
11diff --git a/sysdep.h b/sysdep.h
12index 137bf6d..6a323f0 100644
13--- a/sysdep.h
14+++ b/sysdep.h
15@@ -37,9 +37,10 @@ int tun_read(int fd, unsigned char *buf, int len);
16 int tun_get_hwaddr(int fd, char *dev, uint8_t *hwaddr);
17
18 /***************************************************************************/
19-#if defined(__linux__) || defined(__GLIBC__)
20+#if defined(__linux__)
21+#if defined(__GLIBC__)
22 #include <error.h>
23-
24+#endif
25 #define HAVE_VASPRINTF 1
26 #define HAVE_ASPRINTF 1
27 #define HAVE_ERROR 1
28--
292.12.1
30
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc/0004-Use-pkgconfig-instead-of-libgcrypt-config.patch b/meta-networking/recipes-connectivity/vpnc/vpnc/0004-Use-pkgconfig-instead-of-libgcrypt-config.patch
new file mode 100644
index 000000000..f70a13898
--- /dev/null
+++ b/meta-networking/recipes-connectivity/vpnc/vpnc/0004-Use-pkgconfig-instead-of-libgcrypt-config.patch
@@ -0,0 +1,30 @@
1From 4d1dd61c04f52a7c796debbdea5fc9139ffa271d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 29 Mar 2017 22:45:05 -0700
4Subject: [PATCH 4/8] Use pkgconfig instead of libgcrypt-config
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 Makefile | 4 ++--
9 1 file changed, 2 insertions(+), 2 deletions(-)
10
11diff --git a/Makefile b/Makefile
12index a15782e..b537046 100644
13--- a/Makefile
14+++ b/Makefile
15@@ -63,10 +63,10 @@ RELEASE_VERSION := $(shell cat VERSION)
16 CC ?= gcc
17 CFLAGS ?= -O3 -g
18 CFLAGS += -W -Wall -Wmissing-declarations -Wwrite-strings
19-CFLAGS += $(shell libgcrypt-config --cflags) $(CRYPTO_CFLAGS)
20+CFLAGS += $(shell pkg-config libgcrypt --cflags) $(CRYPTO_CFLAGS)
21 CPPFLAGS += -DVERSION=\"$(VERSION)\"
22 LDFLAGS ?= -g
23-LIBS += $(shell libgcrypt-config --libs) $(CRYPTO_LDADD)
24+LIBS += $(shell pkg-config libgcrypt --libs) $(CRYPTO_LDADD)
25
26 ifeq ($(shell uname -s), SunOS)
27 LIBS += -lnsl -lresolv -lsocket
28--
292.12.1
30
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc/0005-include-sys-ttydefaults.h-for-CEOT-definition.patch b/meta-networking/recipes-connectivity/vpnc/vpnc/0005-include-sys-ttydefaults.h-for-CEOT-definition.patch
new file mode 100644
index 000000000..01783f45b
--- /dev/null
+++ b/meta-networking/recipes-connectivity/vpnc/vpnc/0005-include-sys-ttydefaults.h-for-CEOT-definition.patch
@@ -0,0 +1,30 @@
1From 1947ea776dc38c3377702dd89bd229670f4d948d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 29 Mar 2017 23:06:52 -0700
4Subject: [PATCH 5/8] include sys/ttydefaults.h for CEOT definition
5
6Fixes
7
8config.c:146:25: error: use of undeclared identifier 'CEOT'
9 if (llen == 0 && c == CEOT)
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 config.c | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/config.c b/config.c
17index 804faa7..1883d12 100644
18--- a/config.c
19+++ b/config.c
20@@ -31,6 +31,7 @@
21 #include <sys/types.h>
22 #include <sys/utsname.h>
23 #include <sys/wait.h>
24+#include <sys/ttydefaults.h>
25
26 #include <gcrypt.h>
27
28--
292.12.1
30
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc/0006-sysdep-Add-header-include-sequence-to-adjust-for-mus.patch b/meta-networking/recipes-connectivity/vpnc/vpnc/0006-sysdep-Add-header-include-sequence-to-adjust-for-mus.patch
new file mode 100644
index 000000000..fa89df279
--- /dev/null
+++ b/meta-networking/recipes-connectivity/vpnc/vpnc/0006-sysdep-Add-header-include-sequence-to-adjust-for-mus.patch
@@ -0,0 +1,40 @@
1From 56768fc0c2cbd6abcf28c9805ab516db8a0548d4 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 29 Mar 2017 23:09:47 -0700
4Subject: [PATCH 6/8] sysdep: Add header include sequence to adjust for musl
5
6---
7 sysdep.h | 10 +++++++---
8 1 file changed, 7 insertions(+), 3 deletions(-)
9
10diff --git a/sysdep.h b/sysdep.h
11index 6a323f0..0122b95 100644
12--- a/sysdep.h
13+++ b/sysdep.h
14@@ -17,16 +17,20 @@
15 * __SKYOS__
16 *
17 */
18+/* hack to make sure kernel headers understand that libc (musl)
19+ * does define IFF_LOWER_UP et al.
20+ */
21+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
22
23 #include <sys/types.h>
24 #include <sys/socket.h>
25-#include <netinet/in.h>
26
27 #if !defined(__CYGWIN__)
28-#include <net/if.h>
29-#include <net/if_arp.h>
30+//#include <linux/if.h>
31+//#include <net/if_arp.h>
32 #include <netinet/if_ether.h>
33 #endif
34+#include <netinet/in.h>
35
36 #include "config.h"
37
38--
392.12.1
40
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc/0007-add-error-API-when-error.h-is-not-on-platform.patch b/meta-networking/recipes-connectivity/vpnc/vpnc/0007-add-error-API-when-error.h-is-not-on-platform.patch
new file mode 100644
index 000000000..de67b47a4
--- /dev/null
+++ b/meta-networking/recipes-connectivity/vpnc/vpnc/0007-add-error-API-when-error.h-is-not-on-platform.patch
@@ -0,0 +1,66 @@
1From b6a027fe4da6f66552b533f1314e5005b16c5455 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 29 Mar 2017 23:52:36 -0700
4Subject: [PATCH 7/8] add error() API when error.h is not on platform
5
6sign-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 sysdep.c | 24 ++++++++++++++++++++++++
9 sysdep.h | 2 ++
10 2 files changed, 26 insertions(+)
11
12diff --git a/sysdep.c b/sysdep.c
13index d8f181d..2518ec1 100644
14--- a/sysdep.c
15+++ b/sysdep.c
16@@ -17,6 +17,7 @@
17 GNU General Public License for more details.
18 */
19
20+#define _GNU_SOURCE
21 #include <unistd.h>
22 #include <fcntl.h>
23 #include <stdlib.h>
24@@ -794,3 +795,26 @@ int setenv(const char *name, const char *value, int overwrite)
25 return ret;
26 }
27 #endif
28+
29+#ifndef _ERROR_H_
30+#define _ERROR_H_
31+#include <stdarg.h>
32+#include <stdio.h>
33+#include <errno.h>
34+
35+void error(int status, int errnum, const char* format, ...)
36+{
37+ va_list ap;
38+
39+ fflush(stdout);
40+ fprintf(stderr, "%s: ", program_invocation_name);
41+ va_start(ap, format);
42+ vfprintf(stderr, format, ap);
43+ va_end(ap);
44+ if (errnum)
45+ fprintf(stderr, ":%d", errnum);
46+ if (status)
47+ exit(status);
48+}
49+#endif /* _ERROR_H_ */
50+
51diff --git a/sysdep.h b/sysdep.h
52index 0122b95..4e60064 100644
53--- a/sysdep.h
54+++ b/sysdep.h
55@@ -44,6 +44,8 @@ int tun_get_hwaddr(int fd, char *dev, uint8_t *hwaddr);
56 #if defined(__linux__)
57 #if defined(__GLIBC__)
58 #include <error.h>
59+#else
60+void error(int status, int errnum, const char* format, ...);
61 #endif
62 #define HAVE_VASPRINTF 1
63 #define HAVE_ASPRINTF 1
64--
652.12.1
66
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc/0008-include-sysdep.h-before-net-if_tun.h.patch b/meta-networking/recipes-connectivity/vpnc/vpnc/0008-include-sysdep.h-before-net-if_tun.h.patch
new file mode 100644
index 000000000..62ffdb7c9
--- /dev/null
+++ b/meta-networking/recipes-connectivity/vpnc/vpnc/0008-include-sysdep.h-before-net-if_tun.h.patch
@@ -0,0 +1,36 @@
1From 7f01847d14a1a3af50f49499743b0551ddef1311 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 29 Mar 2017 23:54:01 -0700
4Subject: [PATCH 8/8] include sysdep.h before net/if_tun.h
5
6Fixes duplicate defines in header errors
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 sysdep.c | 3 ++-
11 1 file changed, 2 insertions(+), 1 deletion(-)
12
13diff --git a/sysdep.c b/sysdep.c
14index 2518ec1..5624ef1 100644
15--- a/sysdep.c
16+++ b/sysdep.c
17@@ -57,6 +57,8 @@
18 #include <sys/cygwin.h>
19 #endif
20
21+#include "sysdep.h"
22+
23 #if defined(__DragonFly__)
24 #include <net/tun/if_tun.h>
25 #elif defined(__linux__)
26@@ -69,7 +71,6 @@
27 #include <net/if_tun.h>
28 #endif
29
30-#include "sysdep.h"
31
32 #if !defined(HAVE_VASPRINTF) || !defined(HAVE_ASPRINTF) || !defined(HAVE_ERROR)
33 #include <stdarg.h>
34--
352.12.1
36
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc/makeman.patch b/meta-networking/recipes-connectivity/vpnc/vpnc/makeman.patch
deleted file mode 100644
index f394e6abd..000000000
--- a/meta-networking/recipes-connectivity/vpnc/vpnc/makeman.patch
+++ /dev/null
@@ -1,11 +0,0 @@
1--- vpnc-0.5.1/makeman.pl.old 2008-03-16 02:17:59.000000000 -0500
2+++ vpnc-0.5.1/makeman.pl 2008-03-16 02:29:34.000000000 -0500
3@@ -29,7 +29,7 @@ my $vpnc = './vpnc';
4 # indenting lists (those originally starting with an asterisk). I hope
5 # this pays off when converting the manpage to HTML or such.
6
7-open my $LONGHELP, '-|', "$vpnc --long-help";
8+open my $LONGHELP, '-|', "cat ../long-help";
9 my $vpnc_options = '';
10 my $relative_indent = 0;
11 my $indent_needed = 0;
diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb b/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
index 1aff0458d..6f92acd06 100644
--- a/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
+++ b/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
@@ -4,17 +4,39 @@ AUTHOR = "Maurice Massar vpnc@unix-ag.uni-kl.de"
4SECTION = "net" 4SECTION = "net"
5LICENSE = "GPL-2.0+" 5LICENSE = "GPL-2.0+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=173b74cb8ac640a9992c03f3bce22a33" 6LIC_FILES_CHKSUM = "file://COPYING;md5=173b74cb8ac640a9992c03f3bce22a33"
7DEPENDS = "libgcrypt"
8 7
9inherit perlnative 8DEPENDS += "libgcrypt"
10 9
11EXTRA_OEMAKE = "-e MAKEFLAGS=" 10PV .= "r550-2jnpr1"
12CFLAGS_append = ' -DVERSION=\\"${PV}\\"' 11SRCREV = "b1243d29e0c00312ead038b04a2cf5e2fa31d740"
13LDFLAGS_append = " -lgcrypt -lgpg-error" 12SRC_URI = "git://github.com/ndpgroup/vpnc \
13 file://long-help \
14 file://default.conf \
15 file://0001-search-for-log-help-in-build-dir.patch \
16 file://0002-Fix-vpnc-install-for-cross-compile.patch \
17 file://0003-error.h-is-specific-to-glibc-on-linux.patch \
18 file://0004-Use-pkgconfig-instead-of-libgcrypt-config.patch \
19 file://0005-include-sys-ttydefaults.h-for-CEOT-definition.patch \
20 file://0006-sysdep-Add-header-include-sequence-to-adjust-for-mus.patch \
21 file://0007-add-error-API-when-error.h-is-not-on-platform.patch \
22 file://0008-include-sysdep.h-before-net-if_tun.h.patch \
23 "
24
25PACKAGECONFIG ?= "gnutls"
26
27PACKAGECONFIG[gnutls] = ",,gnutls"
28PACKAGECONFIG[openssl] = ",,openssl"
29
30S = "${WORKDIR}/git"
31
32inherit perlnative pkgconfig
33
34#EXTRA_OEMAKE = "-e MAKEFLAGS="
14 35
15do_configure_append () { 36do_configure_append () {
16 # Make sure we use our nativeperl wrapper 37 # Make sure we use our nativeperl wrapper
17 sed -i "1s:#!.*:#!/usr/bin/env nativeperl:" ${S}/*.pl 38 sed -i "1s:#!.*:#!/usr/bin/env nativeperl:" ${S}/*.pl
39 cp ${WORKDIR}/long-help ${S}
18} 40}
19 41
20do_install () { 42do_install () {
@@ -34,12 +56,3 @@ vpnc_sysroot_preprocess () {
34CONFFILES_${PN} = "${sysconfdir}/vpnc/default.conf" 56CONFFILES_${PN} = "${sysconfdir}/vpnc/default.conf"
35RDEPENDS_${PN} = "perl-module-io-file" 57RDEPENDS_${PN} = "perl-module-io-file"
36RRECOMMENDS_${PN} = "kernel-module-tun" 58RRECOMMENDS_${PN} = "kernel-module-tun"
37
38SRC_URI = "http://www.unix-ag.uni-kl.de/~massar/vpnc/vpnc-${PV}.tar.gz \
39 file://makeman.patch \
40 file://vpnc-install.patch \
41 file://long-help \
42 file://default.conf"
43
44SRC_URI[md5sum] = "4378f9551d5b077e1770bbe09995afb3"
45SRC_URI[sha256sum] = "46cea3bd02f207c62c7c6f2f22133382602baeda1dc320747809e94881414884"