diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-12-17 04:11:34 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-01-09 02:21:44 +0300 |
commit | 1a4b7ee28bf7413af6513fb45ad0d0736048f866 (patch) | |
tree | 79f6d8ea698cab8f2eaf4f54b793d2ca7a1451ce /meta-openembedded/meta-networking/recipes-connectivity | |
parent | 5b9ede0403237c7dace972affa65cf64a1aadd0e (diff) | |
download | openbmc-1a4b7ee28bf7413af6513fb45ad0d0736048f866.tar.xz |
reset upstream subtrees to yocto 2.6
Reset the following subtrees on thud HEAD:
poky: 87e3a9739d
meta-openembedded: 6094ae18c8
meta-security: 31dc4e7532
meta-raspberrypi: a48743dc36
meta-xilinx: c42016e2e6
Also re-apply backports that didn't make it into thud:
poky:
17726d0 systemd-systemctl-native: handle Install wildcards
meta-openembedded:
4321a5d libtinyxml2: update to 7.0.1
042f0a3 libcereal: Add native and nativesdk classes
e23284f libcereal: Allow empty package
030e8d4 rsyslog: curl-less build with fmhttp PACKAGECONFIG
179a1b9 gtest: update to 1.8.1
Squashed OpenBMC subtree compatibility updates:
meta-aspeed:
Brad Bishop (1):
aspeed: add yocto 2.6 compatibility
meta-ibm:
Brad Bishop (1):
ibm: prepare for yocto 2.6
meta-ingrasys:
Brad Bishop (1):
ingrasys: set layer compatibility to yocto 2.6
meta-openpower:
Brad Bishop (1):
openpower: set layer compatibility to yocto 2.6
meta-phosphor:
Brad Bishop (3):
phosphor: set layer compatibility to thud
phosphor: libgpg-error: drop patches
phosphor: react to fitimage artifact rename
Ed Tanous (4):
Dropbear: upgrade options for latest upgrade
yocto2.6: update openssl options
busybox: remove upstream watchdog patch
systemd: Rebase CONFIG_CGROUP_BPF patch
Change-Id: I7b1fe71cca880d0372a82d94b5fd785323e3a9e7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-networking/recipes-connectivity')
67 files changed, 3067 insertions, 640 deletions
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch new file mode 100644 index 0000000000..269174b2f6 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch @@ -0,0 +1,31 @@ +From 77db892cdee265e971270c06ca1ffbaeea6449a3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Tue, 26 Jun 2018 00:27:40 +0200 +Subject: [PATCH] Search for cython3 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 727089d1..6b565cdc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -58,7 +58,7 @@ AC_SUBST([PYGOBJECT_LIBS]) + + AC_ARG_VAR([CYTHONEXEC], [Cython compiler]) + if test "x$CYTHONEXEC" = "x"; then +- AC_PATH_PROG([CYTHONEXEC],[cython]) ++ AC_PATH_PROG([CYTHONEXEC],[cython3]) + fi + AC_SUBST([CYTHONEXEC]) + AC_MSG_CHECKING([for cython executable]) +-- +2.14.3 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb new file mode 100644 index 0000000000..947db78360 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "bluez5 python3-pygobject python3-cython-native python3-setuptools-native intltool-native" + +inherit autotools systemd gsettings python3native gtk-icon-cache + +SRC_URI = " \ + git://github.com/blueman-project/blueman.git \ + file://0001-Search-for-cython3.patch \ +" +SRCREV = "c4a03417e81e21543d4568e8e7f7de307582eb50" +PV = "2.0.5+git${SRCPV}" +S = "${WORKDIR}/git" + +EXTRA_OECONF = " \ + --disable-runtime-deps-check \ + --disable-schemas-compile \ +" + +SYSTEMD_SERVICE_${PN} = "${BPN}-mechanism.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" + +RRECOMENDS_${PN} += "adwaita-icon-theme" +RDEPENDS_${PN} += " \ + python3-dbus \ + packagegroup-tools-bluetooth \ +" + +PACKAGECONFIG[thunar] = "--enable-thunar-sendto,--disable-thunar-sendto,,thunar" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/Thunar \ + ${systemd_user_unitdir} \ + ${exec_prefix}${systemd_system_unitdir} \ + ${PYTHON_SITEPACKAGES_DIR} \ +" + +FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/_blueman.a" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-Unittest-Link-librt-and-libm-using-l-option.patch b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-Unittest-Link-librt-and-libm-using-l-option.patch new file mode 100644 index 0000000000..eecbc14682 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-Unittest-Link-librt-and-libm-using-l-option.patch @@ -0,0 +1,40 @@ +From 21e9a4bb214648ffd43c66b535fbf096bfcc9f4f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 24 Jun 2018 00:04:37 -0700 +Subject: [PATCH] Unittest: Link librt and libm using -l option + +cmake'ry forces full path to .so files when found using +find_package and since we have proper sysrooted toolchain +-lm and -lrt is all we need + +Upstream-Status: Inappropriate [Cross compile specific] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + unittest/CMakeLists.txt | 10 ++-------- + 1 file changed, 2 insertions(+), 8 deletions(-) + +diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt +index c4cdf229..e1b63caf 100644 +--- a/unittest/CMakeLists.txt ++++ b/unittest/CMakeLists.txt +@@ -57,14 +57,8 @@ elseif (WIN32) + else() + set(CHECK_LIBRARIES "${CHECK_INSTALL_DIR}/lib/libcheck.a") + endif() +-find_package(LibM) +-if (LIBM_FOUND) +- set(CHECK_LIBRARIES "${CHECK_LIBRARIES};LIBM::LIBM") +-endif() +-find_package(LibRt) +-if (LIBRT_FOUND) +- set(CHECK_LIBRARIES "${CHECK_LIBRARIES};LIBRT::LIBRT") +-endif() ++set(CHECK_LIBRARIES "${CHECK_LIBRARIES};-lm") ++set(CHECK_LIBRARIES "${CHECK_LIBRARIES};-lrt") + + # Build the C unit tests + add_library(shared-c-unit-tests STATIC shared.c) +-- +2.18.0 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch new file mode 100644 index 0000000000..8653302130 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch @@ -0,0 +1,26 @@ +From 59f65235a7a690f50d1686e9977908c053697d8c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 28 Aug 2018 22:59:13 -0700 +Subject: [PATCH] undefine macro before redefining + +Fixes +src/main.c:89:9: error: 'printf' macro redefined [-Werror,-Wmacro-redefined] + +Upstream-Stats: Submitted [https://github.com/civetweb/civetweb/pull/649] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/main.c b/src/main.c +index bbcb0aec..01191a3c 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -86,6 +86,7 @@ + + #include "civetweb.h" + ++#undef printf + #define printf \ + DO_NOT_USE_THIS_FUNCTION__USE_fprintf /* Required for unit testing */ + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb new file mode 100644 index 0000000000..d681f7f30c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb @@ -0,0 +1,43 @@ +SUMMARY = "Civetweb embedded web server" +HOMEPAGE = "https://github.com/civetweb/civetweb" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f28fdcba0dda735eed62bac6a397562" + +SRCREV = "19f31ba8dd8443e86c7028a4b4c37f4b299aa68c" +PV = "1.10+git${SRCPV}" +SRC_URI = "git://github.com/civetweb/civetweb.git \ + file://0001-Unittest-Link-librt-and-libm-using-l-option.patch \ + file://0001-undefine-macro-before-redefining.patch \ + " + +S = "${WORKDIR}/git" + +# civetweb supports building with make or cmake (although cmake lacks few features) +inherit cmake + +# Disable Lua and Duktape because they do not compile from CMake (as of v1.8, v1.9 and v1.10). +# Disable ASAN as it is included only in Debug build. +EXTRA_OECMAKE = " \ + -DBUILD_SHARED_LIBS=ON \ + -DCIVETWEB_ENABLE_DUKTAPE=OFF \ + -DCIVETWEB_ENABLE_LUA=OFF \ + -DCIVETWEB_ENABLE_ASAN=OFF \ + -DCIVETWEB_BUILD_TESTING=OFF \ +" + +# Building with ninja fails on missing third_party/lib/libcheck.a (which +# should come from external CMake project) +OECMAKE_GENERATOR = "Unix Makefiles" + +PACKAGECONFIG ??= "caching ipv6 server ssl websockets" +PACKAGECONFIG[caching] = "-DCIVETWEB_DISABLE_CACHING=OFF,-DCIVETWEB_DISABLE_CACHING=ON," +PACKAGECONFIG[cgi] = "-DCIVETWEB_DISABLE_CGI=OFF,-DCIVETWEB_DISABLE_CGI=ON," +PACKAGECONFIG[cpp] = "-DCIVETWEB_ENABLE_CXX=ON,-DCIVETWEB_ENABLE_CXX=OFF," +PACKAGECONFIG[debug] = "-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=ON,-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=OFF," +PACKAGECONFIG[ipv6] = "-DCIVETWEB_ENABLE_IPV6=ON,-DCIVETWEB_ENABLE_IPV6=OFF," +PACKAGECONFIG[server] = "-DCIVETWEB_INSTALL_EXECUTABLE=ON,-DCIVETWEB_INSTALL_EXECUTABLE=OFF," +PACKAGECONFIG[ssl] = "-DCIVETWEB_ENABLE_SSL=ON -DCIVETWEB_SSL_OPENSSL_API_1_1=OFF -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=OFF,-DCIVETWEB_ENABLE_SSL=OFF,openssl (=1.0.2%)," +PACKAGECONFIG[websockets] = "-DCIVETWEB_ENABLE_WEBSOCKETS=ON,-DCIVETWEB_ENABLE_WEBSOCKETS=OFF," + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb b/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb index 82a297b33e..d5d2ab68c6 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb @@ -4,7 +4,10 @@ SECTION = "net" LICENSE = "copyleft-next-0.3.0" LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe" -DEPENDS = "python-m2crypto-native python-typing-native python-native libgcrypt libnl openssl" +DEPENDS = "python-m2crypto-native python-typing-native python-native libnl \ + ${@oe.utils.conditional("DEFAULT_CRYPT", "gcrypt", "libgcrypt", "", d)} \ + ${@oe.utils.conditional("DEFAULT_CRYPT", "openssl", "openssl10", "", d)} \ + " SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \ file://do-not-run-ldconfig-if-destdir-is-set.patch \ @@ -18,10 +21,15 @@ SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \ SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a" SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf" -inherit python-dir pythonnative +inherit python-dir pythonnative siteinfo + +# "gcrypt" or "openssl" +DEFAULT_CRYPT ??= "gcrypt" + # Recursive make problem -EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg'" -EXTRA_OEMAKE_append = " USE_OPENSSL=1" +EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg' \ + UDEV_RULE_DIR=${nonarch_libdir}/udev/rules.d/" +EXTRA_OEMAKE_append = " ${@oe.utils.conditional("DEFAULT_CRYPT", "openssl", "USE_OPENSSL=1", "", d)}" TARGET_BITS = "${SITEINFO_BITS}" export TARGET_BITS diff --git a/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb index ec35175a08..42ffb17a1f 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f9ce51a65dd738dc1ae631d8b21c40e0" PARALLEL_MAKE = "" -DEPENDS = "libpcap libpcre libdnet" +DEPENDS = "libpcap libpcre libdnet bison-native" SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \ file://disable-run-test-program-while-cross-compiling.patch \ diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch new file mode 100644 index 0000000000..9e1f5b2efe --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch @@ -0,0 +1,44 @@ +From fecf974b63f72eeb12d3b43522e948ca2bc704d4 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Thu, 11 Oct 2018 09:45:52 +0800 +Subject: [PATCH] freeradius: correct version number of libssl defect + +Upstream-Status: Backport [https://github.com/FreeRADIUS/freeradius-server + /commit/ad039347beca4ded297813a1da6eabb61fcf2ddd] + +upstream have refactored this part code into +src/lib/tls/base.c, and problem also have fixed +by commit ad039347beca + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + src/main/tls.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/main/tls.c b/src/main/tls.c +index acbfe79..d9c91f1 100644 +--- a/src/main/tls.c ++++ b/src/main/tls.c +@@ -72,15 +72,15 @@ typedef struct libssl_defect { + static libssl_defect_t libssl_defects[] = + { + { +- .low = 0x01010101f, /* 1.1.0a */ +- .high = 0x01010101f, /* 1.1.0a */ ++ .low = 0x01010001f, /* 1.1.0a */ ++ .high = 0x01010001f, /* 1.1.0a */ + .id = "CVE-2016-6309", + .name = "OCSP status request extension", + .comment = "For more information see https://www.openssl.org/news/secadv/20160926.txt" + }, + { +- .low = 0x01010100f, /* 1.1.0 */ +- .high = 0x01010100f, /* 1.1.0 */ ++ .low = 0x010100000f, /* 1.1.0 */ ++ .high = 0x01010000f, /* 1.1.0 */ + .id = "CVE-2016-6304", + .name = "OCSP status request extension", + .comment = "For more information see https://www.openssl.org/news/secadv/20160922.txt" +-- +2.7.4 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch index 30497a6029..38e7c36227 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch @@ -1,3 +1,6 @@ +From 0780b7053fb0d33d721aa70ab2ecd75299e5ba31 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Tue, 24 Jul 2018 15:03:39 +0800 Subject: [PATCH] configure.ac: allow cross-compilation The checking OpenSSL library and header version consistency will @@ -8,17 +11,20 @@ Upstream-Status: Inappropriate[embedded specific] Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Yi Zhao <yi.zhao@windriver.com> + +update to new version 3.0.17 to fix patch warning +Signed-off-by: Changqing Li <changqing.li@windriver.com> --- src/modules/rlm_krb5/configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/rlm_krb5/configure.ac b/src/modules/rlm_krb5/configure.ac -index eb43534..113a079 100644 +index efc9f29..98a97e4 100644 --- a/src/modules/rlm_krb5/configure.ac +++ b/src/modules/rlm_krb5/configure.ac @@ -137,7 +137,8 @@ if test x$with_[]modname != xno; then FR_SMART_CHECK_LIB(krb5, krb5_is_thread_safe) - if test "x$ac_cv_lib_krb5_krb5_is_thread_safe" == xyes; then + if test "x$ac_cv_lib_krb5_krb5_is_thread_safe" = xyes; then AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <krb5.h>]], [[return krb5_is_thread_safe() ? 0 : 1]])], - [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])]) + [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])], @@ -27,5 +33,5 @@ index eb43534..113a079 100644 else krb5threadsafe="" -- -2.10.2 +2.7.4 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch index d29b2ac39d..638d950765 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch @@ -1,32 +1,33 @@ -From d8e251ef97869ab2c1c82bd374016f402083997c Mon Sep 17 00:00:00 2001 -From: Jorge Pereira <jpereiran@gmail.com> -Date: Mon, 7 Dec 2015 16:51:07 -0200 -Subject: [PATCH] Fixing issues related to m4 include path +From 69cb6d4bb5dd56a48695c0581a7d853e427b0ea3 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Tue, 24 Jul 2018 14:54:41 +0800 +Subject: [PATCH] freeradius: Fixing issues related to m4 include path Upstream-Status: Submitted [1] [1]: https://github.com/FreeRADIUS/freeradius-server/pull/1428 Submmited by: Jorge Pereira <jpereiran@gmail.com> + +Update to version 3.0.17 + +Signed-off-by: Changqing Li <changqing.li@windriver.com> --- - src/modules/rlm_example/config.h.in | 39 ++-------------------- - src/modules/rlm_ldap/configure | 2 +- - src/modules/rlm_pam/config.h.in | 3 ++ - src/modules/rlm_perl/config.h.in | 3 ++ - src/modules/rlm_perl/configure.ac | 2 +- - src/modules/rlm_radutmp/config.h.in | 3 ++ - src/modules/rlm_ruby/configure | 1 + - src/modules/rlm_ruby/configure.ac | 9 ++--- - src/modules/rlm_smsotp/config.h.in | 3 ++ - .../rlm_sql/drivers/rlm_sql_mysql/config.h.in | 3 ++ - src/modules/rlm_unix/config.h.in | 6 ++++ - 11 files changed, 32 insertions(+), 42 deletions(-) + src/modules/rlm_example/config.h.in | 35 +++-------------------------------- + src/modules/rlm_pam/config.h.in | 3 +++ + src/modules/rlm_perl/config.h.in | 3 +++ + src/modules/rlm_perl/configure.ac | 2 +- + src/modules/rlm_radutmp/config.h.in | 3 +++ + src/modules/rlm_ruby/configure.ac | 8 ++++---- + src/modules/rlm_smsotp/config.h.in | 3 +++ + src/modules/rlm_unix/config.h.in | 3 +++ + 8 files changed, 23 insertions(+), 37 deletions(-) diff --git a/src/modules/rlm_example/config.h.in b/src/modules/rlm_example/config.h.in -index 2a81ef5..f80de9c 100644 +index 2a81ef5..4dbb8f4 100644 --- a/src/modules/rlm_example/config.h.in +++ b/src/modules/rlm_example/config.h.in -@@ -1,38 +1,5 @@ +@@ -1,37 +1,5 @@ /* config.h.in. Generated from configure.ac by autoheader. */ -/* Define to 1 if you have the <inttypes.h> header file. */ @@ -61,11 +62,10 @@ index 2a81ef5..f80de9c 100644 - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H -- + /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT - -@@ -45,8 +12,8 @@ +@@ -45,6 +13,9 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME @@ -74,22 +74,7 @@ index 2a81ef5..f80de9c 100644 + /* Define to the version of this package. */ #undef PACKAGE_VERSION -- --/* Define to 1 if you have the ANSI C header files. */ --#undef STDC_HEADERS -diff --git a/src/modules/rlm_ldap/configure b/src/modules/rlm_ldap/configure -index e0c15d9..cdf96d5 100755 ---- a/src/modules/rlm_ldap/configure -+++ b/src/modules/rlm_ldap/configure -@@ -3992,7 +3992,7 @@ smart_prefix= - $as_echo "#define WITH_SASL 1" >>confdefs.h - - SASL=sasl.c -- fi -+ fi - fi - - targetname=rlm_ldap + diff --git a/src/modules/rlm_pam/config.h.in b/src/modules/rlm_pam/config.h.in index 32ef6ff..1ad20c5 100644 --- a/src/modules/rlm_pam/config.h.in @@ -118,7 +103,7 @@ index 989ed53..f80de9c 100644 /* Define to the version of this package. */ #undef PACKAGE_VERSION diff --git a/src/modules/rlm_perl/configure.ac b/src/modules/rlm_perl/configure.ac -index 44c5fc9..6b2a043 100644 +index 4b3ff42..69c79cb 100644 --- a/src/modules/rlm_perl/configure.ac +++ b/src/modules/rlm_perl/configure.ac @@ -3,7 +3,7 @@ AC_INIT(rlm_perl.c) @@ -144,23 +129,11 @@ index 9a883cc..750b434 100644 /* Define to the version of this package. */ #undef PACKAGE_VERSION -diff --git a/src/modules/rlm_ruby/configure b/src/modules/rlm_ruby/configure -index 15868ab..c728af2 100755 ---- a/src/modules/rlm_ruby/configure -+++ b/src/modules/rlm_ruby/configure -@@ -1875,6 +1875,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -+ - # =========================================================================== - # http://www.gnu.org/software/autoconf-archive/ax_compare_version.html - # =========================================================================== diff --git a/src/modules/rlm_ruby/configure.ac b/src/modules/rlm_ruby/configure.ac -index 9306382..f1c8118 100644 +index 9306382..ae86a14 100644 --- a/src/modules/rlm_ruby/configure.ac +++ b/src/modules/rlm_ruby/configure.ac -@@ -3,15 +3,16 @@ AC_INIT(rlm_ruby.c) +@@ -3,15 +3,15 @@ AC_INIT(rlm_ruby.c) AC_REVISION($Revision: 1.9 $) AC_DEFUN(modname,[rlm_ruby]) @@ -174,7 +147,6 @@ index 9306382..f1c8118 100644 -m4_include([ax_compare_version.m4]) -m4_include([ax_prog_ruby_version.m4]) -m4_include([ax_ruby_devel.m4]) -+ +m4_include([m4/ax_compare_version.m4]) +m4_include([m4/ax_prog_ruby_version.m4]) +m4_include([m4/ax_ruby_devel.m4]) @@ -195,33 +167,11 @@ index 5feaf91..9e69f85 100644 /* Define to the version of this package. */ #undef PACKAGE_VERSION -diff --git a/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in b/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in -index e03d1a9..6262c48 100644 ---- a/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in -+++ b/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in -@@ -18,5 +18,8 @@ - /* Define to the one symbol short name of this package. */ - #undef PACKAGE_TARNAME - -+/* Define to the home page for this package. */ -+#undef PACKAGE_URL -+ - /* Define to the version of this package. */ - #undef PACKAGE_VERSION diff --git a/src/modules/rlm_unix/config.h.in b/src/modules/rlm_unix/config.h.in -index dcb9aa2..70b4680 100644 +index dcb9aa2..16107b8 100644 --- a/src/modules/rlm_unix/config.h.in +++ b/src/modules/rlm_unix/config.h.in -@@ -1,5 +1,8 @@ - /* config.h.in. Generated from configure.ac by autoheader. */ - -+/* Define to 1 if you have the `getpwnam' function. */ -+#undef HAVE_GETPWNAM -+ - /* Define to 1 if you have the `getspnam' function. */ - #undef HAVE_GETSPNAM - -@@ -54,6 +57,9 @@ +@@ -54,6 +54,9 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME @@ -232,5 +182,5 @@ index dcb9aa2..70b4680 100644 #undef PACKAGE_VERSION -- -2.3.5 +2.7.4 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.15.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb index 4155a4059e..c17d56deaf 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.15.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb @@ -29,9 +29,10 @@ SRC_URI = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${PV}.tar.b file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \ file://radiusd.service \ file://radiusd-volatiles.conf \ + file://0001-freeradius-correct-version-number-of-libssl-defect.patch \ " -SRC_URI[md5sum] = "0c81a4464ccf1d04f7ef1218a029d37a" -SRC_URI[sha256sum] = "23267d8505e7b2909f5bdbf3938ca077c1fe122290dc969304d4f3b594f7e3ba" +SRC_URI[md5sum] = "1f4ad38f32101a7d50d818afa6f17339" +SRC_URI[sha256sum] = "3f03404b6e4a4f410e1f15ea2ababfec7f8a7ae8a49836d8a0c137436d913b96" PARALLEL_MAKE = "" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb index 190cd5f142..a27dbae2e6 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb @@ -4,7 +4,7 @@ rexec, rlogin, rlogind, rsh, rshd, syslog, syslogd, talk, \ talkd, telnet, telnetd, tftp, tftpd, and uucpd." HOMEPAGE = "http://www.gnu.org/software/inetutils" SECTION = "net" -DEPENDS = "ncurses netbase readline" +DEPENDS = "ncurses netbase readline virtual/crypt" LICENSE = "GPLv3" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch new file mode 100644 index 0000000000..fb16ecbf99 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch @@ -0,0 +1,89 @@ +From 8ea2ee451a1af7c5b5c8f4b36c1f77d44442064d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 7 Sep 2018 13:02:35 -0700 +Subject: [PATCH] Fix error: call of overloaded distance is ambiguous +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The boost::iterators::distance function template is an adapted version +of std::distance for the Boost iterator traversal in 2.68 it has started +to fail with argument dependent lookup and compiler is erroring out + +with + +error: call of overloaded ‘distance' + +boost implementation of distance is protected against being found by ADL + +The way function is called in libdhcp means it will be found via ADL and +all namespaces will be considered which is providing problematic since +its getting it from both std:: and boost:: namespaces + +so let it not rely on ADL by qualifying then calls with std:: namespace + +Upstream-Status: Submitted [https://github.com/isc-projects/kea/pull/103] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/lib/dhcp/libdhcp++.cc | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/lib/dhcp/libdhcp++.cc b/src/lib/dhcp/libdhcp++.cc +index 330c02b..ced705d 100644 +--- a/src/lib/dhcp/libdhcp++.cc ++++ b/src/lib/dhcp/libdhcp++.cc +@@ -419,14 +419,14 @@ size_t LibDHCP::unpackOptions6(const OptionBuffer& buf, + // We previously did the lookup only for dhcp6 option space, but with the + // addition of S46 options, we now do it for every space. + range = idx.equal_range(opt_type); +- num_defs = distance(range.first, range.second); ++ num_defs = std::distance(range.first, range.second); + + // Standard option definitions do not include the definition for + // our option or we're searching for non-standard option. Try to + // find the definition among runtime option definitions. + if (num_defs == 0) { + range = runtime_idx.equal_range(opt_type); +- num_defs = distance(range.first, range.second); ++ num_defs = std::distance(range.first, range.second); + } + + OptionPtr opt; +@@ -538,14 +538,14 @@ size_t LibDHCP::unpackOptions4(const OptionBuffer& buf, + // may be standard options in other spaces (e.g. radius). So we now do + // the lookup for every space. + range = idx.equal_range(opt_type); +- num_defs = distance(range.first, range.second); ++ num_defs = std::distance(range.first, range.second); + + // Standard option definitions do not include the definition for + // our option or we're searching for non-standard option. Try to + // find the definition among runtime option definitions. + if (num_defs == 0) { + range = runtime_idx.equal_range(opt_type); +- num_defs = distance(range.first, range.second); ++ num_defs = std::distance(range.first, range.second); + } + + // Check if option unpacking must be deferred +@@ -638,7 +638,7 @@ size_t LibDHCP::unpackVendorOptions6(const uint32_t vendor_id, + idx->equal_range(opt_type); + // Get the number of returned option definitions for the + // option code. +- size_t num_defs = distance(range.first, range.second); ++ size_t num_defs = std::distance(range.first, range.second); + + if (num_defs > 1) { + // Multiple options of the same code are not supported +@@ -746,7 +746,7 @@ size_t LibDHCP::unpackVendorOptions4(const uint32_t vendor_id, const OptionBuffe + idx->equal_range(opt_type); + // Get the number of returned option definitions for + // the option code. +- size_t num_defs = distance(range.first, range.second); ++ size_t num_defs = std::distance(range.first, range.second); + + if (num_defs > 1) { + // Multiple options of the same code are not +-- +2.18.0 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch new file mode 100644 index 0000000000..381a3a7eb8 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch @@ -0,0 +1,31 @@ +From cd902b8b588681a27d5321f1ee078a1c8f6e6935 Mon Sep 17 00:00:00 2001 +From: Mingli Yu <Mingli.Yu@windriver.com> +Date: Wed, 21 Mar 2018 06:01:38 +0000 +Subject: [PATCH 3/3] Makefile.am: update hooksdir for lease_cmds + +update hooksdir for lease_cmds + +Upstream-Status: Pending + +Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> + +--- + src/hooks/dhcp/lease_cmds/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hooks/dhcp/lease_cmds/Makefile.am b/src/hooks/dhcp/lease_cmds/Makefile.am +index cfd6779..22cc4a9 100644 +--- a/src/hooks/dhcp/lease_cmds/Makefile.am ++++ b/src/hooks/dhcp/lease_cmds/Makefile.am +@@ -37,7 +37,7 @@ liblease_cmds_la_CXXFLAGS = $(AM_CXXFLAGS) + liblease_cmds_la_CPPFLAGS = $(AM_CPPFLAGS) + + # install the shared object into $(libdir)/hooks +-lib_hooksdir = $(libdir)/hooks ++lib_hooksdir = $(libdir)/kea/hooks + lib_hooks_LTLIBRARIES = libdhcp_lease_cmds.la + + libdhcp_lease_cmds_la_SOURCES = +-- +2.18.0 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp-ddns.service b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp-ddns.service new file mode 100644 index 0000000000..91aa2eb14f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp-ddns.service @@ -0,0 +1,13 @@ +[Unit] +Description=Kea DHCP-DDNS Server +Wants=network-online.target +After=network-online.target +After=time-sync.target + +[Service] +ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/ +ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/kea +ExecStart=@SBINDIR@/kea-dhcp-ddns -c @SYSCONFDIR@/kea/kea-dhcp-ddns.conf + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service new file mode 100644 index 0000000000..f32edcb90d --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service @@ -0,0 +1,13 @@ +[Unit] +Description=Kea DHCPv4 Server +Wants=network-online.target +After=network-online.target +After=time-sync.target + +[Service] +ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/ +ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/kea +ExecStart=@SBINDIR@/kea-dhcp4 -c @SYSCONFDIR@/kea/kea-dhcp4.conf + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service new file mode 100644 index 0000000000..26d2205e64 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service @@ -0,0 +1,13 @@ +[Unit] +Description=Kea DHCPv6 Server +Wants=network-online.target +After=network-online.target +After=time-sync.target + +[Service] +ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/ +ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/kea +ExecStart=@SBINDIR@/kea-dhcp6 -c @SYSCONFDIR@/kea/kea-dhcp6.conf + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb new file mode 100644 index 0000000000..67de07b31f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb @@ -0,0 +1,52 @@ +SUMMARY = "ISC Kea DHCP Server" +DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS." +HOMEPAGE = "http://kea.isc.org" +SECTION = "connectivity" +LICENSE = "MPL-2.0 & Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=1666a9c4bb55adbc8939d85643096bd3" + +DEPENDS += "kea-native" + +SRC_URI = "\ + http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \ + file://0003-Makefile.am-update-hooksdir-for-lease_cmds.patch \ + file://0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch \ + file://kea-dhcp4.service \ + file://kea-dhcp6.service \ + file://kea-dhcp-ddns.service \ +" +SRC_URI[md5sum] = "26eedd749101642757d788431605aaa5" +SRC_URI[sha256sum] = "c0f8ecb93657adfc5ab970c91706754e601084828493f053f159661d21b31128" + +inherit autotools systemd + +SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service" +SYSTEMD_AUTO_ENABLE = "disable" + +do_configure_prepend_class-target() { + mkdir -p ${B}/src/lib/log/compiler/ + ln -sf ${STAGING_BINDIR_NATIVE}/kea-msg-compiler ${B}/src/lib/log/compiler/kea-msg-compiler +} + +do_install_append_class-target() { + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir} + sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${systemd_system_unitdir}/kea-dhcp*service +} + +do_install_append() { + rm -rf "${D}${localstatedir}" +} + +PACKAGECONFIG ??= "openssl log4cplus boost" + +PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_TARGET}${prefix},,openssl,openssl" +PACKAGECONFIG[log4cplus] = "--with-log4cplus=${STAGING_DIR_TARGET}${prefix},,log4cplus,log4cplus" +PACKAGECONFIG[boost] = "--with-boost-include=${STAGING_INCDIR} --with-boost-lib-dir=${STAGING_LIBDIR} --with-boost-libs=-lboost_system,,boost,boost" + +FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a" +FILES_${PN} += "${libdir}/hooks/*.so" + +BBCLASSEXTEND += "native" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb index b6b65da736..bf793d91d3 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb @@ -9,17 +9,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "http://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2 \ file://fix-gcc-6-conflicts-signbit.patch \ " -SRC_URI[md5sum] = "3701e7675baa5619c92622eb141c8301" -SRC_URI[sha256sum] = "fe441f20a9a317cfb99a8b8e628ba0457df472b6d93964d17374d5b5ebdf9280" +SRC_URI[md5sum] = "a56b5047dbfda052df4c1dfd197aa092" +SRC_URI[sha256sum] = "a853edbd075b008c315679c7882b6dcc6821ed2365d2ed843a412acd3d40da0e" inherit autotools gettext pkgconfig acpaths = "-I ./m4" -EXTRA_OECONF += "--with-modules" +EXTRA_OECONF += "--with-modules --disable-rpath" -PACKAGECONFIG ??= "libidn openssl zlib gnutls readline expat" -PACKAGECONFIG[libidn] = "--with-libidn, --without-libidn, libidn" +PACKAGECONFIG ??= "openssl zlib gnutls readline expat" PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl" PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_INCDIR}/.., --without-zlib, zlib" PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls" @@ -29,6 +28,6 @@ PACKAGECONFIG[expat] = "--with-expat=${STAGING_INCDIR}/.. --with-expat-inc=${STA do_install_append() { rm -rf ${D}${libdir}/charset.alias } - +FILES_${PN} += "${datadir}/icons/hicolor" FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug" RDEPENDS_${PN} = "perl bash readline" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb index e579de5074..53ba25e239 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb @@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9" SRC_URI = "git://github.com/dugsong/libdnet.git;nobranch=1" SRCREV = "12fca29a6d4e99d1b923d6820887fe7b24226904" +UPSTREAM_CHECK_GITTAGREGEX = "libdnet-(?P<pver>\d+(\.\d+)+)" + S = "${WORKDIR}/git" inherit autotools diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.8.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb index 736cce1b01..ff3f7f0c1a 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.8.0.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb @@ -20,12 +20,12 @@ HOMEPAGE = "https://tls.mbed.org/" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a" -SECTION = "libdevel" +SECTION = "libs" SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz" -SRC_URI[md5sum] = "2d4b0e2cb844efde1e73d3bcd9731fef" -SRC_URI[sha256sum] = "ab8b62b995781bcf22e87a265ed06267f87c3041198e996b44441223d19fa9c3" +SRC_URI[md5sum] = "659d96bb03012ca6db414a9137fcdbd6" +SRC_URI[sha256sum] = "593b4e4d2e1629fc407ab4750d69fa309a0ddb66565dc3deb5b60eddbdeb06da" inherit cmake diff --git a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/miniupnpd.service b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/miniupnpd.service new file mode 100644 index 0000000000..e7bfad0a93 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/miniupnpd.service @@ -0,0 +1,14 @@ +[Unit] +Description=Lightweight UPnP IGD daemon +Documentation=man:miniupnpd(8) +After=network.target + +[Service] +Type=forking +ExecStartPre=/etc/miniupnpd/iptables_init.sh +ExecStart=/usr/sbin/miniupnpd -f /etc/miniupnpd/miniupnpd.conf +ExecStopPost=/etc/miniupnpd/iptables_removeall.sh +PIDFile=/run/miniupnpd.pid + +[Install] +WantedBy=network.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb index c6f36e1375..04b5cd589c 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb @@ -5,16 +5,17 @@ the network." SECTION = "networking" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=aa71c78c373ccfe0ff207af0cd966d91" +LIC_FILES_CHKSUM = "file://LICENSE;md5=91ac00c6b9f5c106e89291e196fe0234" -inherit autotools gettext pkgconfig +inherit autotools gettext pkgconfig systemd DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack" SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${P}.tar.gz;downloadfilename=${P}.tar.gz \ -" -SRC_URI[md5sum] = "1c07a215dd9b362e75a9efc05e2fb3b4" -SRC_URI[sha256sum] = "d96aa3a00e0f5490826bba3cb97e68cd27479e5839adac4b9bcb66eae786bfb7" + file://miniupnpd.service" + +SRC_URI[md5sum] = "b4c7c938915edeee6ca4c65dd021f212" +SRC_URI[sha256sum] = "860c15f2f8340fd69546b01cffe4c7fcff3e63a7bdfe5a2af6b2346f0e074bb6" IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}" @@ -34,4 +35,9 @@ do_install() { install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN} install -d ${D}/${sysconfdir}/init.d install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/miniupnpd.service ${D}${systemd_unitdir}/system/ } + +SYSTEMD_SERVICE_${PN} = "miniupnpd.service" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch new file mode 100644 index 0000000000..c89dfe6bef --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch @@ -0,0 +1,975 @@ +From d9aeef8d95a325942cc92f4d72415771d75d904c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com> +Date: Tue, 12 Apr 2016 13:05:10 +0100 +Subject: [PATCH 2/2] uthash: remove in-tree version +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We don't need it as we want to use the version provided by +meta-oe instead. + +Upstream-Status: Inappropriate [embedded-specific] +Signed-off-by: André Draszik <andre.draszik@jci.com> +--- + src/uthash.h | 948 ----------------------------------------------------------- + 1 file changed, 948 deletions(-) + delete mode 100644 src/uthash.h + +diff --git a/src/uthash.h b/src/uthash.h +deleted file mode 100644 +index 915a825..0000000 +--- a/src/uthash.h ++++ /dev/null +@@ -1,948 +0,0 @@ +-/* +-Copyright (c) 2003-2013, Troy D. Hanson http://troydhanson.github.com/uthash/ +-All rights reserved. +- +-Redistribution and use in source and binary forms, with or without +-modification, are permitted provided that the following conditions are met: +- +- * Redistributions of source code must retain the above copyright +- notice, this list of conditions and the following disclaimer. +- +-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-*/ +- +-#ifndef UTHASH_H +-#define UTHASH_H +- +-#include <string.h> /* memcmp,strlen */ +-#include <stddef.h> /* ptrdiff_t */ +-#include <stdlib.h> /* exit() */ +- +-/* These macros use decltype or the earlier __typeof GNU extension. +- As decltype is only available in newer compilers (VS2010 or gcc 4.3+ +- when compiling c++ source) this code uses whatever method is needed +- or, for VS2008 where neither is available, uses casting workarounds. */ +-#ifdef _MSC_VER /* MS compiler */ +-#if _MSC_VER >= 1600 && defined(__cplusplus) /* VS2010 or newer in C++ mode */ +-#define DECLTYPE(x) (decltype(x)) +-#else /* VS2008 or older (or VS2010 in C mode) */ +-#define NO_DECLTYPE +-#define DECLTYPE(x) +-#endif +-#else /* GNU, Sun and other compilers */ +-#define DECLTYPE(x) (__typeof(x)) +-#endif +- +-#ifdef NO_DECLTYPE +-#define DECLTYPE_ASSIGN(dst,src) \ +-do { \ +- char **_da_dst = (char**)(&(dst)); \ +- *_da_dst = (char*)(src); \ +-} while(0) +-#else +-#define DECLTYPE_ASSIGN(dst,src) \ +-do { \ +- (dst) = DECLTYPE(dst)(src); \ +-} while(0) +-#endif +- +-/* a number of the hash function use uint32_t which isn't defined on win32 */ +-#ifdef _MSC_VER +-typedef unsigned int uint32_t; +-typedef unsigned char uint8_t; +-#else +-#include <inttypes.h> /* uint32_t */ +-#endif +- +-#define UTHASH_VERSION 1.9.8 +- +-#ifndef uthash_fatal +-#define uthash_fatal(msg) exit(-1) /* fatal error (out of memory,etc) */ +-#endif +-#ifndef uthash_malloc +-#define uthash_malloc(sz) malloc(sz) /* malloc fcn */ +-#endif +-#ifndef uthash_free +-#define uthash_free(ptr,sz) free(ptr) /* free fcn */ +-#endif +- +-#ifndef uthash_noexpand_fyi +-#define uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */ +-#endif +-#ifndef uthash_expand_fyi +-#define uthash_expand_fyi(tbl) /* can be defined to log expands */ +-#endif +- +-/* initial number of buckets */ +-#define HASH_INITIAL_NUM_BUCKETS 32 /* initial number of buckets */ +-#define HASH_INITIAL_NUM_BUCKETS_LOG2 5 /* lg2 of initial number of buckets */ +-#define HASH_BKT_CAPACITY_THRESH 10 /* expand when bucket count reaches */ +- +-/* calculate the element whose hash handle address is hhe */ +-#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho))) +- +-#define HASH_FIND(hh,head,keyptr,keylen,out) \ +-do { \ +- unsigned _hf_bkt,_hf_hashv; \ +- out=NULL; \ +- if (head) { \ +- HASH_FCN(keyptr,keylen, (head)->hh.tbl->num_buckets, _hf_hashv, _hf_bkt); \ +- if (HASH_BLOOM_TEST((head)->hh.tbl, _hf_hashv)) { \ +- HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], \ +- keyptr,keylen,out); \ +- } \ +- } \ +-} while (0) +- +-#ifdef HASH_BLOOM +-#define HASH_BLOOM_BITLEN (1ULL << HASH_BLOOM) +-#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8) + ((HASH_BLOOM_BITLEN%8) ? 1:0) +-#define HASH_BLOOM_MAKE(tbl) \ +-do { \ +- (tbl)->bloom_nbits = HASH_BLOOM; \ +- (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN); \ +- if (!((tbl)->bloom_bv)) { uthash_fatal( "out of memory"); } \ +- memset((tbl)->bloom_bv, 0, HASH_BLOOM_BYTELEN); \ +- (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE; \ +-} while (0) +- +-#define HASH_BLOOM_FREE(tbl) \ +-do { \ +- uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \ +-} while (0) +- +-#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8] |= (1U << ((idx)%8))) +-#define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8] & (1U << ((idx)%8))) +- +-#define HASH_BLOOM_ADD(tbl,hashv) \ +- HASH_BLOOM_BITSET((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1))) +- +-#define HASH_BLOOM_TEST(tbl,hashv) \ +- HASH_BLOOM_BITTEST((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1))) +- +-#else +-#define HASH_BLOOM_MAKE(tbl) +-#define HASH_BLOOM_FREE(tbl) +-#define HASH_BLOOM_ADD(tbl,hashv) +-#define HASH_BLOOM_TEST(tbl,hashv) (1) +-#define HASH_BLOOM_BYTELEN 0 +-#endif +- +-#define HASH_MAKE_TABLE(hh,head) \ +-do { \ +- (head)->hh.tbl = (UT_hash_table*)uthash_malloc( \ +- sizeof(UT_hash_table)); \ +- if (!((head)->hh.tbl)) { uthash_fatal( "out of memory"); } \ +- memset((head)->hh.tbl, 0, sizeof(UT_hash_table)); \ +- (head)->hh.tbl->tail = &((head)->hh); \ +- (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \ +- (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \ +- (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \ +- (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \ +- HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \ +- if (! (head)->hh.tbl->buckets) { uthash_fatal( "out of memory"); } \ +- memset((head)->hh.tbl->buckets, 0, \ +- HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \ +- HASH_BLOOM_MAKE((head)->hh.tbl); \ +- (head)->hh.tbl->signature = HASH_SIGNATURE; \ +-} while(0) +- +-#define HASH_ADD(hh,head,fieldname,keylen_in,add) \ +- HASH_ADD_KEYPTR(hh,head,&((add)->fieldname),keylen_in,add) +- +-#define HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced) \ +-do { \ +- replaced=NULL; \ +- HASH_FIND(hh,head,&((add)->fieldname),keylen_in,replaced); \ +- if (replaced!=NULL) { \ +- HASH_DELETE(hh,head,replaced); \ +- }; \ +- HASH_ADD(hh,head,fieldname,keylen_in,add); \ +-} while(0) +- +-#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add) \ +-do { \ +- unsigned _ha_bkt; \ +- (add)->hh.next = NULL; \ +- (add)->hh.key = (char*)keyptr; \ +- (add)->hh.keylen = (unsigned)keylen_in; \ +- if (!(head)) { \ +- head = (add); \ +- (head)->hh.prev = NULL; \ +- HASH_MAKE_TABLE(hh,head); \ +- } else { \ +- (head)->hh.tbl->tail->next = (add); \ +- (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \ +- (head)->hh.tbl->tail = &((add)->hh); \ +- } \ +- (head)->hh.tbl->num_items++; \ +- (add)->hh.tbl = (head)->hh.tbl; \ +- HASH_FCN(keyptr,keylen_in, (head)->hh.tbl->num_buckets, \ +- (add)->hh.hashv, _ha_bkt); \ +- HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt],&(add)->hh); \ +- HASH_BLOOM_ADD((head)->hh.tbl,(add)->hh.hashv); \ +- HASH_EMIT_KEY(hh,head,keyptr,keylen_in); \ +- HASH_FSCK(hh,head); \ +-} while(0) +- +-#define HASH_TO_BKT( hashv, num_bkts, bkt ) \ +-do { \ +- bkt = ((hashv) & ((num_bkts) - 1)); \ +-} while(0) +- +-/* delete "delptr" from the hash table. +- * "the usual" patch-up process for the app-order doubly-linked-list. +- * The use of _hd_hh_del below deserves special explanation. +- * These used to be expressed using (delptr) but that led to a bug +- * if someone used the same symbol for the head and deletee, like +- * HASH_DELETE(hh,users,users); +- * We want that to work, but by changing the head (users) below +- * we were forfeiting our ability to further refer to the deletee (users) +- * in the patch-up process. Solution: use scratch space to +- * copy the deletee pointer, then the latter references are via that +- * scratch pointer rather than through the repointed (users) symbol. +- */ +-#define HASH_DELETE(hh,head,delptr) \ +-do { \ +- unsigned _hd_bkt; \ +- struct UT_hash_handle *_hd_hh_del; \ +- if ( ((delptr)->hh.prev == NULL) && ((delptr)->hh.next == NULL) ) { \ +- uthash_free((head)->hh.tbl->buckets, \ +- (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \ +- HASH_BLOOM_FREE((head)->hh.tbl); \ +- uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ +- head = NULL; \ +- } else { \ +- _hd_hh_del = &((delptr)->hh); \ +- if ((delptr) == ELMT_FROM_HH((head)->hh.tbl,(head)->hh.tbl->tail)) { \ +- (head)->hh.tbl->tail = \ +- (UT_hash_handle*)((ptrdiff_t)((delptr)->hh.prev) + \ +- (head)->hh.tbl->hho); \ +- } \ +- if ((delptr)->hh.prev) { \ +- ((UT_hash_handle*)((ptrdiff_t)((delptr)->hh.prev) + \ +- (head)->hh.tbl->hho))->next = (delptr)->hh.next; \ +- } else { \ +- DECLTYPE_ASSIGN(head,(delptr)->hh.next); \ +- } \ +- if (_hd_hh_del->next) { \ +- ((UT_hash_handle*)((ptrdiff_t)_hd_hh_del->next + \ +- (head)->hh.tbl->hho))->prev = \ +- _hd_hh_del->prev; \ +- } \ +- HASH_TO_BKT( _hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ +- HASH_DEL_IN_BKT(hh,(head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \ +- (head)->hh.tbl->num_items--; \ +- } \ +- HASH_FSCK(hh,head); \ +-} while (0) +- +- +-/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */ +-#define HASH_FIND_STR(head,findstr,out) \ +- HASH_FIND(hh,head,findstr,strlen(findstr),out) +-#define HASH_ADD_STR(head,strfield,add) \ +- HASH_ADD(hh,head,strfield,strlen(add->strfield),add) +-#define HASH_REPLACE_STR(head,strfield,add,replaced) \ +- HASH_REPLACE(hh,head,strfield,strlen(add->strfield),add,replaced) +-#define HASH_FIND_INT(head,findint,out) \ +- HASH_FIND(hh,head,findint,sizeof(int),out) +-#define HASH_ADD_INT(head,intfield,add) \ +- HASH_ADD(hh,head,intfield,sizeof(int),add) +-#define HASH_REPLACE_INT(head,intfield,add,replaced) \ +- HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced) +-#define HASH_FIND_PTR(head,findptr,out) \ +- HASH_FIND(hh,head,findptr,sizeof(void *),out) +-#define HASH_ADD_PTR(head,ptrfield,add) \ +- HASH_ADD(hh,head,ptrfield,sizeof(void *),add) +-#define HASH_REPLACE_PTR(head,ptrfield,add) \ +- HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced) +-#define HASH_DEL(head,delptr) \ +- HASH_DELETE(hh,head,delptr) +- +-/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined. +- * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined. +- */ +-#ifdef HASH_DEBUG +-#define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0) +-#define HASH_FSCK(hh,head) \ +-do { \ +- unsigned _bkt_i; \ +- unsigned _count, _bkt_count; \ +- char *_prev; \ +- struct UT_hash_handle *_thh; \ +- if (head) { \ +- _count = 0; \ +- for( _bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; _bkt_i++) { \ +- _bkt_count = 0; \ +- _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \ +- _prev = NULL; \ +- while (_thh) { \ +- if (_prev != (char*)(_thh->hh_prev)) { \ +- HASH_OOPS("invalid hh_prev %p, actual %p\n", \ +- _thh->hh_prev, _prev ); \ +- } \ +- _bkt_count++; \ +- _prev = (char*)(_thh); \ +- _thh = _thh->hh_next; \ +- } \ +- _count += _bkt_count; \ +- if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \ +- HASH_OOPS("invalid bucket count %d, actual %d\n", \ +- (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \ +- } \ +- } \ +- if (_count != (head)->hh.tbl->num_items) { \ +- HASH_OOPS("invalid hh item count %d, actual %d\n", \ +- (head)->hh.tbl->num_items, _count ); \ +- } \ +- /* traverse hh in app order; check next/prev integrity, count */ \ +- _count = 0; \ +- _prev = NULL; \ +- _thh = &(head)->hh; \ +- while (_thh) { \ +- _count++; \ +- if (_prev !=(char*)(_thh->prev)) { \ +- HASH_OOPS("invalid prev %p, actual %p\n", \ +- _thh->prev, _prev ); \ +- } \ +- _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \ +- _thh = ( _thh->next ? (UT_hash_handle*)((char*)(_thh->next) + \ +- (head)->hh.tbl->hho) : NULL ); \ +- } \ +- if (_count != (head)->hh.tbl->num_items) { \ +- HASH_OOPS("invalid app item count %d, actual %d\n", \ +- (head)->hh.tbl->num_items, _count ); \ +- } \ +- } \ +-} while (0) +-#else +-#define HASH_FSCK(hh,head) +-#endif +- +-/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to +- * the descriptor to which this macro is defined for tuning the hash function. +- * The app can #include <unistd.h> to get the prototype for write(2). */ +-#ifdef HASH_EMIT_KEYS +-#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) \ +-do { \ +- unsigned _klen = fieldlen; \ +- write(HASH_EMIT_KEYS, &_klen, sizeof(_klen)); \ +- write(HASH_EMIT_KEYS, keyptr, fieldlen); \ +-} while (0) +-#else +-#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) +-#endif +- +-/* default to Jenkin's hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */ +-#ifdef HASH_FUNCTION +-#define HASH_FCN HASH_FUNCTION +-#else +-#define HASH_FCN HASH_JEN +-#endif +- +-/* The Bernstein hash function, used in Perl prior to v5.6 */ +-#define HASH_BER(key,keylen,num_bkts,hashv,bkt) \ +-do { \ +- unsigned _hb_keylen=keylen; \ +- char *_hb_key=(char*)(key); \ +- (hashv) = 0; \ +- while (_hb_keylen--) { (hashv) = ((hashv) * 33) + *_hb_key++; } \ +- bkt = (hashv) & (num_bkts-1); \ +-} while (0) +- +- +-/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at +- * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */ +-#define HASH_SAX(key,keylen,num_bkts,hashv,bkt) \ +-do { \ +- unsigned _sx_i; \ +- char *_hs_key=(char*)(key); \ +- hashv = 0; \ +- for(_sx_i=0; _sx_i < keylen; _sx_i++) \ +- hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i]; \ +- bkt = hashv & (num_bkts-1); \ +-} while (0) +- +-#define HASH_FNV(key,keylen,num_bkts,hashv,bkt) \ +-do { \ +- unsigned _fn_i; \ +- char *_hf_key=(char*)(key); \ +- hashv = 2166136261UL; \ +- for(_fn_i=0; _fn_i < keylen; _fn_i++) \ +- hashv = (hashv * 16777619) ^ _hf_key[_fn_i]; \ +- bkt = hashv & (num_bkts-1); \ +-} while(0) +- +-#define HASH_OAT(key,keylen,num_bkts,hashv,bkt) \ +-do { \ +- unsigned _ho_i; \ +- char *_ho_key=(char*)(key); \ +- hashv = 0; \ +- for(_ho_i=0; _ho_i < keylen; _ho_i++) { \ +- hashv += _ho_key[_ho_i]; \ +- hashv += (hashv << 10); \ +- hashv ^= (hashv >> 6); \ +- } \ +- hashv += (hashv << 3); \ +- hashv ^= (hashv >> 11); \ +- hashv += (hashv << 15); \ +- bkt = hashv & (num_bkts-1); \ +-} while(0) +- +-#define HASH_JEN_MIX(a,b,c) \ +-do { \ +- a -= b; a -= c; a ^= ( c >> 13 ); \ +- b -= c; b -= a; b ^= ( a << 8 ); \ +- c -= a; c -= b; c ^= ( b >> 13 ); \ +- a -= b; a -= c; a ^= ( c >> 12 ); \ +- b -= c; b -= a; b ^= ( a << 16 ); \ +- c -= a; c -= b; c ^= ( b >> 5 ); \ +- a -= b; a -= c; a ^= ( c >> 3 ); \ +- b -= c; b -= a; b ^= ( a << 10 ); \ +- c -= a; c -= b; c ^= ( b >> 15 ); \ +-} while (0) +- +-#define HASH_JEN(key,keylen,num_bkts,hashv,bkt) \ +-do { \ +- unsigned _hj_i,_hj_j,_hj_k; \ +- unsigned char *_hj_key=(unsigned char*)(key); \ +- hashv = 0xfeedbeef; \ +- _hj_i = _hj_j = 0x9e3779b9; \ +- _hj_k = (unsigned)keylen; \ +- while (_hj_k >= 12) { \ +- _hj_i += (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 ) \ +- + ( (unsigned)_hj_key[2] << 16 ) \ +- + ( (unsigned)_hj_key[3] << 24 ) ); \ +- _hj_j += (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 ) \ +- + ( (unsigned)_hj_key[6] << 16 ) \ +- + ( (unsigned)_hj_key[7] << 24 ) ); \ +- hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 ) \ +- + ( (unsigned)_hj_key[10] << 16 ) \ +- + ( (unsigned)_hj_key[11] << 24 ) ); \ +- \ +- HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ +- \ +- _hj_key += 12; \ +- _hj_k -= 12; \ +- } \ +- hashv += keylen; \ +- switch ( _hj_k ) { \ +- case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); \ +- case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); \ +- case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); \ +- case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); \ +- case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); \ +- case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); \ +- case 5: _hj_j += _hj_key[4]; \ +- case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); \ +- case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); \ +- case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); \ +- case 1: _hj_i += _hj_key[0]; \ +- } \ +- HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ +- bkt = hashv & (num_bkts-1); \ +-} while(0) +- +-/* The Paul Hsieh hash function */ +-#undef get16bits +-#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \ +- || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__) +-#define get16bits(d) (*((const uint16_t *) (d))) +-#endif +- +-#if !defined (get16bits) +-#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8) \ +- +(uint32_t)(((const uint8_t *)(d))[0]) ) +-#endif +-#define HASH_SFH(key,keylen,num_bkts,hashv,bkt) \ +-do { \ +- unsigned char *_sfh_key=(unsigned char*)(key); \ +- uint32_t _sfh_tmp, _sfh_len = keylen; \ +- \ +- int _sfh_rem = _sfh_len & 3; \ +- _sfh_len >>= 2; \ +- hashv = 0xcafebabe; \ +- \ +- /* Main loop */ \ +- for (;_sfh_len > 0; _sfh_len--) { \ +- hashv += get16bits (_sfh_key); \ +- _sfh_tmp = (uint32_t)(get16bits (_sfh_key+2)) << 11 ^ hashv; \ +- hashv = (hashv << 16) ^ _sfh_tmp; \ +- _sfh_key += 2*sizeof (uint16_t); \ +- hashv += hashv >> 11; \ +- } \ +- \ +- /* Handle end cases */ \ +- switch (_sfh_rem) { \ +- case 3: hashv += get16bits (_sfh_key); \ +- hashv ^= hashv << 16; \ +- hashv ^= (uint32_t)(_sfh_key[sizeof (uint16_t)] << 18); \ +- hashv += hashv >> 11; \ +- break; \ +- case 2: hashv += get16bits (_sfh_key); \ +- hashv ^= hashv << 11; \ +- hashv += hashv >> 17; \ +- break; \ +- case 1: hashv += *_sfh_key; \ +- hashv ^= hashv << 10; \ +- hashv += hashv >> 1; \ +- } \ +- \ +- /* Force "avalanching" of final 127 bits */ \ +- hashv ^= hashv << 3; \ +- hashv += hashv >> 5; \ +- hashv ^= hashv << 4; \ +- hashv += hashv >> 17; \ +- hashv ^= hashv << 25; \ +- hashv += hashv >> 6; \ +- bkt = hashv & (num_bkts-1); \ +-} while(0) +- +-#ifdef HASH_USING_NO_STRICT_ALIASING +-/* The MurmurHash exploits some CPU's (x86,x86_64) tolerance for unaligned reads. +- * For other types of CPU's (e.g. Sparc) an unaligned read causes a bus error. +- * MurmurHash uses the faster approach only on CPU's where we know it's safe. +- * +- * Note the preprocessor built-in defines can be emitted using: +- * +- * gcc -m64 -dM -E - < /dev/null (on gcc) +- * cc -## a.c (where a.c is a simple test file) (Sun Studio) +- */ +-#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86)) +-#define MUR_GETBLOCK(p,i) p[i] +-#else /* non intel */ +-#define MUR_PLUS0_ALIGNED(p) (((unsigned long)p & 0x3) == 0) +-#define MUR_PLUS1_ALIGNED(p) (((unsigned long)p & 0x3) == 1) +-#define MUR_PLUS2_ALIGNED(p) (((unsigned long)p & 0x3) == 2) +-#define MUR_PLUS3_ALIGNED(p) (((unsigned long)p & 0x3) == 3) +-#define WP(p) ((uint32_t*)((unsigned long)(p) & ~3UL)) +-#if (defined(__BIG_ENDIAN__) || defined(SPARC) || defined(__ppc__) || defined(__ppc64__)) +-#define MUR_THREE_ONE(p) ((((*WP(p))&0x00ffffff) << 8) | (((*(WP(p)+1))&0xff000000) >> 24)) +-#define MUR_TWO_TWO(p) ((((*WP(p))&0x0000ffff) <<16) | (((*(WP(p)+1))&0xffff0000) >> 16)) +-#define MUR_ONE_THREE(p) ((((*WP(p))&0x000000ff) <<24) | (((*(WP(p)+1))&0xffffff00) >> 8)) +-#else /* assume little endian non-intel */ +-#define MUR_THREE_ONE(p) ((((*WP(p))&0xffffff00) >> 8) | (((*(WP(p)+1))&0x000000ff) << 24)) +-#define MUR_TWO_TWO(p) ((((*WP(p))&0xffff0000) >>16) | (((*(WP(p)+1))&0x0000ffff) << 16)) +-#define MUR_ONE_THREE(p) ((((*WP(p))&0xff000000) >>24) | (((*(WP(p)+1))&0x00ffffff) << 8)) +-#endif +-#define MUR_GETBLOCK(p,i) (MUR_PLUS0_ALIGNED(p) ? ((p)[i]) : \ +- (MUR_PLUS1_ALIGNED(p) ? MUR_THREE_ONE(p) : \ +- (MUR_PLUS2_ALIGNED(p) ? MUR_TWO_TWO(p) : \ +- MUR_ONE_THREE(p)))) +-#endif +-#define MUR_ROTL32(x,r) (((x) << (r)) | ((x) >> (32 - (r)))) +-#define MUR_FMIX(_h) \ +-do { \ +- _h ^= _h >> 16; \ +- _h *= 0x85ebca6b; \ +- _h ^= _h >> 13; \ +- _h *= 0xc2b2ae35l; \ +- _h ^= _h >> 16; \ +-} while(0) +- +-#define HASH_MUR(key,keylen,num_bkts,hashv,bkt) \ +-do { \ +- const uint8_t *_mur_data = (const uint8_t*)(key); \ +- const int _mur_nblocks = (keylen) / 4; \ +- uint32_t _mur_h1 = 0xf88D5353; \ +- uint32_t _mur_c1 = 0xcc9e2d51; \ +- uint32_t _mur_c2 = 0x1b873593; \ +- uint32_t _mur_k1 = 0; \ +- const uint8_t *_mur_tail; \ +- const uint32_t *_mur_blocks = (const uint32_t*)(_mur_data+_mur_nblocks*4); \ +- int _mur_i; \ +- for(_mur_i = -_mur_nblocks; _mur_i; _mur_i++) { \ +- _mur_k1 = MUR_GETBLOCK(_mur_blocks,_mur_i); \ +- _mur_k1 *= _mur_c1; \ +- _mur_k1 = MUR_ROTL32(_mur_k1,15); \ +- _mur_k1 *= _mur_c2; \ +- \ +- _mur_h1 ^= _mur_k1; \ +- _mur_h1 = MUR_ROTL32(_mur_h1,13); \ +- _mur_h1 = _mur_h1*5+0xe6546b64; \ +- } \ +- _mur_tail = (const uint8_t*)(_mur_data + _mur_nblocks*4); \ +- _mur_k1=0; \ +- switch((keylen) & 3) { \ +- case 3: _mur_k1 ^= _mur_tail[2] << 16; \ +- case 2: _mur_k1 ^= _mur_tail[1] << 8; \ +- case 1: _mur_k1 ^= _mur_tail[0]; \ +- _mur_k1 *= _mur_c1; \ +- _mur_k1 = MUR_ROTL32(_mur_k1,15); \ +- _mur_k1 *= _mur_c2; \ +- _mur_h1 ^= _mur_k1; \ +- } \ +- _mur_h1 ^= (keylen); \ +- MUR_FMIX(_mur_h1); \ +- hashv = _mur_h1; \ +- bkt = hashv & (num_bkts-1); \ +-} while(0) +-#endif /* HASH_USING_NO_STRICT_ALIASING */ +- +-/* key comparison function; return 0 if keys equal */ +-#define HASH_KEYCMP(a,b,len) memcmp(a,b,len) +- +-/* iterate over items in a known bucket to find desired item */ +-#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out) \ +-do { \ +- if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head)); \ +- else out=NULL; \ +- while (out) { \ +- if ((out)->hh.keylen == keylen_in) { \ +- if ((HASH_KEYCMP((out)->hh.key,keyptr,keylen_in)) == 0) break; \ +- } \ +- if ((out)->hh.hh_next) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,(out)->hh.hh_next)); \ +- else out = NULL; \ +- } \ +-} while(0) +- +-/* add an item to a bucket */ +-#define HASH_ADD_TO_BKT(head,addhh) \ +-do { \ +- head.count++; \ +- (addhh)->hh_next = head.hh_head; \ +- (addhh)->hh_prev = NULL; \ +- if (head.hh_head) { (head).hh_head->hh_prev = (addhh); } \ +- (head).hh_head=addhh; \ +- if (head.count >= ((head.expand_mult+1) * HASH_BKT_CAPACITY_THRESH) \ +- && (addhh)->tbl->noexpand != 1) { \ +- HASH_EXPAND_BUCKETS((addhh)->tbl); \ +- } \ +-} while(0) +- +-/* remove an item from a given bucket */ +-#define HASH_DEL_IN_BKT(hh,head,hh_del) \ +- (head).count--; \ +- if ((head).hh_head == hh_del) { \ +- (head).hh_head = hh_del->hh_next; \ +- } \ +- if (hh_del->hh_prev) { \ +- hh_del->hh_prev->hh_next = hh_del->hh_next; \ +- } \ +- if (hh_del->hh_next) { \ +- hh_del->hh_next->hh_prev = hh_del->hh_prev; \ +- } +- +-/* Bucket expansion has the effect of doubling the number of buckets +- * and redistributing the items into the new buckets. Ideally the +- * items will distribute more or less evenly into the new buckets +- * (the extent to which this is true is a measure of the quality of +- * the hash function as it applies to the key domain). +- * +- * With the items distributed into more buckets, the chain length +- * (item count) in each bucket is reduced. Thus by expanding buckets +- * the hash keeps a bound on the chain length. This bounded chain +- * length is the essence of how a hash provides constant time lookup. +- * +- * The calculation of tbl->ideal_chain_maxlen below deserves some +- * explanation. First, keep in mind that we're calculating the ideal +- * maximum chain length based on the *new* (doubled) bucket count. +- * In fractions this is just n/b (n=number of items,b=new num buckets). +- * Since the ideal chain length is an integer, we want to calculate +- * ceil(n/b). We don't depend on floating point arithmetic in this +- * hash, so to calculate ceil(n/b) with integers we could write +- * +- * ceil(n/b) = (n/b) + ((n%b)?1:0) +- * +- * and in fact a previous version of this hash did just that. +- * But now we have improved things a bit by recognizing that b is +- * always a power of two. We keep its base 2 log handy (call it lb), +- * so now we can write this with a bit shift and logical AND: +- * +- * ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0) +- * +- */ +-#define HASH_EXPAND_BUCKETS(tbl) \ +-do { \ +- unsigned _he_bkt; \ +- unsigned _he_bkt_i; \ +- struct UT_hash_handle *_he_thh, *_he_hh_nxt; \ +- UT_hash_bucket *_he_new_buckets, *_he_newbkt; \ +- _he_new_buckets = (UT_hash_bucket*)uthash_malloc( \ +- 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ +- if (!_he_new_buckets) { uthash_fatal( "out of memory"); } \ +- memset(_he_new_buckets, 0, \ +- 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ +- tbl->ideal_chain_maxlen = \ +- (tbl->num_items >> (tbl->log2_num_buckets+1)) + \ +- ((tbl->num_items & ((tbl->num_buckets*2)-1)) ? 1 : 0); \ +- tbl->nonideal_items = 0; \ +- for(_he_bkt_i = 0; _he_bkt_i < tbl->num_buckets; _he_bkt_i++) \ +- { \ +- _he_thh = tbl->buckets[ _he_bkt_i ].hh_head; \ +- while (_he_thh) { \ +- _he_hh_nxt = _he_thh->hh_next; \ +- HASH_TO_BKT( _he_thh->hashv, tbl->num_buckets*2, _he_bkt); \ +- _he_newbkt = &(_he_new_buckets[ _he_bkt ]); \ +- if (++(_he_newbkt->count) > tbl->ideal_chain_maxlen) { \ +- tbl->nonideal_items++; \ +- _he_newbkt->expand_mult = _he_newbkt->count / \ +- tbl->ideal_chain_maxlen; \ +- } \ +- _he_thh->hh_prev = NULL; \ +- _he_thh->hh_next = _he_newbkt->hh_head; \ +- if (_he_newbkt->hh_head) _he_newbkt->hh_head->hh_prev = \ +- _he_thh; \ +- _he_newbkt->hh_head = _he_thh; \ +- _he_thh = _he_hh_nxt; \ +- } \ +- } \ +- uthash_free( tbl->buckets, tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \ +- tbl->num_buckets *= 2; \ +- tbl->log2_num_buckets++; \ +- tbl->buckets = _he_new_buckets; \ +- tbl->ineff_expands = (tbl->nonideal_items > (tbl->num_items >> 1)) ? \ +- (tbl->ineff_expands+1) : 0; \ +- if (tbl->ineff_expands > 1) { \ +- tbl->noexpand=1; \ +- uthash_noexpand_fyi(tbl); \ +- } \ +- uthash_expand_fyi(tbl); \ +-} while(0) +- +- +-/* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */ +-/* Note that HASH_SORT assumes the hash handle name to be hh. +- * HASH_SRT was added to allow the hash handle name to be passed in. */ +-#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn) +-#define HASH_SRT(hh,head,cmpfcn) \ +-do { \ +- unsigned _hs_i; \ +- unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize; \ +- struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail; \ +- if (head) { \ +- _hs_insize = 1; \ +- _hs_looping = 1; \ +- _hs_list = &((head)->hh); \ +- while (_hs_looping) { \ +- _hs_p = _hs_list; \ +- _hs_list = NULL; \ +- _hs_tail = NULL; \ +- _hs_nmerges = 0; \ +- while (_hs_p) { \ +- _hs_nmerges++; \ +- _hs_q = _hs_p; \ +- _hs_psize = 0; \ +- for ( _hs_i = 0; _hs_i < _hs_insize; _hs_i++ ) { \ +- _hs_psize++; \ +- _hs_q = (UT_hash_handle*)((_hs_q->next) ? \ +- ((void*)((char*)(_hs_q->next) + \ +- (head)->hh.tbl->hho)) : NULL); \ +- if (! (_hs_q) ) break; \ +- } \ +- _hs_qsize = _hs_insize; \ +- while ((_hs_psize > 0) || ((_hs_qsize > 0) && _hs_q )) { \ +- if (_hs_psize == 0) { \ +- _hs_e = _hs_q; \ +- _hs_q = (UT_hash_handle*)((_hs_q->next) ? \ +- ((void*)((char*)(_hs_q->next) + \ +- (head)->hh.tbl->hho)) : NULL); \ +- _hs_qsize--; \ +- } else if ( (_hs_qsize == 0) || !(_hs_q) ) { \ +- _hs_e = _hs_p; \ +- if (_hs_p){ \ +- _hs_p = (UT_hash_handle*)((_hs_p->next) ? \ +- ((void*)((char*)(_hs_p->next) + \ +- (head)->hh.tbl->hho)) : NULL); \ +- } \ +- _hs_psize--; \ +- } else if (( \ +- cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_p)), \ +- DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_q))) \ +- ) <= 0) { \ +- _hs_e = _hs_p; \ +- if (_hs_p){ \ +- _hs_p = (UT_hash_handle*)((_hs_p->next) ? \ +- ((void*)((char*)(_hs_p->next) + \ +- (head)->hh.tbl->hho)) : NULL); \ +- } \ +- _hs_psize--; \ +- } else { \ +- _hs_e = _hs_q; \ +- _hs_q = (UT_hash_handle*)((_hs_q->next) ? \ +- ((void*)((char*)(_hs_q->next) + \ +- (head)->hh.tbl->hho)) : NULL); \ +- _hs_qsize--; \ +- } \ +- if ( _hs_tail ) { \ +- _hs_tail->next = ((_hs_e) ? \ +- ELMT_FROM_HH((head)->hh.tbl,_hs_e) : NULL); \ +- } else { \ +- _hs_list = _hs_e; \ +- } \ +- if (_hs_e) { \ +- _hs_e->prev = ((_hs_tail) ? \ +- ELMT_FROM_HH((head)->hh.tbl,_hs_tail) : NULL); \ +- } \ +- _hs_tail = _hs_e; \ +- } \ +- _hs_p = _hs_q; \ +- } \ +- if (_hs_tail){ \ +- _hs_tail->next = NULL; \ +- } \ +- if ( _hs_nmerges <= 1 ) { \ +- _hs_looping=0; \ +- (head)->hh.tbl->tail = _hs_tail; \ +- DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \ +- } \ +- _hs_insize *= 2; \ +- } \ +- HASH_FSCK(hh,head); \ +- } \ +-} while (0) +- +-/* This function selects items from one hash into another hash. +- * The end result is that the selected items have dual presence +- * in both hashes. There is no copy of the items made; rather +- * they are added into the new hash through a secondary hash +- * hash handle that must be present in the structure. */ +-#define HASH_SELECT(hh_dst, dst, hh_src, src, cond) \ +-do { \ +- unsigned _src_bkt, _dst_bkt; \ +- void *_last_elt=NULL, *_elt; \ +- UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL; \ +- ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst)); \ +- if (src) { \ +- for(_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) { \ +- for(_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head; \ +- _src_hh; \ +- _src_hh = _src_hh->hh_next) { \ +- _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh); \ +- if (cond(_elt)) { \ +- _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho); \ +- _dst_hh->key = _src_hh->key; \ +- _dst_hh->keylen = _src_hh->keylen; \ +- _dst_hh->hashv = _src_hh->hashv; \ +- _dst_hh->prev = _last_elt; \ +- _dst_hh->next = NULL; \ +- if (_last_elt_hh) { _last_elt_hh->next = _elt; } \ +- if (!dst) { \ +- DECLTYPE_ASSIGN(dst,_elt); \ +- HASH_MAKE_TABLE(hh_dst,dst); \ +- } else { \ +- _dst_hh->tbl = (dst)->hh_dst.tbl; \ +- } \ +- HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt); \ +- HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt],_dst_hh); \ +- (dst)->hh_dst.tbl->num_items++; \ +- _last_elt = _elt; \ +- _last_elt_hh = _dst_hh; \ +- } \ +- } \ +- } \ +- } \ +- HASH_FSCK(hh_dst,dst); \ +-} while (0) +- +-#define HASH_CLEAR(hh,head) \ +-do { \ +- if (head) { \ +- uthash_free((head)->hh.tbl->buckets, \ +- (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \ +- HASH_BLOOM_FREE((head)->hh.tbl); \ +- uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ +- (head)=NULL; \ +- } \ +-} while(0) +- +-#define HASH_OVERHEAD(hh,head) \ +- (size_t)((((head)->hh.tbl->num_items * sizeof(UT_hash_handle)) + \ +- ((head)->hh.tbl->num_buckets * sizeof(UT_hash_bucket)) + \ +- (sizeof(UT_hash_table)) + \ +- (HASH_BLOOM_BYTELEN))) +- +-#ifdef NO_DECLTYPE +-#define HASH_ITER(hh,head,el,tmp) \ +-for((el)=(head), (*(char**)(&(tmp)))=(char*)((head)?(head)->hh.next:NULL); \ +- el; (el)=(tmp),(*(char**)(&(tmp)))=(char*)((tmp)?(tmp)->hh.next:NULL)) +-#else +-#define HASH_ITER(hh,head,el,tmp) \ +-for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL); \ +- el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL)) +-#endif +- +-/* obtain a count of items in the hash */ +-#define HASH_COUNT(head) HASH_CNT(hh,head) +-#define HASH_CNT(hh,head) ((head)?((head)->hh.tbl->num_items):0) +- +-typedef struct UT_hash_bucket { +- struct UT_hash_handle *hh_head; +- unsigned count; +- +- /* expand_mult is normally set to 0. In this situation, the max chain length +- * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If +- * the bucket's chain exceeds this length, bucket expansion is triggered). +- * However, setting expand_mult to a non-zero value delays bucket expansion +- * (that would be triggered by additions to this particular bucket) +- * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH. +- * (The multiplier is simply expand_mult+1). The whole idea of this +- * multiplier is to reduce bucket expansions, since they are expensive, in +- * situations where we know that a particular bucket tends to be overused. +- * It is better to let its chain length grow to a longer yet-still-bounded +- * value, than to do an O(n) bucket expansion too often. +- */ +- unsigned expand_mult; +- +-} UT_hash_bucket; +- +-/* random signature used only to find hash tables in external analysis */ +-#define HASH_SIGNATURE 0xa0111fe1 +-#define HASH_BLOOM_SIGNATURE 0xb12220f2 +- +-typedef struct UT_hash_table { +- UT_hash_bucket *buckets; +- unsigned num_buckets, log2_num_buckets; +- unsigned num_items; +- struct UT_hash_handle *tail; /* tail hh in app order, for fast append */ +- ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */ +- +- /* in an ideal situation (all buckets used equally), no bucket would have +- * more than ceil(#items/#buckets) items. that's the ideal chain length. */ +- unsigned ideal_chain_maxlen; +- +- /* nonideal_items is the number of items in the hash whose chain position +- * exceeds the ideal chain maxlen. these items pay the penalty for an uneven +- * hash distribution; reaching them in a chain traversal takes >ideal steps */ +- unsigned nonideal_items; +- +- /* ineffective expands occur when a bucket doubling was performed, but +- * afterward, more than half the items in the hash had nonideal chain +- * positions. If this happens on two consecutive expansions we inhibit any +- * further expansion, as it's not helping; this happens when the hash +- * function isn't a good fit for the key domain. When expansion is inhibited +- * the hash will still work, albeit no longer in constant time. */ +- unsigned ineff_expands, noexpand; +- +- uint32_t signature; /* used only to find hash tables in external analysis */ +-#ifdef HASH_BLOOM +- uint32_t bloom_sig; /* used only to test bloom exists in external analysis */ +- uint8_t *bloom_bv; +- char bloom_nbits; +-#endif +- +-} UT_hash_table; +- +-typedef struct UT_hash_handle { +- struct UT_hash_table *tbl; +- void *prev; /* prev element in app order */ +- void *next; /* next element in app order */ +- struct UT_hash_handle *hh_prev; /* previous hh in bucket order */ +- struct UT_hash_handle *hh_next; /* next hh in bucket order */ +- void *key; /* ptr to enclosing struct's key */ +- unsigned keylen; /* enclosing struct's key len */ +- unsigned hashv; /* result of hash-fcn(key) */ +-} UT_hash_handle; +- +-#endif /* UTHASH_H */ +-- +2.15.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init new file mode 100644 index 0000000000..6a0c12760e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init @@ -0,0 +1,89 @@ +#! /bin/sh + +# Based on the Debian initscript for mosquitto + +### BEGIN INIT INFO +# Provides: mosquitto +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: mosquitto MQTT message broker +# Description: +# This is a message broker that supports version 3.1/3.1.1 of the MQ Telemetry +# Transport (MQTT) protocol. +# +# MQTT provides a method of carrying out messaging using a publish/subscribe +# model. It is lightweight, both in terms of bandwidth usage and ease of +# implementation. This makes it particularly useful at the edge of the network +# where a sensor or other simple device may be implemented using an arduino for +# example. +### END INIT INFO + +set -e + +PIDFILE=@LOCALSTATEDIR@/run/mosquitto.pid +DAEMON=@SBINDIR@/mosquitto + +# start and stop the mosquitto MQTT message broker + +test -x ${DAEMON} || exit 0 + +umask 022 + +. @SYSCONFDIR@/init.d/functions + +export PATH="${PATH:+$PATH:}@SBINDIR@:@BASE_SBINDIR@" + +case "$1" in + start) + echo "Starting Mosquitto message broker" "mosquitto" + if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} ; then + exit 0 + else + exit 1 + fi + ;; + stop) + echo "Stopping Mosquitto message broker" "mosquitto" + if start-stop-daemon --stop --quiet --oknodo --pidfile ${PIDFILE}; then + rm -f ${PIDFILE} + exit 0 + else + exit 1 + fi + ;; + + + reload|force-reload) + if [ -f ${PIDFILE} ] ; then + echo "Reloading configuration for mosquitto" + pid=`cat ${PIDFILE}` + kill -HUP $pid + else + echo "mosquitto does not seem to be running" + fi + ;; + + restart) + echo "Restarting Mosquitto message broker" "mosquitto" + if start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${PIDFILE}; then + rm -f ${PIDFILE} + fi + if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c @SYSCONFDIR@/mosquitto/mosquitto.conf ; then + exit 0 + else + exit 1 + fi + ;; + + status) + status ${DAEMON} && exit 0 || exit $? + ;; + + *) + echo "Usage: $0 {start|stop|reload|force-reload|restart|status}" + exit 1 +esac + +exit 0 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb new file mode 100644 index 0000000000..b4adfdada9 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb @@ -0,0 +1,96 @@ +SUMMARY = "Open source MQTT v3.1/3.1.1 implemention" +DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker that implements the MQ Telemetry Transport protocol version 3.1 and 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. " +HOMEPAGE = "http://mosquitto.org/" +SECTION = "console/network" +LICENSE = "EPL-1.0 | EDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \ + file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \ + file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \ + file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \ +" +DEPENDS = "uthash" + +SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ + file://0002-uthash-remove-in-tree-version.patch \ + file://mosquitto.init \ +" + +SRC_URI[md5sum] = "f98c99998a36a234f3a9d9b402b991db" +SRC_URI[sha256sum] = "8557bc7ae34dfaf32a0fb56d2491b7a7f731269c88337227233013502df4d5b0" + +inherit systemd update-rc.d useradd + +PACKAGECONFIG ??= "ssl uuid \ + ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ + " + +PACKAGECONFIG[dns-srv] = ",,c-ares" +PACKAGECONFIG[ssl] = ",,openssl" +PACKAGECONFIG[uuid] = ",,util-linux" +PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd" +PACKAGECONFIG[websockets] = ",,libwebsockets" + +EXTRA_OEMAKE = " \ + prefix=${prefix} \ + mandir=${mandir} \ + localedir=${localedir} \ + ${@bb.utils.contains('PACKAGECONFIG', 'dns-srv', 'WITH_SRV=yes', 'WITH_SRV=no', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'ssl', 'WITH_TLS=yes WITH_TLS_PSK=yes', 'WITH_TLS=no WITH_TLS_PSK=no', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'uuid', 'WITH_UUID=yes', 'WITH_UUID=no', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'websockets', 'WITH_WEBSOCKETS=yes', 'WITH_WEBSOCKETS=no', d)} \ + STRIP=/bin/true \ + WITH_DOCS=no \ +" + +export LIB_SUFFIX = "${@d.getVar('baselib', True).replace('lib', '')}" + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service + + install -d ${D}${sysconfdir}/mosquitto + install -m 0644 ${D}${sysconfdir}/mosquitto/mosquitto.conf.example \ + ${D}${sysconfdir}/mosquitto/mosquitto.conf + + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${sysconfdir}/init.d/mosquitto +} + +PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients" + +PACKAGE_BEFORE_PN = "${PN}-examples" + +FILES_${PN} = "${sbindir}/mosquitto \ + ${bindir}/mosquitto_passwd \ + ${sysconfdir}/mosquitto \ + ${sysconfdir}/init.d \ + ${systemd_unitdir}/system/mosquitto.service \ +" + +CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" + +FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1" + +FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1" + +FILES_${PN}-clients = "${bindir}/mosquitto_pub \ + ${bindir}/mosquitto_sub \ +" + +FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example" + +SYSTEMD_SERVICE_${PN} = "mosquitto.service" + +INITSCRIPT_NAME = "mosquitto" +INITSCRIPT_PARAMS = "defaults 30" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \ + --user-group mosquitto" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb new file mode 100644 index 0000000000..fa6b43ace9 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb @@ -0,0 +1,28 @@ +SUMMARY = "nanomsg socket library" +DESCRIPTION = "nanomsg is a socket library that provides several common \ +communication patterns. It aims to make the networking layer fast, scalable, \ +and easy to use. Implemented in C, it works on a wide range of operating \ +systems with no further dependencies." +HOMEPAGE = "https://nanomsg.org/" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=587b3fd7fd291e418ff4d2b8f3904755" + +SECTION = "libs/networking" + +SRC_URI = "git://github.com/nanomsg/nanomsg.git;protocol=https" +SRCREV = "e7f8a751316b942d8962cd0232c2d606c1d9a9db" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +# nanomsg documentation generation requires asciidoctor, +# not asciidoc, and currently there's no asciidoctor-native +# recipe anywhere in openembedded-core or meta-openembedded +EXTRA_OECMAKE = " -DNN_ENABLE_DOC=OFF " + +# we don't want nanomsg-tools to be renamed to libnanomsg-tools +DEBIAN_NOAUTONAME_${PN}-tools = "1" + +PACKAGES =+ "${PN}-tools" +FILES_${PN}-tools = "${bindir}/*" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb index 1b604ad529..9159fcbf6b 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb @@ -9,8 +9,9 @@ DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native glib-2.0-native inherit gnomebase useradd gettext systemd SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz" -SRC_URI[md5sum] = "9f325be386aa906ff9b0b7c0bdf2a59a" -SRC_URI[sha256sum] = "3e0b4007f248d96df4b8eb5d0f937536044af7053debbbf525e67c9bc5d30654" + +SRC_URI[md5sum] = "f118226ed2bfbacfd64ac4d1e0bd0383" +SRC_URI[sha256sum] = "ac86a7a539d78df90095676e9183f2d422fb93dbfe4b3afef22f81825d303d61" S = "${WORKDIR}/NetworkManager-openvpn-${PV}" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch new file mode 100644 index 0000000000..0c415bce7e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch @@ -0,0 +1,53 @@ +From 3f4b6319701834182304c4079119780f4ae5b49b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 7 Nov 2018 11:30:44 -0800 +Subject: [PATCH] Do not include net/ethernet.h and linux/if_ether.h + +They conflict when used together especially with musl +removing them still keeps it working so it seems they are redundant + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + shared/n-acd/src/n-acd.c | 1 - + src/platform/wpan/nm-wpan-utils.h | 2 -- + src/settings/nm-settings-connection.h | 2 -- + 3 files changed, 5 deletions(-) + +diff --git a/shared/n-acd/src/n-acd.c b/shared/n-acd/src/n-acd.c +index 9164f95..9538e50 100644 +--- a/shared/n-acd/src/n-acd.c ++++ b/shared/n-acd/src/n-acd.c +@@ -23,7 +23,6 @@ + #include <errno.h> + #include <limits.h> + #include <linux/filter.h> +-#include <linux/if_ether.h> + #include <linux/if_packet.h> + #include <net/ethernet.h> + #include <netinet/if_ether.h> +diff --git a/src/platform/wpan/nm-wpan-utils.h b/src/platform/wpan/nm-wpan-utils.h +index f7d0c03..e1c81f5 100644 +--- a/src/platform/wpan/nm-wpan-utils.h ++++ b/src/platform/wpan/nm-wpan-utils.h +@@ -20,8 +20,6 @@ + #ifndef __WPAN_UTILS_H__ + #define __WPAN_UTILS_H__ + +-#include <net/ethernet.h> +- + #include "nm-dbus-interface.h" + #include "platform/nm-netlink.h" + +diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h +index e796b71..c01fef6 100644 +--- a/src/settings/nm-settings-connection.h ++++ b/src/settings/nm-settings-connection.h +@@ -22,8 +22,6 @@ + #ifndef __NETWORKMANAGER_SETTINGS_CONNECTION_H__ + #define __NETWORKMANAGER_SETTINGS_CONNECTION_H__ + +-#include <net/ethernet.h> +- + #include "nm-dbus-object.h" + #include "nm-connection.h" + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch index 7194423192..49a07353df 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch @@ -1,8 +1,7 @@ From 18f71c1b48730b8602826517f2b5b088283ae948 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 31 Mar 2017 16:48:00 -0700 -Subject: [PATCH 5/7] sd-lldp.h: Remove net/ethernet.h seems to be over - specified +Subject: [PATCH] sd-lldp.h: Remove net/ethernet.h seems to be over specified Signed-off-by: Khem Raj <raj.khem@gmail.com> --- @@ -14,7 +13,7 @@ diff --git a/src/systemd/src/libsystemd-network/sd-lldp.c b/src/systemd/src/libs index 31e2448..7721cc2 100644 --- a/src/systemd/src/libsystemd-network/sd-lldp.c +++ b/src/systemd/src/libsystemd-network/sd-lldp.c -@@ -21,6 +21,7 @@ +@@ -3,6 +3,7 @@ #include "nm-sd-adapt.h" #include <arpa/inet.h> @@ -26,7 +25,7 @@ diff --git a/src/systemd/src/systemd/sd-lldp.h b/src/systemd/src/systemd/sd-lldp index 3f35eeb..61b0e45 100644 --- a/src/systemd/src/systemd/sd-lldp.h +++ b/src/systemd/src/systemd/sd-lldp.h -@@ -22,7 +22,7 @@ +@@ -18,7 +18,7 @@ ***/ #include <inttypes.h> diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch index 28848d3543..351f264cbd 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch @@ -1,7 +1,7 @@ From 583f0448fb7e9aba2b410c06eec6f420b41a6a0c Mon Sep 17 00:00:00 2001 From: Pablo Saavedra <psaavedra@igalia.com> Date: Tue, 13 Mar 2018 17:36:20 +0100 -Subject: [PATCH 7/7] Fixed configure.ac: Fix pkgconfig sysroot locations +Subject: [PATCH] Fixed configure.ac: Fix pkgconfig sysroot locations --- configure.ac | 2 +- @@ -11,7 +11,7 @@ diff --git a/configure.ac b/configure.ac index 51e5eb6..c9d3e56 100644 --- a/configure.ac +++ b/configure.ac -@@ -669,7 +669,7 @@ else +@@ -572,7 +572,7 @@ if test "$have_jansson" = "yes"; then AC_DEFINE(WITH_JANSSON, 1, [Define if JANSSON is enabled]) AC_CHECK_TOOLS(READELF, [eu-readelf readelf]) diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch index 92485f0441..c50293c095 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch @@ -13,15 +13,15 @@ Upstream-Status: Inappropriate [OE specific] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- - Makefile.am | 18 ++---------------- - configure.ac | 4 ---- - 2 files changed, 2 insertions(+), 20 deletions(-) + Makefile.am | 20 -------------------- + configure.ac | 5 ----- + 2 files changed, 25 deletions(-) diff --git a/Makefile.am b/Makefile.am -index 639921d..314a61d 100644 +index 1e100f6..d31e3c1 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -961,9 +961,7 @@ endif +@@ -1115,9 +1115,7 @@ EXTRA_DIST += \ if HAVE_INTROSPECTION libnm_noinst_data = \ @@ -31,37 +31,39 @@ index 639921d..314a61d 100644 libnm/nm-settings-keyfile-docs.xml \ libnm/nm-settings-ifcfg-rh-docs.xml -@@ -3317,23 +3315,11 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums) +@@ -3692,27 +3690,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums) $(clients_common_libnmc_base_la_OBJECTS): clients/common/.dirstamp - clients_common_settings_doc_c = clients/common/settings-docs.c + clients_common_settings_doc_h = clients/common/settings-docs.h -if HAVE_INTROSPECTION --$(clients_common_settings_doc_c): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp +-$(clients_common_settings_doc_h): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp - $(AM_V_GEN) $(XSLTPROC) --output $@ $< $(word 2,$^) --DISTCLEANFILES += $(clients_common_settings_doc_c) --check-local-settings-docs: $(clients_common_settings_doc_c) -- @if test -z "$$NMTST_NO_CHECK_SETTINGS_DOCS" ; then \ -- if ! cmp -s "$(srcdir)/$(clients_common_settings_doc_c).in" "$(builddir)/$(clients_common_settings_doc_c)" ; then \ -- echo "The generated file \"$(builddir)/$(clients_common_settings_doc_c)\" differs from the source file \"$(srcdir)/$(clients_common_settings_doc_c).in\". You probably should copy the generated file over to the source file. You can skip this test by setting \$$NMTST_NO_CHECK_SETTINGS_DOCS=yes"; \ -- false; \ +-DISTCLEANFILES += $(clients_common_settings_doc_h) +-check-local-settings-docs: $(clients_common_settings_doc_h) +- @if test -z "$$NMTST_NO_CHECK_SETTINGS_DOCS" ; then \ +- if ! cmp -s "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)" ; then \ +- if test "$$NM_TEST_REGENERATE" == 1 ; then \ +- cp -f "$(builddir)/$(clients_common_settings_doc_h)" "$(srcdir)/$(clients_common_settings_doc_h).in"; \ +- else \ +- echo "The generated file \"$(builddir)/$(clients_common_settings_doc_h)\" differs from the source file \"$(srcdir)/$(clients_common_settings_doc_h).in\". You probably should copy the generated file over to the source file. You can skip this test by setting \$$NMTST_NO_CHECK_SETTINGS_DOCS=yes". You can also automatically copy the file by rerunning the test with \$$NM_TEST_REGENERATE=1 ; \ +- false; \ +- fi; \ - fi;\ - fi -check_local += check-local-settings-docs -else -+ - $(clients_common_settings_doc_c): $(clients_common_settings_doc_c).in clients/common/.dirstamp - $(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_c).in" "$(builddir)/$(clients_common_settings_doc_c)" + $(clients_common_settings_doc_h): $(clients_common_settings_doc_h).in clients/common/.dirstamp + $(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)" check-local-settings-docs: -endif -+ EXTRA_DIST += \ - $(clients_common_settings_doc_c) \ - $(clients_common_settings_doc_c).in + $(clients_common_settings_doc_h) \ + $(clients_common_settings_doc_h).in diff --git a/configure.ac b/configure.ac -index c9d3e56..407222e 100644 +index 79dc3b9..23d14a6 100644 --- a/configure.ac +++ b/configure.ac -@@ -1286,10 +1286,6 @@ GTK_DOC_CHECK(1.0) +@@ -1195,11 +1195,6 @@ GTK_DOC_CHECK(1.0) # check if we can build setting property documentation build_docs=no if test -n "$INTROSPECTION_MAKEFILE"; then @@ -69,9 +71,10 @@ index c9d3e56..407222e 100644 - if ! "$PYTHON" -c 'from gi.repository import GObject' >& /dev/null; then - AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)]) - fi - +- AC_PATH_PROG(PERL, perl) if test -z "$PERL"; then + AC_MSG_ERROR([--enable-introspection requires perl]) -- -2.14.3 +2.14.5 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch index 9d208e1fda..00dda5b182 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch @@ -1,7 +1,7 @@ From e92de7409a3e107f90d108a9c5d49bd0418296dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Thu, 22 Mar 2018 17:54:10 +0100 -Subject: [PATCH 1/4] Usual fix for musl libc +Subject: [PATCH] Usual fix for musl libc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -13,18 +13,19 @@ Stolen from [1] and prettyfied slightly [1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> + --- src/systemd/src/basic/stdio-util.h | 2 ++ src/systemd/src/basic/util.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h -index bd1144b..9eafacb 100644 +index 73c0327..e1ce64f 100644 --- a/src/systemd/src/basic/stdio-util.h +++ b/src/systemd/src/basic/stdio-util.h -@@ -19,7 +19,9 @@ - along with systemd; If not, see <http://www.gnu.org/licenses/>. - ***/ +@@ -1,7 +1,9 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + #pragma once +#if defined(__GLIBC__) #include <printf.h> @@ -36,7 +37,7 @@ diff --git a/src/systemd/src/basic/util.h b/src/systemd/src/basic/util.h index b31dfd1..9b7032c 100644 --- a/src/systemd/src/basic/util.h +++ b/src/systemd/src/basic/util.h -@@ -46,6 +46,11 @@ +@@ -28,6 +28,11 @@ #include "missing.h" #include "time-util.h" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch index 548cccb329..c162c1dfbb 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch @@ -1,7 +1,7 @@ From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Thu, 22 Mar 2018 18:18:06 +0100 -Subject: [PATCH 2/4] musl: dlopen is included so LD_LIBS="" instead of +Subject: [PATCH] musl: dlopen is included so LD_LIBS="" instead of LD_LIBS="none required" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -22,7 +22,7 @@ diff --git a/configure.ac b/configure.ac index 487a266..96ae4f7 100644 --- a/configure.ac +++ b/configure.ac -@@ -305,6 +305,7 @@ dnl +@@ -235,6 +235,7 @@ dnl dnl Checks for libdl - on certain platforms its part of libc dnl AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=]) diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch index 5dd17b63b4..9a58c0e341 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch @@ -1,7 +1,7 @@ From 714b4731a238653e9c7d885c0dee10677b0a4df3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Thu, 22 Mar 2018 18:24:07 +0100 -Subject: [PATCH 3/4] musl: network support +Subject: [PATCH] musl: network support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -15,7 +15,7 @@ Stolen from [1] and prettyfied slightly Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- libnm-core/nm-utils.h | 4 ++++ - src/platform/wifi/wifi-utils.h | 4 ++++ + src/platform/wifi/nm-wifi-utils.h | 4 ++++ src/systemd/src/basic/socket-util.h | 5 +++++ 3 files changed, 13 insertions(+) @@ -35,10 +35,10 @@ index df9284b..2bcf4b8 100644 #include <linux/if_infiniband.h> #include "nm-core-enum-types.h" -diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h +diff --git a/src/platform/wifi/nm-wifi-utils.h b/src/platform/wifi/nm-wifi-utils.h index 705717b..da3edc4 100644 ---- a/src/platform/wifi/wifi-utils.h -+++ b/src/platform/wifi/wifi-utils.h +--- a/src/platform/wifi/nm-wifi-utils.h ++++ b/src/platform/wifi/nm-wifi-utils.h @@ -22,7 +22,11 @@ #ifndef __WIFI_UTILS_H__ #define __WIFI_UTILS_H__ @@ -50,12 +50,12 @@ index 705717b..da3edc4 100644 +#endif #include "nm-dbus-interface.h" - + #include "nm-setting-wireless.h" diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h index d7e2d85..d109c84 100644 --- a/src/systemd/src/basic/socket-util.h +++ b/src/systemd/src/basic/socket-util.h -@@ -29,6 +29,11 @@ +@@ -11,6 +11,11 @@ #include <linux/netlink.h> #include <linux/if_infiniband.h> #include <linux/if_packet.h> diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch index fc55ce85f6..9e5c943369 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch @@ -1,7 +1,7 @@ From d513c8bfc982dbd976617178b040c512c95710b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Thu, 22 Mar 2018 18:29:00 +0100 -Subject: [PATCH 4/4] musl: process-util +Date: Thu, 25 Oct 2018 09:57:07 +0200 +Subject: [PATCH] musl: process-util MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -18,10 +18,10 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> 1 file changed, 9 insertions(+) diff --git a/src/systemd/src/basic/process-util.c b/src/systemd/src/basic/process-util.c -index 272030d..485f1db 100644 +index 1412f03..45f5049 100644 --- a/src/systemd/src/basic/process-util.c +++ b/src/systemd/src/basic/process-util.c -@@ -36,6 +36,9 @@ +@@ -21,6 +21,9 @@ #include <sys/wait.h> #include <syslog.h> #include <unistd.h> @@ -31,7 +31,7 @@ index 272030d..485f1db 100644 #if 0 /* NM_IGNORED */ #if HAVE_VALGRIND_VALGRIND_H #include <valgrind/valgrind.h> -@@ -1015,11 +1018,13 @@ static void reset_cached_pid(void) { +@@ -1153,11 +1156,13 @@ void reset_cached_pid(void) { cached_pid = CACHED_PID_UNSET; } @@ -39,24 +39,24 @@ index 272030d..485f1db 100644 /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against * libpthread, as it is part of glibc anyway. */ - extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle); + extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle); extern void* __dso_handle __attribute__ ((__weak__)); +#endif pid_t getpid_cached(void) { - pid_t current_value; -@@ -1042,7 +1047,11 @@ pid_t getpid_cached(void) { - - new_pid = getpid(); + static bool installed = false; +@@ -1186,7 +1191,11 @@ pid_t getpid_cached(void) { + * only half-documented (glibc doesn't document it but LSB does — though only superficially) + * we'll check for errors only in the most generic fashion possible. */ +#ifdef __GLIBC__ - if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) { + if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) { +#else -+ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) { ++ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) { +#endif - /* OOM? Let's try again later */ - cached_pid = CACHED_PID_UNSET; - return new_pid; + /* OOM? Let's try again later */ + cached_pid = CACHED_PID_UNSET; + return new_pid; -- -2.14.3 +2.14.5 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch index 752fe4f581..6bca95e189 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch @@ -17,10 +17,10 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> 4 files changed, 8 insertions(+) diff --git a/src/systemd/src/systemd/sd-dhcp-client.h b/src/systemd/src/systemd/sd-dhcp-client.h -index 5e46d8d..18a613f 100644 +index e388552..9c4dde8 100644 --- a/src/systemd/src/systemd/sd-dhcp-client.h +++ b/src/systemd/src/systemd/sd-dhcp-client.h -@@ -21,7 +21,9 @@ +@@ -20,7 +20,9 @@ ***/ #include <inttypes.h> @@ -31,10 +31,10 @@ index 5e46d8d..18a613f 100644 #include <sys/types.h> diff --git a/src/systemd/src/systemd/sd-dhcp-lease.h b/src/systemd/src/systemd/sd-dhcp-lease.h -index 7ab99cc..85acdf2 100644 +index 2a60145..19d1814 100644 --- a/src/systemd/src/systemd/sd-dhcp-lease.h +++ b/src/systemd/src/systemd/sd-dhcp-lease.h -@@ -22,7 +22,9 @@ +@@ -19,7 +19,9 @@ ***/ #include <inttypes.h> @@ -45,24 +45,24 @@ index 7ab99cc..85acdf2 100644 #include <sys/types.h> diff --git a/src/systemd/src/systemd/sd-dhcp6-client.h b/src/systemd/src/systemd/sd-dhcp6-client.h -index 7819f0d..35f30ee 100644 +index fa36dca..2d25010 100644 --- a/src/systemd/src/systemd/sd-dhcp6-client.h +++ b/src/systemd/src/systemd/sd-dhcp6-client.h -@@ -21,7 +21,9 @@ +@@ -20,7 +20,9 @@ ***/ #include <inttypes.h> +#if defined(__GLIBC__) #include <net/ethernet.h> +#endif + #include <stdbool.h> #include <sys/types.h> - #include "sd-dhcp6-lease.h" diff --git a/src/systemd/src/systemd/sd-ipv4ll.h b/src/systemd/src/systemd/sd-ipv4ll.h -index 5ba9208..c90eca6 100644 +index 71bd4cf..1c667ba 100644 --- a/src/systemd/src/systemd/sd-ipv4ll.h +++ b/src/systemd/src/systemd/sd-ipv4ll.h -@@ -20,7 +20,9 @@ +@@ -19,7 +19,9 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ @@ -73,5 +73,5 @@ index 5ba9208..c90eca6 100644 #include "sd-event.h" -- -2.14.3 +2.14.5 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch index 8ed7ee64fb..023a4d9adb 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch @@ -18,7 +18,7 @@ diff --git a/src/systemd/src/basic/in-addr-util.c b/src/systemd/src/basic/in-add index 2a02d90..a57c360 100644 --- a/src/systemd/src/basic/in-addr-util.c +++ b/src/systemd/src/basic/in-addr-util.c -@@ -30,6 +30,7 @@ +@@ -13,6 +13,7 @@ #include "in-addr-util.h" #include "macro.h" #include "parse-util.h" @@ -30,7 +30,7 @@ diff --git a/src/systemd/src/basic/string-util.h b/src/systemd/src/basic/string- index 4c94b18..a6dc446 100644 --- a/src/systemd/src/basic/string-util.h +++ b/src/systemd/src/basic/string-util.h -@@ -44,6 +44,11 @@ +@@ -26,6 +26,11 @@ #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0) #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0) diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb index 09c5dbd188..4cc4dbab5c 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb @@ -5,16 +5,13 @@ SECTION = "net/misc" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \ file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \ - file://docs/api/html/license.html;md5=77b9e362690c149da196aefe7712db30 \ + file://docs/api/html/license.html;md5=2d56a1b0c42e388aa86aef59b154e8c3 \ " DEPENDS = " \ intltool-native \ libxslt-native \ libnl \ - dbus \ - dbus-glib \ - dbus-glib-native \ libgudev \ util-linux \ libndp \ @@ -31,6 +28,7 @@ SRC_URI = " \ file://0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \ file://0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ file://0003-Do-not-create-settings-settings-property-documentati.patch \ + file://0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch \ file://musl/0001-musl-basic.patch \ file://musl/0002-musl-dlopen-configure-ac.patch \ file://musl/0003-musl-network-support.patch \ @@ -38,15 +36,16 @@ SRC_URI = " \ file://musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch \ file://musl/0006-Add-a-strndupa-replacement-for-musl.patch \ " -SRC_URI[md5sum] = "de3c7147a693da6f80eb22f126086a14" -SRC_URI[sha256sum] = "6af0b1e856a3725f88791f55c4fbb04105dc0b20dbf182aaec8aad16481fac76" +SRC_URI[md5sum] = "54ce62f0aa18ef6c5e754eaac47494ac" +SRC_URI[sha256sum] = "35a3ede4c7d12d6212033c9e44cb82b7692f38063b53a067567f02f5937c8c18" + +UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.10/" +UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P<pver>1\.10(\.\d+)+).tar.xz" S = "${WORKDIR}/NetworkManager-${PV}" EXTRA_OECONF = " \ --disable-ifcfg-rh \ - --disable-ifnet \ - --disable-ifcfg-suse \ --disable-more-warnings \ --with-iptables=${sbindir}/iptables \ --with-tests \ @@ -66,7 +65,7 @@ do_compile_prepend() { export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs" } -PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \ +PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \ @@ -85,10 +84,10 @@ PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client" PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" +PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib" PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" -PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,wireless-tools,wpa-supplicant wireless-tools" +PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant" PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" -PACKAGECONFIG[netconfig] = "--with-netconfig=yes,--with-netconfig=no" PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \ @@ -104,8 +103,7 @@ FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so" FILES_${PN} += " \ ${libexecdir} \ - ${libdir}/pppd/*/nm-pppd-plugin.so \ - ${libdir}/NetworkManager/*.so \ + ${libdir}/NetworkManager/${PV}/*.so \ ${nonarch_libdir}/NetworkManager/VPN \ ${nonarch_libdir}/NetworkManager/conf.d \ ${datadir}/polkit-1 \ @@ -123,6 +121,7 @@ FILES_${PN}-dev += " \ ${datadir}/NetworkManager/gdb-cmd \ ${libdir}/pppd/*/*.la \ ${libdir}/NetworkManager/*.la \ + ${libdir}/NetworkManager/${PV}/*.la \ " FILES_${PN}-nmtui = " \ diff --git a/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb index cea1f08f9d..4fe6893fac 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb @@ -30,8 +30,14 @@ SRC_URI += "file://rdist-6.1.5-linux.patch \ file://rdist-6.1.5-makefile-add-ldflags.patch \ " +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/rdist/files/rdist/" +UPSTREAM_CHECK_REGEX = "/rdist/(?P<pver>\d+(\.\d+)+)" + DEPENDS = "bison-native" inherit autotools-brokensep EXTRA_OEMAKE = "BIN_GROUP=root MAN_GROUP=root RDIST_MODE=755 RDISTD_MODE=755 MAN_MODE=644" + +# http://errors.yoctoproject.org/Errors/Details/186972/ +EXCLUDE_FROM_WORLD_libc-musl = "1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch new file mode 100644 index 0000000000..4c94831d7f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch @@ -0,0 +1,86 @@ +From 0bc8bc4143a58f91f6d7ce228b6763f377fdf45a Mon Sep 17 00:00:00 2001 +From: Andrew Bartlett <abartlet@samba.org> +Date: Thu, 12 Jul 2018 12:34:56 +1200 +Subject: [PATCH] ldb: Refuse to build Samba against a newer minor version of + ldb + +Samba is not compatible with new versions of ldb (except release versions) + +Other users would not notice the breakages, but Samba makes many +more assuptions about the LDB internals than any other package. + +(Specifically, LDB 1.2 and 1.4 broke builds against released +Samba versions) + +BUG: https://bugzilla.samba.org/show_bug.cgi?id=13519 + +Signed-off-by: Andrew Bartlett <abartlet@samba.org> +Reviewed-by: Gary Lockyer <gary@catalyst.net.nz> +(cherry picked from commit 52efa796538ae004ca62ea32fc8c833472991be6) +--- + lib/ldb/wscript | 32 ++++++++++++++++++++++---------- + 1 file changed, 22 insertions(+), 10 deletions(-) + +diff --git a/lib/ldb/wscript b/lib/ldb/wscript +index d94086b..2bb0832 100644 +--- a/lib/ldb/wscript ++++ b/lib/ldb/wscript +@@ -62,23 +62,33 @@ def configure(conf): + conf.env.standalone_ldb = conf.IN_LAUNCH_DIR() + + if not conf.env.standalone_ldb: ++ max_ldb_version = [int(x) for x in VERSION.split(".")] ++ max_ldb_version[2] = 999 ++ max_ldb_version_dots = "%d.%d.%d" % tuple(max_ldb_version) ++ + if conf.env.disable_python: +- if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb', minversion=VERSION, +- onlyif='talloc tdb tevent', +- implied_deps='replace talloc tdb tevent'): ++ if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb', ++ minversion=VERSION, ++ maxversion=max_ldb_version_dots, ++ onlyif='talloc tdb tevent', ++ implied_deps='replace talloc tdb tevent'): + conf.define('USING_SYSTEM_LDB', 1) + else: + using_system_pyldb_util = True +- if not conf.CHECK_BUNDLED_SYSTEM_PKG('pyldb-util', minversion=VERSION, +- onlyif='talloc tdb tevent', +- implied_deps='replace talloc tdb tevent ldb'): ++ if not conf.CHECK_BUNDLED_SYSTEM_PKG('pyldb-util', ++ minversion=VERSION, ++ maxversion=max_ldb_version_dots, ++ onlyif='talloc tdb tevent', ++ implied_deps='replace talloc tdb tevent ldb'): + using_system_pyldb_util = False + + # We need to get a pyldb-util for all the python versions + # we are building for + if conf.env['EXTRA_PYTHON']: + name = 'pyldb-util' + conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG'] +- if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION, ++ if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, ++ minversion=VERSION, ++ maxversion=max_ldb_version_dots, + onlyif='talloc tdb tevent', + implied_deps='replace talloc tdb tevent ldb'): + using_system_pyldb_util = False +@@ -86,9 +96,11 @@ def configure(conf): + if using_system_pyldb_util: + conf.define('USING_SYSTEM_PYLDB_UTIL', 1) + +- if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb', minversion=VERSION, +- onlyif='talloc tdb tevent pyldb-util', +- implied_deps='replace talloc tdb tevent'): ++ if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb', ++ minversion=VERSION, ++ maxversion=max_ldb_version_dots, ++ onlyif='talloc tdb tevent pyldb-util', ++ implied_deps='replace talloc tdb tevent'): + conf.define('USING_SYSTEM_LDB', 1) + + if conf.CONFIG_SET('USING_SYSTEM_LDB'): +-- +2.18.0 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch deleted file mode 100644 index 0e89a9be01..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch +++ /dev/null @@ -1,32 +0,0 @@ -Upstream-Status: Submitted [https://github.com/samba-team/samba/pull/70] - -Signed-off-by: Andreas Oberritter <obi@opendreambox.org> - -From 50eac4fd30944e5e1d83060757633fe0ed572723 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter <obi@opendreambox.org> -Date: Wed, 30 Nov 2016 16:25:06 +0100 -Subject: [PATCH] packaging: Avoid timeout for nmbd if started offline with - systemd - -If no network connection appears within DefaultTimeoutStartSec -(~ 90s) after startup, nmbd fails to notify systemd and will -therefore get killed. - -Signed-off-by: Andreas Oberritter <obi@opendreambox.org> - ---- - packaging/systemd/nmb.service | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/packaging/systemd/nmb.service b/packaging/systemd/nmb.service -index 71c93d6..f3d2fc2 100644 ---- a/packaging/systemd/nmb.service -+++ b/packaging/systemd/nmb.service -@@ -10,6 +10,7 @@ EnvironmentFile=-/etc/sysconfig/samba - ExecStart=/usr/sbin/nmbd --foreground --no-process-group $NMBDOPTIONS - ExecReload=/usr/bin/kill -HUP $MAINPID - LimitCORE=infinity -+TimeoutStartSec=0 - - [Install] - WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0006-avoid-using-colon-in-the-checking-msg.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0006-avoid-using-colon-in-the-checking-msg.patch deleted file mode 100644 index cdf7a38c18..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0006-avoid-using-colon-in-the-checking-msg.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 5413f97290d3126262eb309ecbcf7769509f2a11 Mon Sep 17 00:00:00 2001 -From: Jackie Huang <jackie.huang@windriver.com> -Date: Tue, 10 Nov 2015 00:48:35 -0500 -Subject: [PATCH 6/7] avoid using colon in the checking msg - -Upstream-Status: Pending - -colon is used as the separator when parse from -a answers file, the colon here makes it never -get the right answer. - -Signed-off-by: Jackie Huang <jackie.huang@windriver.com> ---- - wscript_configure_system_mitkrb5 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/wscript_configure_system_mitkrb5 b/wscript_configure_system_mitkrb5 -index a62d00b..a2d89f0 100644 ---- a/wscript_configure_system_mitkrb5 -+++ b/wscript_configure_system_mitkrb5 -@@ -240,7 +240,7 @@ conf.CHECK_CODE(''' - ''', - 'HAVE_WRFILE_KEYTAB', - headers='krb5.h', lib='krb5', execute=True, -- msg="Checking whether the WRFILE:-keytab is supported"); -+ msg="Checking whether the WRFILE -keytab is supported"); - # Check for KRB5_DEPRECATED handling - conf.CHECK_CODE('''#define KRB5_DEPRECATED 1 - #include <krb5.h>''', --- -1.9.1 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch index 71db99c5d2..a75ac2bbae 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch @@ -1,15 +1,23 @@ -Musl does not have _r versions of getent() and getpwent() APIs +From 02e0b14d8fa025a5db410d60a7c0dfebd536aaeb Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 6 Nov 2016 23:40:54 -0800 +Subject: [PATCH] Musl does not have _r versions of getent() and getpwent() + APIs Taken from gentoo http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.3.9-remove-getpwent_r.patch Signed-off-by: Khem Raj <raj.khem@gmail.com> -Index: samba-4.4.5/source4/torture/local/nss_tests.c -=================================================================== ---- samba-4.4.5.orig/source4/torture/local/nss_tests.c -+++ samba-4.4.5/source4/torture/local/nss_tests.c -@@ -247,7 +247,6 @@ static bool test_getgrnam_r(struct tortu +--- + source4/torture/local/nss_tests.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/source4/torture/local/nss_tests.c b/source4/torture/local/nss_tests.c +index 2cd6122..04f13c6 100644 +--- a/source4/torture/local/nss_tests.c ++++ b/source4/torture/local/nss_tests.c +@@ -247,7 +247,6 @@ static bool test_getgrnam_r(struct torture_context *tctx, return true; } @@ -17,7 +25,7 @@ Index: samba-4.4.5/source4/torture/local/nss_tests.c static bool test_getgrgid(struct torture_context *tctx, gid_t gid, struct group *grp_p) -@@ -333,6 +332,7 @@ static bool test_enum_passwd(struct tort +@@ -333,6 +332,7 @@ static bool test_enum_passwd(struct torture_context *tctx, return true; } @@ -25,7 +33,7 @@ Index: samba-4.4.5/source4/torture/local/nss_tests.c static bool test_enum_r_passwd(struct torture_context *tctx, struct passwd **pwd_array_p, size_t *num_pwd_p) -@@ -381,6 +381,7 @@ static bool test_enum_r_passwd(struct to +@@ -381,6 +381,7 @@ static bool test_enum_r_passwd(struct torture_context *tctx, return true; } @@ -33,7 +41,7 @@ Index: samba-4.4.5/source4/torture/local/nss_tests.c static bool torture_assert_passwd_equal(struct torture_context *tctx, const struct passwd *p1, -@@ -432,7 +433,7 @@ static bool test_passwd_r(struct torture +@@ -432,7 +433,7 @@ static bool test_passwd_r(struct torture_context *tctx) struct passwd *pwd, pwd1, pwd2; size_t num_pwd; @@ -42,7 +50,7 @@ Index: samba-4.4.5/source4/torture/local/nss_tests.c "failed to enumerate passwd"); for (i=0; i < num_pwd; i++) { -@@ -460,7 +461,7 @@ static bool test_passwd_r_cross(struct t +@@ -460,7 +461,7 @@ static bool test_passwd_r_cross(struct torture_context *tctx) struct passwd *pwd, pwd1, pwd2, pwd3, pwd4; size_t num_pwd; @@ -51,7 +59,7 @@ Index: samba-4.4.5/source4/torture/local/nss_tests.c "failed to enumerate passwd"); for (i=0; i < num_pwd; i++) { -@@ -531,6 +532,7 @@ static bool test_enum_group(struct tortu +@@ -531,6 +532,7 @@ static bool test_enum_group(struct torture_context *tctx, return true; } @@ -59,7 +67,7 @@ Index: samba-4.4.5/source4/torture/local/nss_tests.c static bool test_enum_r_group(struct torture_context *tctx, struct group **grp_array_p, size_t *num_grp_p) -@@ -579,6 +581,7 @@ static bool test_enum_r_group(struct tor +@@ -579,6 +581,7 @@ static bool test_enum_r_group(struct torture_context *tctx, return true; } @@ -67,7 +75,7 @@ Index: samba-4.4.5/source4/torture/local/nss_tests.c static bool torture_assert_group_equal(struct torture_context *tctx, const struct group *g1, -@@ -635,7 +638,7 @@ static bool test_group_r(struct torture_ +@@ -635,7 +638,7 @@ static bool test_group_r(struct torture_context *tctx) struct group *grp, grp1, grp2; size_t num_grp; @@ -76,7 +84,7 @@ Index: samba-4.4.5/source4/torture/local/nss_tests.c "failed to enumerate group"); for (i=0; i < num_grp; i++) { -@@ -663,7 +666,7 @@ static bool test_group_r_cross(struct to +@@ -663,7 +666,7 @@ static bool test_group_r_cross(struct torture_context *tctx) struct group *grp, grp1, grp2, grp3, grp4; size_t num_grp; diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-pam.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-pam.patch index 0cbacb6c0e..27b40f2152 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-pam.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-pam.patch @@ -1,14 +1,21 @@ -Lifted from gentoo and ported to 4.4.5 +From 54a5279cb33abd23ef7c094d51f16078ece2da0c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 6 Nov 2016 23:40:54 -0800 +Subject: [PATCH] Lifted from gentoo and ported to 4.4.5 http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.2.7-pam.patch Signed-off-by: Khem Raj <raj.khem@gmail.com> -Index: samba-4.7.0/source3/wscript -=================================================================== ---- samba-4.7.0.orig/source3/wscript -+++ samba-4.7.0/source3/wscript -@@ -875,7 +875,7 @@ msg.msg_accrightslen = sizeof(fd); +--- + source3/wscript | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/source3/wscript b/source3/wscript +index 5436db2..864f614 100644 +--- a/source3/wscript ++++ b/source3/wscript +@@ -879,7 +879,7 @@ msg.msg_accrightslen = sizeof(fd); if conf.env.with_iconv: conf.DEFINE('HAVE_ICONV', 1) @@ -17,7 +24,7 @@ Index: samba-4.7.0/source3/wscript use_pam=True conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h') if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'): -@@ -952,6 +952,17 @@ int i; i = PAM_RADIO_TYPE; +@@ -956,6 +956,17 @@ int i; i = PAM_RADIO_TYPE; "or headers not found. Use --without-pam to disable " "PAM support."); diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf new file mode 100644 index 0000000000..a0b87c3735 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf @@ -0,0 +1,254 @@ +# +# Sample configuration file for the Samba suite for Debian GNU/Linux. +# +# +# This is the main Samba configuration file. You should read the +# smb.conf(5) manual page in order to understand the options listed +# here. Samba has a huge number of configurable options most of which +# are not shown in this example +# +# Some options that are often worth tuning have been included as +# commented-out examples in this file. +# - When such options are commented with ";", the proposed setting +# differs from the default Samba behaviour +# - When commented with "#", the proposed setting is the default +# behaviour of Samba but the option is considered important +# enough to be mentioned here +# +# NOTE: Whenever you modify this file you should run the command +# "testparm" to check that you have not made any basic syntactic +# errors. + +#======================= Global Settings ======================= + +[global] + +## Browsing/Identification ### + +# Change this to the workgroup/NT-domain name your Samba server will part of + workgroup = WORKGROUP + +# Windows Internet Name Serving Support Section: +# WINS Support - Tells the NMBD component of Samba to enable its WINS Server +# wins support = no + +# WINS Server - Tells the NMBD components of Samba to be a WINS Client +# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both +; wins server = w.x.y.z + +# This will prevent nmbd to search for NetBIOS names through DNS. + dns proxy = no + +#### Networking #### + +# The specific set of interfaces / networks to bind to +# This can be either the interface name or an IP address/netmask; +# interface names are normally preferred +; interfaces = 127.0.0.0/8 eth0 + +# Only bind to the named interfaces and/or networks; you must use the +# 'interfaces' option above to use this. +# It is recommended that you enable this feature if your Samba machine is +# not protected by a firewall or is a firewall itself. However, this +# option cannot handle dynamic or non-broadcast interfaces correctly. +; bind interfaces only = yes + + + +#### Debugging/Accounting #### + +# This tells Samba to use a separate log file for each machine +# that connects + log file = /var/log/samba/log.%m + +# Cap the size of the individual log files (in KiB). + max log size = 1000 + +# If you want Samba to only log through syslog then set the following +# parameter to 'yes'. +# syslog only = no + +# We want Samba to log a minimum amount of information to syslog. Everything +# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log +# through syslog you should set the following parameter to something higher. + syslog = 0 + +# Do something sensible when Samba crashes: mail the admin a backtrace + panic action = /usr/share/samba/panic-action %d + + +####### Authentication ####### + +# Server role. Defines in which mode Samba will operate. Possible +# values are "standalone server", "member server", "classic primary +# domain controller", "classic backup domain controller", "active +# directory domain controller". +# +# Most people will want "standalone server" or "member server". +# Running as "active directory domain controller" will require first +# running "samba-tool domain provision" to wipe databases and create a +# new domain. + server role = standalone server + +# If you are using encrypted passwords, Samba will need to know what +# password database type you are using. + passdb backend = tdbsam + + obey pam restrictions = yes + +# This boolean parameter controls whether Samba attempts to sync the Unix +# password with the SMB password when the encrypted SMB password in the +# passdb is changed. + unix password sync = yes + +# For Unix password sync to work on a Debian GNU/Linux system, the following +# parameters must be set (thanks to Ian Kahan <<kahan@informatik.tu-muenchen.de> for +# sending the correct chat script for the passwd program in Debian Sarge). + passwd program = /usr/bin/passwd %u + passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . + +# This boolean controls whether PAM will be used for password changes +# when requested by an SMB client instead of the program listed in +# 'passwd program'. The default is 'no'. + pam password change = yes + +# This option controls how unsuccessful authentication attempts are mapped +# to anonymous connections + map to guest = bad user + +########## Domains ########### + +# +# The following settings only takes effect if 'server role = primary +# classic domain controller', 'server role = backup domain controller' +# or 'domain logons' is set +# + +# It specifies the location of the user's +# profile directory from the client point of view) The following +# required a [profiles] share to be setup on the samba server (see +# below) +; logon path = \\%N\profiles\%U +# Another common choice is storing the profile in the user's home directory +# (this is Samba's default) +# logon path = \\%N\%U\profile + +# The following setting only takes effect if 'domain logons' is set +# It specifies the location of a user's home directory (from the client +# point of view) +; logon drive = H: +# logon home = \\%N\%U + +# The following setting only takes effect if 'domain logons' is set +# It specifies the script to run during logon. The script must be stored +# in the [netlogon] share +# NOTE: Must be store in 'DOS' file format convention +; logon script = logon.cmd + +# This allows Unix users to be created on the domain controller via the SAMR +# RPC pipe. The example command creates a user account with a disabled Unix +# password; please adapt to your needs +; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u + +# This allows machine accounts to be created on the domain controller via the +# SAMR RPC pipe. +# The following assumes a "machines" group exists on the system +; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u + +# This allows Unix groups to be created on the domain controller via the SAMR +# RPC pipe. +; add group script = /usr/sbin/addgroup --force-badname %g + +############ Misc ############ + +# Using the following line enables you to customise your configuration +# on a per machine basis. The %m gets replaced with the netbios name +# of the machine that is connecting +; include = /home/samba/etc/smb.conf.%m + +# Some defaults for winbind (make sure you're not using the ranges +# for something else.) +; idmap uid = 10000-20000 +; idmap gid = 10000-20000 +; template shell = /bin/bash + +# Setup usershare options to enable non-root users to share folders +# with the net usershare command. + +# Maximum number of usershare. 0 (default) means that usershare is disabled. +; usershare max shares = 100 + +# Allow users who've been granted usershare privileges to create +# public shares, not just authenticated ones + usershare allow guests = yes + +#======================= Share Definitions ======================= + +[homes] + comment = Home Directories + browseable = no + +# By default, the home directories are exported read-only. Change the +# next parameter to 'no' if you want to be able to write to them. + read only = yes + +# File creation mask is set to 0700 for security reasons. If you want to +# create files with group=rw permissions, set next parameter to 0775. + create mask = 0700 + +# Directory creation mask is set to 0700 for security reasons. If you want to +# create dirs. with group=rw permissions, set next parameter to 0775. + directory mask = 0700 + +# By default, \\server\username shares can be connected to by anyone +# with access to the samba server. +# The following parameter makes sure that only "username" can connect +# to \\server\username +# This might need tweaking when using external authentication schemes + valid users = %S + +# Un-comment the following and create the netlogon directory for Domain Logons +# (you need to configure Samba to act as a domain controller too.) +;[netlogon] +; comment = Network Logon Service +; path = /home/samba/netlogon +; guest ok = yes +; read only = yes + +# Un-comment the following and create the profiles directory to store +# users profiles (see the "logon path" option above) +# (you need to configure Samba to act as a domain controller too.) +# The path below should be writable by all users so that their +# profile directory may be created the first time they log on +;[profiles] +; comment = Users profiles +; path = /home/samba/profiles +; guest ok = no +; browseable = no +; create mask = 0600 +; directory mask = 0700 + +[printers] + comment = All Printers + browseable = no + path = /var/spool/samba + printable = yes + guest ok = no + read only = yes + create mask = 0700 + +# Windows clients look for this share name as a source of downloadable +# printer drivers +[print$] + comment = Printer Drivers + path = /var/lib/samba/printers + browseable = yes + read only = yes + guest ok = no +# Uncomment to allow remote administration of Windows print drivers. +# You may need to replace 'lpadmin' with the name of the group your +# admin users are members of. +# Please note that you also need to set appropriate Unix permissions +# to the drivers directory for these users to have write rights in it +; write list = root, @lpadmin + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch index 77c8b3626b..6ae292835b 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch @@ -1,4 +1,7 @@ -samba: correct log files location +From f99b6a8617df6a46f41fb68ffafb2608dbb6681e Mon Sep 17 00:00:00 2001 +From: Joe Slater <joe.slater@windriver.com> +Date: Wed, 8 Nov 2017 11:58:05 -0800 +Subject: [PATCH] samba: correct log files location We use /var/log/samba. @@ -6,9 +9,15 @@ Upstream-Status: Pending Signed-off-by: Joe Slater <joe.slater@windriver.com> ---- a/packaging/RHEL/setup/smb.conf -+++ b/packaging/RHEL/setup/smb.conf -@@ -63,7 +63,7 @@ +--- + examples/smb.conf.default | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/smb.conf.default b/examples/smb.conf.default +index 2f20720..44c1aa8 100644 +--- a/examples/smb.conf.default ++++ b/examples/smb.conf.default +@@ -52,7 +52,7 @@ # this tells Samba to use a separate log file for each machine # that connects diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.7.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb index a8517c541e..da0ac322a7 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.7.6.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb @@ -13,31 +13,33 @@ ${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ " SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ + file://smb.conf \ file://16-do-not-check-xsltproc-manpages.patch \ file://20-do-not-import-target-module-while-cross-compile.patch \ file://21-add-config-option-without-valgrind.patch \ - file://0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch \ - file://0006-avoid-using-colon-in-the-checking-msg.patch \ file://netdb_defines.patch \ file://glibc_only.patch \ file://iconv-4.7.0.patch \ file://dnsserver-4.7.0.patch \ file://smb_conf-4.7.0.patch \ file://volatiles.03_samba \ - " + file://0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch \ + " SRC_URI_append_libc-musl = " \ file://samba-pam.patch \ file://samba-4.3.9-remove-getpwent_r.patch \ " -SRC_URI[md5sum] = "0253021a45c479cec1e135b004a0177a" -SRC_URI[sha256sum] = "1eede30fc8ef6504e24602fb72b00baa0a7b73b59f16d25cb0771dc8c7c57d6e" +SRC_URI[md5sum] = "ca5bfbebd8d9eb95506e16594b2bbee2" +SRC_URI[sha256sum] = "f5044d149e01894a08b1d114b8b69aed78171a7bb19608bd1fd771453b9a5406" + +UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.8(\.\d+)+).tar.gz" inherit systemd waf-samba cpan-base perlnative update-rc.d # remove default added RDEPENDS on perl RDEPENDS_${PN}_remove = "perl" -DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libbsd libaio libpam" +DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libbsd libaio libpam" inherit distro_features_check REQUIRED_DISTRO_FEATURES = "pam" @@ -46,9 +48,6 @@ DEPENDS_append_libc-musl = " libtirpc" CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" LDFLAGS_append_libc-musl = " -ltirpc" -LSB = "" -LSB_linuxstdbase = "lsb" - INITSCRIPT_NAME = "samba" INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." @@ -68,7 +67,6 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} acl ad-dc cups gnutls ldap mitkrb5 \ " -RDEPENDS_${PN}-base += "${LSB}" RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt" PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" @@ -106,7 +104,7 @@ SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODU # .so files so there will not be a conflict. This is not done consistantly, so be very careful # when adding to this list. # -SAMBA4_LIBS="heimdal,cmocka,NONE" +SAMBA4_LIBS="heimdal,cmocka,ldb,pyldb-util,NONE" EXTRA_OECONF += "--enable-fhs \ --with-piddir=/run \ @@ -137,7 +135,7 @@ do_install_append() { done install -d ${D}${systemd_system_unitdir} - install -m 0644 packaging/systemd/*.service ${D}${systemd_system_unitdir} + install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ -i ${D}${systemd_system_unitdir}/*.service @@ -150,23 +148,18 @@ do_install_append() { install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf echo "d ${localstatedir}/log/samba 0755 root root -" \ >> ${D}${sysconfdir}/tmpfiles.d/samba.conf - if [ "${LSB}" = "lsb" ]; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d/samba - else - install -d ${D}${sysconfdir}/init.d - install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba - sed -e 's,/opt/samba/bin,${sbindir},g' \ - -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ - -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ - -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ - -e 's,/usr/bin,${base_bindir},g' \ - -i ${D}${sysconfdir}/init.d/samba - fi + install -d ${D}${sysconfdir}/init.d + install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba + sed -e 's,/opt/samba/bin,${sbindir},g' \ + -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ + -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ + -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ + -e 's,/usr/bin,${base_bindir},g' \ + -i ${D}${sysconfdir}/init.d/samba install -d ${D}${sysconfdir}/samba echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts - install -m644 packaging/RHEL/setup/smb.conf ${D}${sysconfdir}/samba/smb.conf + install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba install -d ${D}${sysconfdir}/default @@ -218,6 +211,7 @@ python samba_populate_packages() { } PACKAGESPLITFUNCS_prepend = "samba_populate_packages " +PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules" RDEPENDS_${PN}-python += "pytalloc python-tdb" @@ -274,6 +268,7 @@ FILES_winbind = "${sbindir}/winbindd \ ${libdir}/samba/idmap \ ${libdir}/samba/nss_info \ ${libdir}/winbind_krb5_locator.so \ + ${libdir}/winbind-krb5-localauth.so \ ${sysconfdir}/init.d/winbind \ ${systemd_system_unitdir}/winbind.service" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-fix-do_package-failed-since-snort-2.9.7.0.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-fix-do_package-failed-since-snort-2.9.7.0.patch deleted file mode 100644 index 047caec324..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-fix-do_package-failed-since-snort-2.9.7.0.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 4335c4c61877c0b65ff4ec767e8ad3ad8c73c32d Mon Sep 17 00:00:00 2001 -From: Zhiquan Li <zhiquan.li@windriver.com> -Date: Fri, 13 Nov 2015 17:40:24 +0800 -Subject: [PATCH] fix do_package failed since snort 2.9.7.0 - -Remove redundant '/' as a workround for below error: -/lib/rpm/bin/debugedit: canonicalization unexpectedly shrank by one character - -It's a rpm debugedit bug: -* http://sourceforge.net/p/snort/mailman/message/34130268/ -* https://bugzilla.redhat.com/show_bug.cgi?id=304121 - -Upstream-Status:Inappropriate [embedded specific] - -Signed-off-by: Zhiquan Li <zhiquan.li@windriver.com> - ---- - src/snort.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/snort.h b/src/snort.h -index 8308e57..499d157 100644 ---- a/src/snort.h -+++ b/src/snort.h -@@ -39,7 +39,7 @@ - #include "sfdaq.h" - #include "sf_types.h" - #include "sfutil/sflsq.h" --#include "sfutil//sfActionQueue.h" -+#include "sfutil/sfActionQueue.h" - #include "profiler.h" - #include "rules.h" - #include "treenodes.h" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch deleted file mode 100644 index 6aa0b736f9..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 5a53260a819e2873f58165e96852529719101c53 Mon Sep 17 00:00:00 2001 -From: Chunrong Guo <B40290@freescale.com> -Date: Mon, 4 Nov 2013 10:39:56 +0800 -Subject: [PATCH] snort: add recipe - -Upstream-Status:Inappropriate [embedded specific] - -fix the below error: -checking for dap address space id... configure: -configure: error: cannot run test program while cross compiling - -Signed-off-by: Chunrong Guo <B40290@freescale.com> - ---- - configure.in | 34 +++++++++++++++++----------------- - 1 file changed, 17 insertions(+), 17 deletions(-) - -diff --git a/configure.in b/configure.in -index 6fe5d68..e7636ce 100644 ---- a/configure.in -+++ b/configure.in -@@ -698,23 +698,23 @@ if test "x$ac_cv_func_daq_dp_add_dc" = "xyes"; then - - fi - --AC_MSG_CHECKING([for daq address space ID]) --AC_RUN_IFELSE( --[AC_LANG_PROGRAM( --[[ --#include <daq.h> --]], --[[ -- DAQ_PktHdr_t hdr; -- hdr.address_space_id = 0; --]])], --[have_daq_address_space_id="yes"], --[have_daq_address_space_id="no"]) --AC_MSG_RESULT($have_daq_address_space_id) --if test "x$have_daq_address_space_id" = "xyes"; then -- AC_DEFINE([HAVE_DAQ_ADDRESS_SPACE_ID],[1], -- [DAQ version supports address space ID in header.]) --fi -+#AC_MSG_CHECKING([for daq address space ID]) -+#AC_RUN_IFELSE( -+#[AC_LANG_PROGRAM( -+#[[ -+##include <daq.h> -+#]], -+#[[ -+# DAQ_PktHdr_t hdr; -+# hdr.address_space_id = 0; -+#]])], -+have_daq_address_space_id="yes" -+#[have_daq_address_space_id="no"]) -+#AC_MSG_RESULT($have_daq_address_space_id) -+#if test "x$have_daq_address_space_id" = "xyes"; then -+# AC_DEFINE([HAVE_DAQ_ADDRESS_SPACE_ID],[1], -+# [DAQ version supports address space ID in header.]) -+#fi - - AC_MSG_CHECKING([for daq flow ID]) - AC_RUN_IFELSE( diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-flow-id.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-flow-id.patch deleted file mode 100644 index 04df37c94f..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-flow-id.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 5aa42a3137c657b5eddd4608343aa1854bd7cd27 Mon Sep 17 00:00:00 2001 -From: Zhiquan Li <zhiquan.li@windriver.com> -Date: Mon, 16 Nov 2015 10:23:00 +0800 -Subject: [PATCH] snort: 2.9.6.0 -> 2.9.7.5 - -Upstream-Status:Inappropriate [embedded specific] - -fix the below error: -checking for daq flow ID... configure: -configure: error: cannot run test program while cross compiling - ---- - configure.in | 34 +++++++++++++++++----------------- - 1 file changed, 17 insertions(+), 17 deletions(-) - -diff --git a/configure.in b/configure.in -index e7636ce..2fbd298 100644 ---- a/configure.in -+++ b/configure.in -@@ -716,23 +716,23 @@ have_daq_address_space_id="yes" - # [DAQ version supports address space ID in header.]) - #fi - --AC_MSG_CHECKING([for daq flow ID]) --AC_RUN_IFELSE( --[AC_LANG_PROGRAM( --[[ --#include <daq.h> --]], --[[ -- DAQ_PktHdr_t hdr; -- hdr.flow_id = 0; --]])], --[have_daq_flow_id="yes"], --[have_daq_flow_id="no"]) --AC_MSG_RESULT($have_daq_flow_id) --if test "x$have_daq_flow_id" = "xyes"; then -- AC_DEFINE([HAVE_DAQ_FLOW_ID],[1], -- [DAQ version supports flow ID in header.]) --fi -+#AC_MSG_CHECKING([for daq flow ID]) -+#AC_RUN_IFELSE( -+#[AC_LANG_PROGRAM( -+#[[ -+##include <daq.h> -+#]], -+#[[ -+# DAQ_PktHdr_t hdr; -+# hdr.flow_id = 0; -+#]])], -+have_daq_flow_id="yes" -+#[have_daq_flow_id="no"]) -+#AC_MSG_RESULT($have_daq_flow_id) -+#if test "x$have_daq_flow_id" = "xyes"; then -+# AC_DEFINE([HAVE_DAQ_FLOW_ID],[1], -+# [DAQ version supports flow ID in header.]) -+#fi - - AC_MSG_CHECKING([for DAQ_VERDICT_RETRY]) - AC_RUN_IFELSE( diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-verdict-retry.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-verdict-retry.patch deleted file mode 100644 index 15958a72d0..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-verdict-retry.patch +++ /dev/null @@ -1,60 +0,0 @@ -From b916443d43f2e1eeacfbed0033274a0270ef634d Mon Sep 17 00:00:00 2001 -From: Zhiquan Li <zhiquan.li@windriver.com> -Date: Mon, 16 Nov 2015 10:23:00 +0800 -Subject: [PATCH] snort: 2.9.6.0 -> 2.9.7.5 - -Upstream-Status:Inappropriate [embedded specific] - -fix the below error: -checking for DAQ_VERDICT_RETRY... configure: -configure: error: cannot run test program while cross compiling - ---- - configure.in | 34 +++++++++++++++++----------------- - 1 file changed, 17 insertions(+), 17 deletions(-) - -diff --git a/configure.in b/configure.in -index 2fbd298..62573a8 100644 ---- a/configure.in -+++ b/configure.in -@@ -734,23 +734,23 @@ have_daq_flow_id="yes" - # [DAQ version supports flow ID in header.]) - #fi - --AC_MSG_CHECKING([for DAQ_VERDICT_RETRY]) --AC_RUN_IFELSE( --[AC_LANG_PROGRAM( --[[ --#include <daq.h> --]], --[[ -- DAQ_Verdict verdict; -- verdict = DAQ_VERDICT_RETRY; --]])], --[have_daq_verdict_retry="yes"], --[have_daq_verdict_retry="no"]) --AC_MSG_RESULT($have_daq_verdict_retry) --if test "x$have_daq_verdict_retry" = "xyes"; then -- AC_DEFINE([HAVE_DAQ_VERDICT_RETRY],[1], -- [DAQ version supports DAQ_VERDICT_RETRY in DAQ_Verdict.]) --fi -+#AC_MSG_CHECKING([for DAQ_VERDICT_RETRY]) -+#AC_RUN_IFELSE( -+#[AC_LANG_PROGRAM( -+#[[ -+##include <daq.h> -+#]], -+#[[ -+# DAQ_Verdict verdict; -+# verdict = DAQ_VERDICT_RETRY; -+#]])], -+have_daq_verdict_retry="yes" -+#[have_daq_verdict_retry="no"]) -+#AC_MSG_RESULT($have_daq_verdict_retry) -+#if test "x$have_daq_verdict_retry" = "xyes"; then -+# AC_DEFINE([HAVE_DAQ_VERDICT_RETRY],[1], -+# [DAQ version supports DAQ_VERDICT_RETRY in DAQ_Verdict.]) -+#fi - - # any sparc platform has to have this one defined. - AC_MSG_CHECKING(for sparc) diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch deleted file mode 100644 index 79e9f076b1..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch +++ /dev/null @@ -1,85 +0,0 @@ -From a1fdbced4166cb0f35d23b63a59312d86860485a Mon Sep 17 00:00:00 2001 -From: Chunrong Guo <B40290@freescale.com> -Date: Mon, 4 Nov 2013 10:39:56 +0800 -Subject: [PATCH] snort: add recipe - -Upstream-Status: Inappropriate [embedded specific] - -fix the below error: -checking for INADDR_NONE... configure: -configure: error: cannot run test program while cross compiling - -Signed-off-by: Chunrong Guo <B40290@freescale.com> - ---- - configure.in | 50 ++++++++++++++++---------------------------------- - 1 file changed, 16 insertions(+), 34 deletions(-) - -diff --git a/configure.in b/configure.in -index 20d15eb..6fe5d68 100644 ---- a/configure.in -+++ b/configure.in -@@ -274,25 +274,7 @@ AC_CHECK_TYPES([int8_t,int16_t,int32_t,int64_t]) - AC_CHECK_TYPES([boolean]) - - # In case INADDR_NONE is not defined (like on Solaris) --have_inaddr_none="no" --AC_MSG_CHECKING([for INADDR_NONE]) --AC_RUN_IFELSE( --[AC_LANG_PROGRAM( --[[ --#include <sys/types.h> --#include <netinet/in.h> --#include <arpa/inet.h> --]], --[[ -- if (inet_addr("10,5,2") == INADDR_NONE); -- return 0; --]])], --[have_inaddr_none="yes"], --[have_inaddr_none="no"]) --AC_MSG_RESULT($have_inaddr_none) --if test "x$have_inaddr_none" = "xno"; then -- AC_DEFINE([INADDR_NONE],[-1],[For INADDR_NONE definition]) --fi -+have_inaddr_none="yes" - - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include <stdio.h> -@@ -421,21 +403,21 @@ if test "x$LPCAP" = "xno"; then - fi - fi - --AC_MSG_CHECKING([for pcap_lex_destroy]) --AC_RUN_IFELSE( --[AC_LANG_PROGRAM( --[[ --#include <pcap.h> --]], --[[ -- pcap_lex_destroy(); --]])], --[have_pcap_lex_destroy="yes"], --[have_pcap_lex_destroy="no"]) --AC_MSG_RESULT($have_pcap_lex_destroy) --if test "x$have_pcap_lex_destroy" = "xyes"; then -- AC_DEFINE([HAVE_PCAP_LEX_DESTROY],[1],[Can cleanup lex buffer stack created by pcap bpf filter]) --fi -+#AC_MSG_CHECKING([for pcap_lex_destroy]) -+#AC_RUN_IFELSE( -+#[AC_LANG_PROGRAM( -+#[[ -+##include <pcap.h> -+#]], -+#[[ -+# pcap_lex_destroy(); -+#]])], -+have_pcap_lex_destroy="yes" -+#[have_pcap_lex_destroy="no"]) -+#AC_MSG_RESULT($have_pcap_lex_destroy) -+#if test "x$have_pcap_lex_destroy" = "xyes"; then -+# AC_DEFINE([HAVE_PCAP_LEX_DESTROY],[1],[Can cleanup lex buffer stack created by pcap bpf filter]) -+#fi - - AC_MSG_CHECKING([for pcap_lib_version]) - AC_LINK_IFELSE( diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch new file mode 100644 index 0000000000..037962fb6b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch @@ -0,0 +1,254 @@ +From dc390837bc7adc205bb955d0922040a7e365d8dd Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@windriver.com> +Date: Mon, 23 Jul 2018 13:54:07 +0800 +Subject: [PATCH] Disable run test program while cross compiling + +fix configure error: +configure: error: cannot run test program while cross compiling + +Upstream-Status:Inappropriate [embedded specific] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + configure.in | 148 +++++------------------------------------------------------ + 1 file changed, 12 insertions(+), 136 deletions(-) + +diff --git a/configure.in b/configure.in +index 4b3a5db..a6c5498 100644 +--- a/configure.in ++++ b/configure.in +@@ -284,19 +284,7 @@ AC_CHECK_TYPES([boolean]) + # In case INADDR_NONE is not defined (like on Solaris) + have_inaddr_none="no" + AC_MSG_CHECKING([for INADDR_NONE]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <sys/types.h> +-#include <netinet/in.h> +-#include <arpa/inet.h> +-]], +-[[ +- if (inet_addr("10,5,2") == INADDR_NONE); +- return 0; +-]])], +-[have_inaddr_none="yes"], +-[have_inaddr_none="no"]) ++have_inaddr_none="yes" + AC_MSG_RESULT($have_inaddr_none) + if test "x$have_inaddr_none" = "xno"; then + AC_DEFINE([INADDR_NONE],[-1],[For INADDR_NONE definition]) +@@ -429,16 +417,7 @@ if test "x$LPCAP" = "xno"; then + fi + + AC_MSG_CHECKING([for pcap_lex_destroy]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <pcap.h> +-]], +-[[ +- pcap_lex_destroy(); +-]])], +-[have_pcap_lex_destroy="yes"], +-[have_pcap_lex_destroy="no"]) ++have_pcap_lex_destroy="yes" + AC_MSG_RESULT($have_pcap_lex_destroy) + if test "x$have_pcap_lex_destroy" = "xyes"; then + AC_DEFINE([HAVE_PCAP_LEX_DESTROY],[1],[Can cleanup lex buffer stack created by pcap bpf filter]) +@@ -716,17 +695,7 @@ fi + AC_CHECK_FUNCS([daq_hup_apply] [daq_acquire_with_meta] [daq_dp_add_dc]) + + AC_MSG_CHECKING([for daq real addresses]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <daq.h> +-]], +-[[ +- DAQ_PktHdr_t hdr; +- hdr.n_real_dPort = 0; +-]])], +-[have_daq_real_addresses="yes"], +-[have_daq_real_addresses="no"]) ++have_daq_real_addresses="no" + AC_MSG_RESULT($have_daq_real_addresses) + if test "x$have_daq_real_addresses" = "xyes"; then + AC_DEFINE([HAVE_DAQ_REAL_ADDRESSES],[1], +@@ -754,17 +723,7 @@ if test "x$ac_cv_func_daq_dp_add_dc" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq address space ID]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <daq.h> +-]], +-[[ +- DAQ_PktHdr_t hdr; +- hdr.address_space_id = 0; +-]])], +-[have_daq_address_space_id="yes"], +-[have_daq_address_space_id="no"]) ++have_daq_address_space_id="yes" + AC_MSG_RESULT($have_daq_address_space_id) + if test "x$have_daq_address_space_id" = "xyes"; then + AC_DEFINE([HAVE_DAQ_ADDRESS_SPACE_ID],[1], +@@ -772,17 +731,7 @@ if test "x$have_daq_address_space_id" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq flow ID]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <daq.h> +-]], +-[[ +- DAQ_PktHdr_t hdr; +- hdr.flow_id = 0; +-]])], +-[have_daq_flow_id="yes"], +-[have_daq_flow_id="no"]) ++have_daq_flow_id="yes" + AC_MSG_RESULT($have_daq_flow_id) + if test "x$have_daq_flow_id" = "xyes"; then + AC_DEFINE([HAVE_DAQ_FLOW_ID],[1], +@@ -790,19 +739,7 @@ if test "x$have_daq_flow_id" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq extended flow modifiers]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <daq.h> +-]], +-[[ +- DAQ_ModFlow_t mod; +- mod.type = 0; +- mod.length = 0; +- mod.value = NULL; +-]])], +-[have_daq_ext_modflow="yes"], +-[have_daq_ext_modflow="no"]) ++have_daq_ext_modflow="no" + AC_MSG_RESULT($have_daq_ext_modflow) + if test "x$have_daq_ext_modflow" = "xyes"; then + CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_EXT_MODFLOW" +@@ -811,19 +748,7 @@ if test "x$have_daq_ext_modflow" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq query flow]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <daq.h> +-]], +-[[ +- DAQ_QueryFlow_t mod; +- mod.type = 0; +- mod.length = 0; +- mod.value = NULL; +-]])], +-[have_daq_queryflow="yes"], +-[have_daq_queryflow="no"]) ++have_daq_queryflow="no" + AC_MSG_RESULT($have_daq_queryflow) + if test "x$have_daq_queryflow" = "xyes"; then + CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_QUERYFLOW" +@@ -832,16 +757,7 @@ if test "x$have_daq_queryflow" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq data channel flags]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <daq.h> +-]], +-[[ +- DAQ_Data_Channel_Params_t params; +-]])], +-[have_daq_data_channel_flags="yes"], +-[have_daq_data_channel_flags="no"]) ++have_daq_data_channel_flags="no" + AC_MSG_RESULT($have_daq_data_channel_flags) + if test "x$have_daq_data_channel_flags" = "xyes"; then + CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_DATA_CHANNEL_PARAMS" +@@ -850,17 +766,7 @@ if test "x$have_daq_data_channel_flags" = "xyes"; then + fi + + AC_MSG_CHECKING([for separate IP versions on pinhole endpoints]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <daq.h> +-]], +-[[ +- DAQ_DP_key_t dpKey; +- dpKey.src_af = 0; +-]])], +-[have_daq_data_channel_separate_ip_versions="yes"], +-[have_daq_data_channel_separate_ip_versions="no"]) ++have_daq_data_channel_separate_ip_versions="no" + AC_MSG_RESULT($have_daq_data_channel_separate_ip_versions) + if test "x$have_daq_data_channel_separate_ip_versions" = "xyes"; then + CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_DATA_CHANNEL_SEPARATE_IP_VERSIONS" +@@ -869,17 +775,7 @@ if test "x$have_daq_data_channel_separate_ip_versions" = "xyes"; then + fi + + AC_MSG_CHECKING([for DAQ_VERDICT_RETRY]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <daq.h> +-]], +-[[ +- DAQ_Verdict verdict; +- verdict = DAQ_VERDICT_RETRY; +-]])], +-[have_daq_verdict_retry="yes"], +-[have_daq_verdict_retry="no"]) ++have_daq_verdict_retry="yes" + AC_MSG_RESULT($have_daq_verdict_retry) + if test "x$have_daq_verdict_retry" = "xyes"; then + AC_DEFINE([HAVE_DAQ_VERDICT_RETRY],[1], +@@ -887,17 +783,7 @@ if test "x$have_daq_verdict_retry" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq packet trace]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <daq.h> +-]], +-[[ +- DAQ_PktHdr_t hdr; +- hdr.flags = DAQ_PKT_FLAG_TRACE_ENABLED; +-]])], +-[have_daq_packet_trace="yes"], +-[have_daq_packet_trace="no"]) ++have_daq_packet_trace="yes" + AC_MSG_RESULT($have_daq_packet_trace) + if test "x$have_daq_packet_trace" = "xyes"; then + AC_DEFINE([HAVE_DAQ_PKT_TRACE],[1], +@@ -907,17 +793,7 @@ else + fi + + AC_MSG_CHECKING([for daq verdict reason]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include <daq.h> +-]], +-[[ +- DAQ_ModFlow_t fl; +- fl.type = DAQ_MODFLOW_TYPE_VER_REASON; +-]])], +-[have_daq_verdict_reason="yes"], +-[have_daq_verdict_reason="no"]) ++have_daq_verdict_reason="yes" + AC_MSG_RESULT($have_daq_verdict_reason) + if test "x$have_daq_verdict_reason" = "xyes"; then + AC_DEFINE([HAVE_DAQ_VERDICT_REASON],[1], +-- +2.7.4 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.7.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb index 2034b85fb5..a99138d3d4 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.7.5.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb @@ -4,22 +4,20 @@ SECTION = "net" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5" -DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native" -DEPENDS_append_libc-musl = " libtirpc" +DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native libtirpc bison-native" -SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \ +SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \ file://snort.init \ - file://disable-inaddr-none.patch \ - file://disable-dap-address-space-id.patch \ - file://disable-daq-flow-id.patch \ - file://disable-daq-verdict-retry.patch \ file://0001-libpcap-search-sysroot-for-headers.patch \ - file://0001-fix-do_package-failed-since-snort-2.9.7.0.patch \ file://fix-host-contamination-when-enable-static-daq.patch \ + file://disable-run-test-program-while-cross-compiling.patch \ " -SRC_URI[tarball.md5sum] = "fd271788c0f8876be87a858a9142f202" -SRC_URI[tarball.sha256sum] = "ad03f11b5301b16642199a86aa90388eaa53f5003f83b0c5595745a490047be1" +SRC_URI[md5sum] = "378e3938b2b5c8e358f942d0ffce18cc" +SRC_URI[sha256sum] = "9f6b3aeac5a109f55504bd370564ac431cb1773507929dc461626898f33f46cd" + +UPSTREAM_CHECK_URI = "https://www.snort.org/downloads" +UPSTREAM_CHECK_REGEX = "snort-(?P<pver>\d+(\.\d+)+)\.tar" inherit autotools gettext update-rc.d pkgconfig @@ -48,8 +46,8 @@ PACKAGECONFIG ?= "openssl lzma" PACKAGECONFIG[openssl] = "--with-openssl-includes=${STAGING_INCDIR} --with-openssl-libraries=${STAGING_LIBDIR}, --without-openssl-includes --without-openssl-libraries, openssl," PACKAGECONFIG[lzma] = "--with-lzma-includes=${STAGING_INCDIR} --with-lzma-libraries=${STAGING_LIBDIR}, --without-lzma-includes --without-lzma-libraries, xz," -CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" -LDFLAGS_append_libc-musl = " -ltirpc" +CFLAGS += "-I${STAGING_INCDIR}/tirpc" +LDFLAGS += " -ltirpc" do_install_append() { install -d ${D}${sysconfdir}/snort/rules diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch new file mode 100644 index 0000000000..8e5f4da362 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch @@ -0,0 +1,26 @@ +From a0ad5128d14b022239445e251cf4a9826e86aa96 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 27 Jun 2017 07:48:31 -0700 +Subject: [PATCH] Add format string to fprintf() call + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/vt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/vt.c b/src/vt.c +index 795d393..a533d3d 100644 +--- a/src/vt.c ++++ b/src/vt.c +@@ -499,7 +499,7 @@ static int vt_cmd_dump_candidates(const struct vt_handle *vh, + } + llen += cmdlen; + +- ret = fprintf(vh->vh_stream, e->cmd); ++ ret = fprintf(vh->vh_stream, "%s", e->cmd); + if (ret < 0) + return ret; + +-- +2.13.2 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch new file mode 100644 index 0000000000..153bced396 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch @@ -0,0 +1,38 @@ +From f567740cf64978ac9db014c786b6d0267b244f33 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 4 Mar 2018 22:30:30 -0800 +Subject: [PATCH 1/2] replace SIGCLD with SIGCHLD and include sys/types.h + +Fixes +main.c:129:10: error: 'SIGCLD' undeclared (first use in this function); did you mean 'SIGCHLD'? + signal(SIGCLD, sig_child); + ^~~~~~ + SIGCHLD + +main.c:125:2: warning: implicit declaration of function 'umask' [-Wimplicit-function-declaration] + umask(0); + ^~~~~ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + src/main.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +Index: git/src/main.c +=================================================================== +--- git.orig/src/main.c ++++ git/src/main.c +@@ -133,9 +133,9 @@ static void daemon_start(int ignsigcld) + + if (ignsigcld) { + #ifdef SIGTSTP +- signal(SIGCLD, sig_child); ++ signal(SIGCHLD, sig_child); + #else +- signal(SIGCLD, SIG_IGN); ++ signal(SIGCHLD, SIG_IGN); + #endif + } + } diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch new file mode 100644 index 0000000000..d8355e25f2 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch @@ -0,0 +1,88 @@ +From 62784e8b6df8ff3a907c1f816154808bea9d7064 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Tue, 25 Sep 2018 14:38:14 +0800 +Subject: [PATCH] support openssl 1.1.x + +Long time no maintain from upstream since 2013 +(git://git.umip.org/umip/umip.git), backport a +fix from openSUSE + +Upstream-Status: Backport [openSUSE] +http://ftp.gwdg.de/pub/opensuse/source/distribution/leap/15.0/repo/oss/src/mipv6d-2.0.2.umip.0.4-lp150.1.2.src.rpm + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + src/keygen.c | 12 ++++++++++++ + src/mh.c | 17 ++++++++++++++++- + 2 files changed, 28 insertions(+), 1 deletion(-) + +diff --git a/src/keygen.c b/src/keygen.c +index e434a38..b902644 100644 +--- a/src/keygen.c ++++ b/src/keygen.c +@@ -172,6 +172,7 @@ static void build_kgen_token(struct in6_addr *addr, uint8_t *nonce, + uint8_t tmp[20]; + #ifdef HAVE_LIBCRYPTO + unsigned int len = 20; ++#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL + HMAC_CTX ctx; + + HMAC_CTX_init(&ctx); +@@ -182,6 +183,17 @@ static void build_kgen_token(struct in6_addr *addr, uint8_t *nonce, + HMAC_Final(&ctx, tmp, &len); + HMAC_CTX_cleanup(&ctx); + #else ++ HMAC_CTX *ctx; ++ ctx = HMAC_CTX_new(); ++ HMAC_Init_ex(ctx, key_cn, sizeof(key_cn), EVP_sha1(), NULL); ++ HMAC_Update(ctx, (unsigned char *)addr, sizeof(*addr)); ++ HMAC_Update(ctx, nonce, NONCE_LENGTH); ++ HMAC_Update(ctx, &id, sizeof(id)); ++ HMAC_Final(ctx, tmp, &len); ++ HMAC_CTX_free(ctx); ++#endif // End of defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL ++ ++#else + HMAC_SHA1_CTX ctx; + + HMAC_SHA1_init(&ctx, key_cn, sizeof(key_cn)); +diff --git a/src/mh.c b/src/mh.c +index cba9a33..212eb5a 100644 +--- a/src/mh.c ++++ b/src/mh.c +@@ -518,9 +518,10 @@ static int calculate_auth_data(const struct iovec *iov, int iovlen, + + #ifdef HAVE_LIBCRYPTO + unsigned int len = HMAC_SHA1_HASH_LEN; +- HMAC_CTX ctx; + const EVP_MD *evp_md = EVP_sha1(); + ++#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL ++ HMAC_CTX ctx; + HMAC_CTX_init(&ctx); + HMAC_Init_ex(&ctx, key, HMAC_SHA1_KEY_SIZE, evp_md, NULL); + +@@ -532,6 +533,20 @@ static int calculate_auth_data(const struct iovec *iov, int iovlen, + HMAC_Final(&ctx, buf, &len); + HMAC_CTX_cleanup(&ctx); + #else ++ HMAC_CTX *ctx; ++ ctx = HMAC_CTX_new(); ++ HMAC_Init_ex(ctx, key, HMAC_SHA1_KEY_SIZE, evp_md, NULL); ++ ++ HMAC_Update(ctx, (uint8_t *)coa, sizeof(*coa)); ++ HMAC_Update(ctx, (uint8_t *)cn, sizeof(*coa)); ++ for (i = 0; i < iovlen; i++) { ++ HMAC_Update(ctx, (uint8_t *)iov[i].iov_base, iov[i].iov_len); ++ } ++ HMAC_Final(ctx, buf, &len); ++ HMAC_CTX_free(ctx); ++#endif ++ ++#else + HMAC_SHA1_CTX ctx; + + HMAC_SHA1_init(&ctx, key, HMAC_SHA1_KEY_SIZE); +-- +2.7.4 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch new file mode 100644 index 0000000000..90d12da149 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch @@ -0,0 +1,143 @@ +From 19b6cf8099e1974b5fc39086fc54103b0cbc2658 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 4 Mar 2018 23:01:25 -0800 +Subject: [PATCH 2/2] replace PTHREAD_MUTEX_FAST_NP with PTHREAD_MUTEX_NORMAL + +PTHREAD_MUTEX_FAST_NP is not available on non-posix systems +e.g. musl + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + src/ha.c | 2 +- + src/icmp6.c | 2 +- + src/mh.c | 2 +- + src/mn.c | 2 +- + src/movement.c | 2 +- + src/mpdisc_ha.c | 2 +- + src/mpdisc_mn.c | 2 +- + src/tqueue.c | 2 +- + src/tunnelctl.c | 2 +- + 9 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/src/ha.c b/src/ha.c +index fbdcff0..b2f811e 100644 +--- a/src/ha.c ++++ b/src/ha.c +@@ -1246,7 +1246,7 @@ int ha_init(void) + { + pthread_mutexattr_t mattrs; + pthread_mutexattr_init(&mattrs); +- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); ++ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); + if (pthread_mutex_init(&bu_worker_mutex, &mattrs) || + pthread_cond_init(&cond, NULL)) + return -1; +diff --git a/src/icmp6.c b/src/icmp6.c +index 3695135..6460634 100644 +--- a/src/icmp6.c ++++ b/src/icmp6.c +@@ -243,7 +243,7 @@ int icmp6_init(void) + return -1; + /* create ICMP listener thread */ + pthread_mutexattr_init(&mattrs); +- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); ++ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); + if (pthread_mutex_init(&icmp6_sock.send_mutex, &mattrs) || + pthread_rwlock_init(&handler_lock, NULL) || + pthread_create(&icmp6_listener, NULL, icmp6_listen, NULL)) +diff --git a/src/mh.c b/src/mh.c +index 60e345e..7928f4c 100644 +--- a/src/mh.c ++++ b/src/mh.c +@@ -204,7 +204,7 @@ int mh_init(void) + return -1; + + pthread_mutexattr_init(&mattrs); +- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); ++ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); + if (pthread_mutex_init(&mh_sock.send_mutex, &mattrs) || + pthread_rwlock_init(&handler_lock, NULL) || + pthread_create(&mh_listener, NULL, mh_listen, NULL)) +diff --git a/src/mn.c b/src/mn.c +index 092cfcb..8f7f448 100644 +--- a/src/mn.c ++++ b/src/mn.c +@@ -1478,7 +1478,7 @@ static struct home_addr_info *hai_copy(struct home_addr_info *conf_hai) + if (hai != NULL) { + pthread_mutexattr_t mattrs; + pthread_mutexattr_init(&mattrs); +- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); ++ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); + + memcpy(hai, conf_hai, sizeof(struct home_addr_info)); + +diff --git a/src/movement.c b/src/movement.c +index d985937..6400448 100644 +--- a/src/movement.c ++++ b/src/movement.c +@@ -2013,7 +2013,7 @@ int md_init(void) + int val; + + pthread_mutexattr_init(&mattrs); +- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); ++ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); + if (pthread_mutex_init(&iface_lock, &mattrs)) + return -1; + +diff --git a/src/mpdisc_ha.c b/src/mpdisc_ha.c +index 40ba05f..fd7a90d 100644 +--- a/src/mpdisc_ha.c ++++ b/src/mpdisc_ha.c +@@ -559,7 +559,7 @@ int mpd_ha_init(void) + { + pthread_mutexattr_t mattrs; + pthread_mutexattr_init(&mattrs); +- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); ++ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); + if (pthread_mutex_init(&mpa_lock, &mattrs) || + pthread_rwlock_init(&prefix_lock, NULL) || + hash_init(&mpa_hash, DOUBLE_ADDR, MPA_BUCKETS) < 0) +diff --git a/src/mpdisc_mn.c b/src/mpdisc_mn.c +index 4873bd6..ada02bd 100644 +--- a/src/mpdisc_mn.c ++++ b/src/mpdisc_mn.c +@@ -267,7 +267,7 @@ int mpd_mn_init(void) + { + pthread_mutexattr_t mattrs; + pthread_mutexattr_init(&mattrs); +- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); ++ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); + if (pthread_mutex_init(&mps_lock, &mattrs)) + return -1; + if (hash_init(&mps_hash, DOUBLE_ADDR, MPS_BUCKETS) < 0) +diff --git a/src/tqueue.c b/src/tqueue.c +index 2f7aa0b..9c185b8 100644 +--- a/src/tqueue.c ++++ b/src/tqueue.c +@@ -65,7 +65,7 @@ int taskqueue_init(void) + { + pthread_mutexattr_t mattrs; + pthread_mutexattr_init(&mattrs); +- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); ++ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); + if (pthread_mutex_init(&mutex, &mattrs) || + pthread_cond_init(&cond, NULL) || + pthread_create(&tq_runner, NULL, runner, NULL)) +diff --git a/src/tunnelctl.c b/src/tunnelctl.c +index 23fc20b..813b8ec 100644 +--- a/src/tunnelctl.c ++++ b/src/tunnelctl.c +@@ -433,7 +433,7 @@ int tunnelctl_init(void) + return -1; + + pthread_mutexattr_init(&mattrs); +- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); ++ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); + if (pthread_mutex_init(&tnl_lock, &mattrs)) + return -1; + +-- +2.16.2 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch new file mode 100644 index 0000000000..dbf0082640 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch @@ -0,0 +1,23 @@ +When "make -j10", the compilation will fail, +because scan.c has included gram.h, but gram.h was produced +after scan.c was compiled + +So add this dependency to ensure that gram.h is produced +before scan.c is produced. + +Upstream-Status: Inappropriate [upstream is not active] + +Signed-off-by: Roy.Li <RongQing.Li@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + src/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -81,3 +81,5 @@ CLEANFILES = gram.c gram.h \ + + DISTCLEANFILES = $(BUILT_SOURCES) + MAINTAINERCLEANFILES = Makefile.in ++ ++scan.c: gram.h diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d new file mode 100755 index 0000000000..ebd70a6cca --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d @@ -0,0 +1,112 @@ +#!/bin/sh +# +# mip6d Start script for the Mobile IPv6 daemon +# +# chkconfig: - 55 25 +# description: The mobile IPv6 daemon allows nodes to remain \ +# reachable while moving around in the IPv6 Internet. +# processname: mip6d +# config: /etc/mip6d.conf +# config: /etc/sysconfig/mip6d +# +### BEGIN INIT INFO +# Provides: mipv6-daemon +# Required-Start: $local_fs $remote_fs $network $named +# Required-Stop: $local_fs $remote_fs $network +# Should-Start: $syslog +# Should-Stop: $network $syslog +# Default-Start: +# Default-Stop: 0 1 6 +# Short-Description: Start and stop Mobile IPV6 daemon +# Description: The mobile IPv6 daemon allows nodes to remain +# reachable while moving around in the IPv6 Internet. +### END INIT INFO + +# Source function library. +. /etc/init.d/functions + +if [ -f /etc/sysconfig/mip6d ]; then + . /etc/sysconfig/mip6d +fi + +mip6d=/usr/sbin/mip6d +prog="mip6d" +lockfile=/var/lock/subsys/$prog + +start() { + [ -x $mip6d ] || exit 5 + echo -n $"Starting $prog: " + start-stop-daemon -S -x ${mip6d} && success || failure + retval=$? + echo + [ $retval -eq 0 ] && touch ${lockfile} + return $retval +} + +stop() { + echo -n $"Stopping $prog: " + start-stop-daemon -K -x $mip6d + retval=$? + echo + [ $retval -eq 0 ] && rm -f ${lockfile} + return $retval +} + +restart() { + stop + start +} + +reload() +{ + echo -n $"Reloading $prog configuration: " + killproc $mip6d -HUP + retval=$? + echo + return $retval +} + +force_reload() { + restart +} + +rh_status() { + status $prog +} + +rh_status_q() { + rh_status > /dev/null 2>&1 +} + +case "$1" in + start) + rh_status_q && exit 0 + $1 + ;; + stop) + rh_status_q || exit 0 + $1 + ;; + restart) + $1 + ;; + reload) + rh_status_q || exit 7 + $1 + ;; + force-reload) + force_reload + ;; + status) + rh_status + ;; + condrestart|try-restart) + rh_status_q || exit 0 + restart + ;; + *) + echo $"Usage: $prog {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac + +exit $? diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service new file mode 100644 index 0000000000..2b5a5b9f1d --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service @@ -0,0 +1,10 @@ +[Unit] +Description=MIPL Mobile IPv6 +After=network.target + +[Service] +EnvironmentFile=-@SYSCONFDIR@/sysconfig/mip6d +ExecStart=@SBINDIR@/mip6d $ARGS + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb new file mode 100644 index 0000000000..e2abc02ce7 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "Mobile IPv6 and NEMO for Linux" +DESCRIPTION = "UMIP is an open source implementation of Mobile IPv6 and NEMO \ +Basic Support for Linux. It is released under the GPLv2 license. It supports \ +the following IETF RFC: RFC6275 (Mobile IPv6), RFC3963 (NEMO), RFC3776 and \ +RFC4877 (IPsec and IKEv2)." +HOMEPAGE = "http://umip.org/" +SECTION = "System Environment/Base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=073dc31ccb2ebed70db54f1e8aeb4c33" +DEPENDS = "openssl ipsec-tools radvd indent-native bison-native" + +SRC_URI = "git://git.umip.org/umip/umip.git \ + file://add-dependency-to-support-parallel-compilation.patch \ + file://mip6d \ + file://mip6d.service \ + file://0001-Add-format-string-to-fprintf-call.patch \ + file://0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch \ + file://0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch \ + file://0001-support-openssl-1.1.x.patch \ + " +SRCREV = "cbd441c5db719db554ff2b4fcb02fef88ae2f791" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "--enable-vt" + +inherit autotools-brokensep systemd update-rc.d + +INITSCRIPT_NAME = "mip6d" +INITSCRIPT_PARAMS = "start 64 . stop 36 0 1 2 3 4 5 6 ." + +SYSTEMD_SERVICE_${PN} = "mip6d.service" +SYSTEMD_AUTO_ENABLE = "disable" + +do_install_append() { + install -D -m 0755 ${WORKDIR}/mip6d ${D}${sysconfdir}/init.d/mip6d + install -D -m 0644 ${WORKDIR}/mip6d.service ${D}${systemd_system_unitdir}/mip6d.service + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_system_unitdir}/mip6d.service +} + +RRECOMMENDS_${PN} = "kernel-module-mip6 kernel-module-ipv6" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb b/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb index 7eea5d135b..4c3d95bd8a 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb @@ -4,7 +4,7 @@ SECTION = "misc" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://vconfig.c;beginline=1;endline=19;md5=094ca47de36c20c598b15b32c270ce0a" -SRC_URI = "http://${BPN}.sourcearchive.com/downloads/${PV}-3ubuntu9/${BPN}_${PV}.orig.tar.gz \ +SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/vlan/1.9-3ubuntu10.6/${BPN}_${PV}.orig.tar.gz \ file://no-HOME-includes.patch \ file://0001-Add-printf-format-and-silence-format-security-warnin.patch \ " @@ -12,6 +12,9 @@ SRC_URI = "http://${BPN}.sourcearchive.com/downloads/${PV}-3ubuntu9/${BPN}_${PV} SRC_URI[md5sum] = "5f0c6060b33956fb16e11a15467dd394" SRC_URI[sha256sum] = "3b8f0a1bf0d3642764e5f646e1f3bbc8b1eeec474a77392d9aeb4868842b4cca" +UPSTREAM_CHECK_URI = "http://vlan.sourcearchive.com/" +UPSTREAM_CHECK_REGEX = "/(?P<pver>\d+(\.\d+)+)/" + S = "${WORKDIR}/${BPN}" inherit update-alternatives diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb b/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb deleted file mode 100644 index 64e9401e7a..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Wireless Central Regulatory Domain Database" -HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA" -SECTION = "net" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" - -SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" -SRC_URI[md5sum] = "d282cce92b6e692e8673e2bd97adf33b" -SRC_URI[sha256sum] = "cfedf1c3521b3c8f32602f25ed796e96e687c3441a00e7c050fedf7fd4f1b8b7" - -inherit bin_package - -do_install() { - install -d -m0755 ${D}${libdir}/crda - install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys - install -m 0644 regulatory.bin ${D}${libdir}/crda/regulatory.bin - install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem -} - -RSUGGESTS_${PN} = "crda" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb b/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb new file mode 100644 index 0000000000..2b990db3cb --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb @@ -0,0 +1,42 @@ +SUMMARY = "Wireless Central Regulatory Domain Database" +HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA" +SECTION = "net" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" + +SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" +SRC_URI[md5sum] = "0cbbdc21186c76cf58aba01b03f3dc5b" +SRC_URI[sha256sum] = "e1dfbc3b97771373077f430c3c05082fae883145b37db5b2cfd12c56676fbe7b" + +inherit bin_package allarch + +do_install() { + install -d -m0755 ${D}${nonarch_libdir}/crda + install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys + install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin + install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem + + install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db + install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s +} + +# Install static regulatory DB in /lib/firmware for kernel to load. +# This requires Linux kernel >= v4.15. +# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass in kernel's recipe. +PACKAGES =+ "${PN}-static" +RCONFLICTS_${PN} = "${PN}-static" + +FILES_${PN}-static = " \ + ${nonarch_base_libdir}/firmware/regulatory.db \ + ${nonarch_base_libdir}/firmware/regulatory.db.p7s \ +" + +# Native users might want to use the source of regulatory DB. +# This is for example used by Linux kernel <= v4.14 and kernel_wireless_regdb.bbclass. +do_install_append_class-native() { + install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt +} + +RSUGGESTS_${PN} = "crda" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.12.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb index 9290651d05..dc9094d8bf 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.12.0.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb @@ -13,7 +13,7 @@ PROVIDES += "cyassl" RPROVIDES_${PN} = "cyassl" S = "${WORKDIR}/git" -SRCREV = "d195009dcb62d8712195661bd1d50f8dd6831044" +SRCREV = "1196a3b64d9fabffc8273b87f6f69ac0e75d2eb7" SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https; \ file://0001-fix-no-rule-to-make-cyassl-options.h.patch \ " |