From 82c905dc58a36aeae40b1b273a12f63fb1973cf4 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 13 Apr 2020 13:39:40 -0500 Subject: meta-openembedded and poky: subtree updates Squash of the following due to dependencies among them and OpenBMC changes: meta-openembedded: subtree update:d0748372d2..9201611135 meta-openembedded: subtree update:9201611135..17fd382f34 poky: subtree update:9052e5b32a..2e11d97b6c poky: subtree update:2e11d97b6c..a8544811d7 The change log was too large for the jenkins plugin to handle therefore it has been removed. Here is the first and last commit of each subtree: meta-openembedded:d0748372d2 cppzmq: bump to version 4.6.0 meta-openembedded:17fd382f34 mpv: Remove X11 dependency poky:9052e5b32a package_ipk: Remove pointless comment to trigger rebuild poky:a8544811d7 pbzip2: Fix license warning Change-Id: If0fc6c37629642ee207a4ca2f7aa501a2c673cd6 Signed-off-by: Andrew Geissler --- meta-openembedded/meta-networking/conf/layer.conf | 2 +- .../recipes-connectivity/civetweb/civetweb_git.bb | 6 +- .../crda/crda/crda-4.14-python-3.patch | 101 +++++++ .../recipes-connectivity/crda/crda_3.18.bb | 5 +- .../recipes-connectivity/dhcpcd/dhcpcd_8.1.5.bb | 27 -- .../recipes-connectivity/dhcpcd/dhcpcd_8.1.6.bb | 27 ++ .../firewalld/firewalld_0.7.2.bb | 89 ------ .../firewalld/firewalld_0.7.3.bb | 89 ++++++ ...-rlm_python3-add-PY_INC_DIR-in-search-dir.patch | 58 ++++ ...-to-radiusd-user-group-when-rotating-logs.patch | 104 ------- .../freeradius/freeradius_3.0.19.bb | 234 --------------- .../freeradius/freeradius_3.0.20.bb | 237 +++++++++++++++ .../recipes-connectivity/kea/kea_1.7.3.bb | 63 ---- .../recipes-connectivity/kea/kea_1.7.6.bb | 67 +++++ .../recipes-connectivity/lftp/lftp_4.9.0.bb | 31 -- .../recipes-connectivity/lftp/lftp_4.9.1.bb | 31 ++ .../recipes-connectivity/libdnet/libdnet_1.12.bb | 4 +- .../recipes-connectivity/mbedtls/mbedtls_2.16.3.bb | 41 --- .../recipes-connectivity/mbedtls/mbedtls_2.16.6.bb | 43 +++ .../miniupnpd/miniupnpd_2.1.20191006.bb | 1 + .../mosquitto/files/1571.patch | 22 ++ .../mosquitto/files/install-protocol.patch | 14 + .../mosquitto/files/mosquitto.init | 2 +- .../mosquitto/mosquitto_1.6.8.bb | 98 ------ .../mosquitto/mosquitto_1.6.9.bb | 87 ++++++ .../recipes-connectivity/nanomsg/nng_1.2.5.bb | 21 ++ .../recipes-connectivity/netplan/netplan_0.98.bb | 2 +- .../networkmanager-openvpn_1.8.10.bb | 40 --- .../networkmanager-openvpn_1.8.12.bb | 52 ++++ ...figure.ac-Fix-pkgconfig-sysroot-locations.patch | 6 +- ...te-settings-settings-property-documentati.patch | 23 +- ...0001-Fix-build-with-musl-systemd-specific.patch | 26 +- .../musl/0002-Fix-build-with-musl.patch | 30 +- .../0003-Fix-build-with-musl-for-n-dhcp4.patch | 61 ++++ ...0004-Fix-build-with-musl-systemd-specific.patch | 26 ++ .../networkmanager/networkmanager_1.18.4.bb | 151 ---------- .../networkmanager/networkmanager_1.22.10.bb | 166 ++++++++++ ...rojans-tncc-wrapper.py-convert-to-python3.patch | 71 +++++ .../openconnect/openconnect_8.03.bb | 14 +- .../python-networkmanager_2.1.bb | 13 - .../python3-networkmanager_2.1.bb | 13 + .../recipes-connectivity/relayd/relayd_git.bb | 2 + .../recipes-connectivity/samba/samba_4.10.11.bb | 333 --------------------- .../recipes-connectivity/samba/samba_4.10.13.bb | 333 +++++++++++++++++++++ .../recipes-connectivity/ufw/ufw_0.33.bb | 9 +- .../recipes-connectivity/vpnc/vpnc_0.5.3.bb | 6 +- .../recipes-connectivity/wolfssl/wolfssl_4.3.0.bb | 21 -- .../recipes-connectivity/wolfssl/wolfssl_4.4.0.bb | 21 ++ .../packagegroups/packagegroup-meta-networking.bb | 8 +- .../cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch | 35 +++ .../cyrus-sasl/cyrus-sasl_2.1.27.bb | 1 + .../recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb | 2 + .../iscsi-initiator-utils_2.0.878.bb | 120 -------- .../iscsi-initiator-utils_2.1.0.bb | 120 ++++++++ .../keepalived/keepalived_2.0.19.bb | 45 --- .../keepalived/keepalived_2.0.20.bb | 45 +++ .../0001-immom_python-convert-to-python3.patch | 50 ++++ .../recipes-daemons/opensaf/opensaf_5.19.10.bb | 7 +- .../recipes-daemons/postfix/postfix.inc | 16 +- .../recipes-daemons/postfix/postfix_3.4.7.bb | 21 -- .../recipes-daemons/postfix/postfix_3.4.8.bb | 21 ++ .../recipes-daemons/proftpd/proftpd_1.3.6.bb | 5 +- .../recipes-daemons/ptpd/ptpd_2.3.1.bb | 2 + .../recipes-daemons/squid/squid_4.9.bb | 2 + .../recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb | 5 + ...txt-Fix-grpc_cpp_plugin-path-during-cross.patch | 45 --- ....txt-Fix-libraries-installation-for-Linux.patch | 177 ----------- .../recipes-devtools/grpc/grpc_1.24.3.bb | 59 ---- .../recipes-devtools/python/python-ldap_3.2.0.bb | 31 -- .../recipes-devtools/python/python3-ldap_3.2.0.bb | 31 ++ ...-configure.ac-fix-pkgconfig-issue-of-rdma.patch | 32 -- .../corosync/corosync/corosync.conf | 85 +++--- .../recipes-extended/corosync/corosync_2.4.5.bb | 81 ----- .../recipes-extended/corosync/corosync_3.0.3.bb | 74 +++++ .../dlm/dlm/0001-dlm-fix-package-qa-error.patch | 32 -- ...Replace-cp-a-with-mode-preserving-options.patch | 51 ++++ .../recipes-extended/dlm/dlm_4.0.9.bb | 24 +- .../recipes-extended/kronosnet/kronosnet_1.15.bb | 23 ++ .../conntrack-tools/conntrack-tools_1.4.5.bb | 34 --- .../conntrack-tools/conntrack-tools_1.4.6.bb | 34 +++ .../libnetfilter/libnetfilter-conntrack_1.0.7.bb | 15 - .../libnetfilter/libnetfilter-conntrack_1.0.8.bb | 15 + .../recipes-filter/libnftnl/libnftnl_1.1.5.bb | 14 - .../recipes-filter/libnftnl/libnftnl_1.1.6.bb | 14 + .../0001-update-python3-nftables-reference.patch | 47 --- .../recipes-filter/nftables/nftables_0.9.3.bb | 33 -- .../recipes-filter/nftables/nftables_0.9.4.bb | 32 ++ .../wireguard/wireguard-module_0.0.20190913.bb | 31 -- .../wireguard/wireguard-module_1.0.20200401.bb | 35 +++ .../wireguard/wireguard-tools_0.0.20190913.bb | 27 -- .../wireguard/wireguard-tools_1.0.20200319.bb | 25 ++ .../recipes-kernel/wireguard/wireguard.inc | 6 +- .../recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb | 2 + .../recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb | 34 ++- .../netkit-telnet/files/CVE-2020-10188.patch | 112 +++++++ .../netkit-telnet/netkit-telnet_0.17.bb | 4 + .../recipes-protocols/babeld/babeld_1.9.1.bb | 2 + ...subroutine-for-cleaning-recent-interfaces.patch | 60 ++++ ...-subroutine-for-tearing-down-an-interface.patch | 58 ++++ .../files/0003-Track-interface-socket-family.patch | 50 ++++ .../0004-Use-list-for-changed-interfaces.patch | 177 +++++++++++ .../files/0005-Handle-noisy-netlink-sockets.patch | 212 +++++++++++++ .../mdns/files/0006-Remove-unneeded-function.patch | 51 ++++ ...-Indicate-loopback-interface-to-mDNS-core.patch | 129 ++++++++ ...-Mark-deleted-interfaces-as-being-changed.patch | 39 +++ .../files/0009-Fix-possible-NULL-dereference.patch | 45 +++ .../0010-Handle-errors-from-socket-calls.patch | 62 ++++ ...dynamic-allocation-to-file-scope-variable.patch | 51 ++++ .../recipes-protocols/mdns/mdns_878.260.1.bb | 90 ------ .../recipes-protocols/mdns/mdns_878.270.2.bb | 101 +++++++ ...fig-support-for-building-applications-and.patch | 170 +++++++++++ .../recipes-protocols/net-snmp/net-snmp_5.8.bb | 10 +- .../files/0001-Fix-musl-libc-build-issue.patch | 26 ++ ...s-Add-include-path-to-generated-version.h.patch | 29 ++ ...dd-option-to-disable-installation-of-syst.patch | 57 ++++ .../recipes-protocols/openlldp/openlldp_1.0.1.bb | 33 ++ .../pptp-linux/pptp-linux_1.10.0.bb | 2 + .../recipes-protocols/quagga/quagga.inc | 13 +- .../recipes-protocols/usrsctp/usrsctp_git.bb | 2 + ...FLAGS-for-package-specific-compiler-flags.patch | 42 +-- .../arptables/arptables-init-busybox.patch | 77 ----- .../arptables/arptables-remove-bashism.patch | 37 --- .../recipes-support/arptables/arptables_git.bb | 6 +- .../c-ares/c-ares/cmake-install-libcares.pc.patch | 112 ------- .../recipes-support/c-ares/c-ares_1.15.0.bb | 26 -- ...x-Modify-the-dir-of-install-exec-hook-and.patch | 43 +++ .../recipes-support/cifs/cifs-utils_6.10.bb | 39 +++ .../recipes-support/cifs/cifs-utils_6.9.bb | 35 --- .../dnssec-conf/dnssec-conf_2.02.bb | 35 --- .../recipes-support/dovecot/dovecot_2.2.36.4.bb | 2 +- .../recipes-support/drbd/drbd-utils_9.11.0.bb | 56 ---- .../recipes-support/drbd/drbd-utils_9.12.0.bb | 58 ++++ .../recipes-support/fetchmail/fetchmail_6.4.1.bb | 20 -- .../recipes-support/fetchmail/fetchmail_6.4.3.bb | 20 ++ .../recipes-support/libmemcached/libmemcached.inc | 2 + .../0001-waf-add-support-of-cross_compile.patch | 63 ---- .../tdb-Add-configure-options-for-packages.patch | 2 +- .../recipes-support/libtdb/libtdb_1.4.2.bb | 57 ---- .../recipes-support/libtdb/libtdb_1.4.3.bb | 56 ++++ .../lowpan-tools/lowpan-tools_git.bb | 2 +- .../recipes-support/memcached/memcached_1.5.20.bb | 2 +- ...1-server-Fix-build-when-printf-is-a-macro.patch | 39 +++ .../recipes-support/nbdkit/nbdkit_git.bb | 36 +++ .../recipes-support/ncp/libowfat_0.32.bb | 2 + .../recipes-support/ndisc6/ndisc6_git.bb | 2 + .../recipes-support/netcf/netcf_0.2.8.bb | 2 +- .../recipes-support/netperf/netperf_git.bb | 2 +- .../recipes-support/nghttp2/nghttp2_1.40.0.bb | 2 +- .../recipes-support/nis/ypbind-mt_2.6.bb | 2 +- .../recipes-support/ntop/ntop/embed-libs.patch | 20 ++ .../recipes-support/ntop/ntop_5.0.1.bb | 7 +- ...reproducibility-respect-source-date-epoch.patch | 16 - .../recipes-support/ntp/ntp_4.2.8p13.bb | 179 ----------- .../recipes-support/ntp/ntp_4.2.8p14.bb | 178 +++++++++++ .../recipes-support/nvmetcli/nvmetcli_0.7.bb | 39 +++ ..._bmc_emu.c-include-readline.h-from-readli.patch | 31 -- .../recipes-support/openipmi/openipmi_2.0.27.bb | 113 ------- .../recipes-support/openipmi/openipmi_2.0.28.bb | 112 +++++++ .../recipes-support/openvpn/openvpn_2.4.7.bb | 71 ----- .../recipes-support/openvpn/openvpn_2.4.8.bb | 73 +++++ ...0001-Remove-man-files-which-cant-be-built.patch | 11 +- ...001-Use-overloadable-attribute-with-clang.patch | 42 --- ...-Use-sched_yield-instead-of-pthread_yield.patch | 30 -- .../recipes-support/rdma-core/rdma-core_27.0.bb | 44 --- .../recipes-support/rdma-core/rdma-core_28.0.bb | 42 +++ .../recipes-support/spice/spice-protocol_git.bb | 4 +- .../recipes-support/spice/spice_git.bb | 7 +- .../recipes-support/strongswan/strongswan_5.8.2.bb | 135 --------- .../recipes-support/strongswan/strongswan_5.8.4.bb | 135 +++++++++ .../recipes-support/uftp/uftp_4.10.2.bb | 17 ++ .../recipes-support/uftp/uftp_4.10.bb | 17 -- .../recipes-support/unbound/unbound_1.9.4.bb | 2 +- .../recipes-support/wireshark/wireshark_3.2.0.bb | 81 ----- .../recipes-support/wireshark/wireshark_3.2.2.bb | 81 +++++ 174 files changed, 4863 insertions(+), 3659 deletions(-) create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/crda/crda/crda-4.14-python-3.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.5.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.6.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.2.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-su-to-radiusd-user-group-when-rotating-logs.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.19.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.6.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.1.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.6.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/1571.patch create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/install-protocol.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.8.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.9.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.10.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-for-n-dhcp4.patch create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-Fix-build-with-musl-systemd-specific.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.4.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.10.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-trojans-tncc-wrapper.py-convert-to-python3.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python3-networkmanager_2.1.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.11.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.13.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.3.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.4.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.878.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.19.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.20.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immom_python-convert-to-python3.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.7.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.8.bb delete mode 100644 meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch delete mode 100644 meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch delete mode 100644 meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.3.bb delete mode 100644 meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-devtools/python/python3-ldap_3.2.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-configure.ac-fix-pkgconfig-issue-of-rdma.patch delete mode 100644 meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.5.bb create mode 100644 meta-openembedded/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb delete mode 100644 meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-package-qa-error.patch create mode 100644 meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-make-Replace-cp-a-with-mode-preserving-options.patch create mode 100644 meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.15.bb delete mode 100644 meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.5.bb create mode 100644 meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb delete mode 100644 meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.7.bb create mode 100644 meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb delete mode 100644 meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.5.bb create mode 100644 meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.6.bb delete mode 100644 meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-update-python3-nftables-reference.patch delete mode 100644 meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.4.bb delete mode 100644 meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190913.bb create mode 100644 meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200401.bb delete mode 100644 meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190913.bb create mode 100644 meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200319.bb create mode 100644 meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.260.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb create mode 100644 meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils/0001-Bugfix-Modify-the-dir-of-install-exec-hook-and.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.10.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.9.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.11.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.12.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.3.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.2.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/ntop/ntop/embed-libs.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p14.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/nvmetcli/nvmetcli_0.7.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.28.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.7.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.8.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Use-overloadable-attribute-with-clang.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_28.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.2.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.4.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.2.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.2.bb (limited to 'meta-openembedded/meta-networking') diff --git a/meta-openembedded/meta-networking/conf/layer.conf b/meta-openembedded/meta-networking/conf/layer.conf index 866bda755..7bc0702ba 100644 --- a/meta-openembedded/meta-networking/conf/layer.conf +++ b/meta-openembedded/meta-networking/conf/layer.conf @@ -17,7 +17,7 @@ LAYERDEPENDS_networking-layer = "core" LAYERDEPENDS_networking-layer += "openembedded-layer" LAYERDEPENDS_networking-layer += "meta-python" -LAYERSERIES_COMPAT_networking-layer = "thud warrior zeus" +LAYERSERIES_COMPAT_networking-layer = "thud warrior zeus dunfell" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb index 71368c1a1..2820f9fa6 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb @@ -2,10 +2,10 @@ SUMMARY = "Civetweb embedded web server" HOMEPAGE = "https://github.com/civetweb/civetweb" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f28fdcba0dda735eed62bac6a397562" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=50bd1d7f135b50d7e218996ba28d0d88" -SRCREV = "6423faea4800f6cd4055750a7af2da85cdbe4e96" -PV = "1.11+git${SRCPV}" +SRCREV = "4b440a339979852d5a51fb11a822952712231c23" +PV = "1.12+git${SRCPV}" SRC_URI = "git://github.com/civetweb/civetweb.git \ file://0001-Unittest-Link-librt-and-libm-using-l-option.patch \ " diff --git a/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/crda-4.14-python-3.patch b/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/crda-4.14-python-3.patch new file mode 100644 index 000000000..9125d0ab9 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/crda-4.14-python-3.patch @@ -0,0 +1,101 @@ +Imported from Gentoo +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c50acec16bc7c33d6dc122c007d713e7fbecf9c + +Signed-off-by: Khem Raj + +--- a/utils/key2pub.py ++++ b/utils/key2pub.py +@@ -1,22 +1,22 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + try: + from M2Crypto import RSA +-except ImportError, e: ++except ImportError as e: + sys.stderr.write('ERROR: Failed to import the "M2Crypto" module: %s\n' % e.message) + sys.stderr.write('Please install the "M2Crypto" Python module.\n') + sys.stderr.write('On Debian GNU/Linux the package is called "python-m2crypto".\n') + sys.exit(1) + + def print_ssl_64(output, name, val): +- while val[0] == '\0': ++ while val[0:1] == b'\0': + val = val[1:] + while len(val) % 8: +- val = '\0' + val ++ val = b'\0' + val + vnew = [] + while len(val): +- vnew.append((val[0], val[1], val[2], val[3], val[4], val[5], val[6], val[7])) ++ vnew.append((val[0:1], val[1:2], val[2:3], val[3:4], val[4:5], val[5:6], val[6:7], val[7:8])) + val = val[8:] + vnew.reverse() + output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew))) +@@ -34,13 +34,13 @@ def print_ssl_64(output, name, val): + output.write('};\n\n') + + def print_ssl_32(output, name, val): +- while val[0] == '\0': ++ while val[0:1] == b'\0': + val = val[1:] + while len(val) % 4: +- val = '\0' + val ++ val = b'\0' + val + vnew = [] + while len(val): +- vnew.append((val[0], val[1], val[2], val[3], )) ++ vnew.append((val[0:1], val[1:2], val[2:3], val[3:4])) + val = val[4:] + vnew.reverse() + output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew))) +@@ -81,21 +81,21 @@ struct pubkey { + + static struct pubkey keys[] __attribute__((unused))= { + ''') +- for n in xrange(n + 1): ++ for n in range(n + 1): + output.write(' KEYS(e_%d, n_%d),\n' % (n, n)) + output.write('};\n') + pass + + def print_gcrypt(output, name, val): + output.write('#include \n') +- while val[0] == '\0': ++ while val[0:1] == b'\0': + val = val[1:] + output.write('static const uint8_t %s[%d] = {\n' % (name, len(val))) + idx = 0 + for v in val: + if not idx: + output.write('\t') +- output.write('0x%.2x, ' % ord(v)) ++ output.write('0x%.2x, ' % (v if sys.version_info[0] >=3 else ord(v))) + idx += 1 + if idx == 8: + idx = 0 +@@ -118,7 +118,7 @@ struct key_params { + + static const struct key_params keys[] __attribute__((unused))= { + ''') +- for n in xrange(n + 1): ++ for n in range(n + 1): + output.write(' KEYS(e_%d, n_%d),\n' % (n, n)) + output.write('};\n') + +@@ -136,7 +136,7 @@ except IndexError: + mode = None + + if not mode in modes: +- print 'Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys())) ++ print('Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys()))) + sys.exit(2) + + output = open(outfile, 'w') +@@ -154,3 +154,5 @@ for f in files: + idx += 1 + + modes[mode][1](output, idx - 1) ++ ++output.close() 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 7c925b252..b380eaf94 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,7 @@ 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 libnl libgcrypt" +DEPENDS = "python3-m2crypto-native libnl libgcrypt" SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \ file://do-not-run-ldconfig-if-destdir-is-set.patch \ @@ -14,11 +14,12 @@ SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \ file://make.patch \ file://use-target-word-size-instead-of-host-s.patch \ file://fix-issues-when-USE_OPENSSL-1.patch \ + file://crda-4.14-python-3.patch \ " SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a" SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf" -inherit python-dir pythonnative siteinfo +inherit python3-dir python3native siteinfo # Recursive make problem EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg' \ diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.5.bb deleted file mode 100644 index 3349ca153..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.5.bb +++ /dev/null @@ -1,27 +0,0 @@ -SECTION = "console/network" -SUMMARY = "dhcpcd - a DHCP client" -DESCRIPTION = "dhcpcd runs on your machine and silently configures your computer to work on the attached networks without trouble and mostly without configuration." - -HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/" - -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0531457992a97ecebc6975914a874a9d" - -UPSTREAM_CHECK_URI = "https://roy.marples.name/downloads/dhcpcd/" - -SRC_URI = "http://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \ - file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch" - -SRC_URI[md5sum] = "57fd5dd4ff9722773ec67239db34d3b5" -SRC_URI[sha256sum] = "c5cbe15069cef347e72d0bf7a19b0255571ee0c184c6705859a09588a50a8ebd" - -inherit pkgconfig autotools-brokensep - -PACKAGECONFIG ?= "udev ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" - -PACKAGECONFIG[udev] = "--with-udev,--without-udev,udev,udev" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" - -EXTRA_OECONF = "--enable-ipv4" - -FILES_${PN}-dbg += "${libdir}/dhcpcd/dev/.debug" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.6.bb new file mode 100644 index 000000000..1cb2af500 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.6.bb @@ -0,0 +1,27 @@ +SECTION = "console/network" +SUMMARY = "dhcpcd - a DHCP client" +DESCRIPTION = "dhcpcd runs on your machine and silently configures your computer to work on the attached networks without trouble and mostly without configuration." + +HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0531457992a97ecebc6975914a874a9d" + +UPSTREAM_CHECK_URI = "https://roy.marples.name/downloads/dhcpcd/" + +SRC_URI = "http://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \ + file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch" + +SRC_URI[md5sum] = "e1eea03388d12c9ad21ecd7c135fdf8b" +SRC_URI[sha256sum] = "6c2934a3e1e67a5cfd5bb15b1efa71f65c00314ac1ccb5c50da8eae3a0b8147f" + +inherit pkgconfig autotools-brokensep + +PACKAGECONFIG ?= "udev ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" + +PACKAGECONFIG[udev] = "--with-udev,--without-udev,udev,udev" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" + +EXTRA_OECONF = "--enable-ipv4" + +FILES_${PN}-dbg += "${libdir}/dhcpcd/dev/.debug" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.2.bb deleted file mode 100644 index 97c7bd642..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.2.bb +++ /dev/null @@ -1,89 +0,0 @@ -SUMMARY = "Dynamic firewall daemon with a D-Bus interface" -HOMEPAGE = "https://firewalld.org/" -BUGTRACKER = "https://github.com/firewalld/firewalld/issues" -UPSTREAM_CHECK_URI = "https://github.com/firewalld/firewalld/releases" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ - file://firewalld.init \ -" -SRC_URI[md5sum] = "2549c2006def07a19b4c77ec960e5aab" -SRC_URI[sha256sum] = "fbd1b72b3c4b4d0c20659f664b2ba36175364ffbb9cebf3bdfaf9b5e6983be77" - -# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4 -DEPENDS = "intltool-native glib-2.0-native libxslt-native docbook-xsl-stylesheets-native" - -inherit gettext autotools bash-completion python3native gsettings systemd update-rc.d - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd" - -PACKAGES += "${PN}-zsh-completion" - -# iptables, ip6tables, ebtables, and ipset *should* be unnecessary -# when the nftables backend is available, because nftables supersedes all of them. -# However we still need iptables and ip6tables to be available otherwise any -# application relying on "direct passthrough" rules (such as docker) will break. -# /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by -# the Red Hat-specific init script which we aren't using, so we disable that. -EXTRA_OECONF = "\ - --with-nft=${sbindir}/nft \ - --without-ipset \ - --with-iptables=${sbindir}/iptables \ - --with-iptables-restore=${sbindir}/iptables-restore \ - --with-ip6tables=${sbindir}/ip6tables \ - --with-ip6tables-restore=${sbindir}/ip6tables-restore \ - --without-ebtables \ - --without-ebtables-restore \ - --disable-sysconfig \ - --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog \ -" - -INITSCRIPT_NAME = "firewalld" -SYSTEMD_SERVICE_${PN} = "firewalld.service" - -do_install_append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - : - else - # firewalld ships an init script but it contains Red Hat-isms, replace it with our own - rm -rf ${D}${sysconfdir}/rc.d/ - install -d ${D}${sysconfdir}/init.d - install -m0755 ${WORKDIR}/firewalld.init ${D}${sysconfdir}/init.d/firewalld - fi - - # We ran ./configure with PYTHON pointed at the binary inside $STAGING_BINDIR_NATIVE - # so now we need to fix up any references to point at the proper path in the image. - # This hack is also in distutils.bbclass, but firewalld doesn't use distutils/setuptools. - if [ ${PN} != "${BPN}-native" ]; then - sed -i -e s:${STAGING_BINDIR_NATIVE}/python3-native/python3:${bindir}/python3:g \ - ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml - fi - sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g \ - ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml -} - -FILES_${PN} += "\ - ${PYTHON_SITEPACKAGES_DIR}/firewall \ - ${nonarch_libdir}/firewalld \ - ${datadir}/dbus-1 \ - ${datadir}/polkit-1 \ - ${datadir}/metainfo \ -" -FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions" - -RDEPENDS_${PN} = "\ - nftables \ - iptables \ - python3-core \ - python3-io \ - python3-fcntl \ - python3-shell \ - python3-syslog \ - python3-xml \ - python3-dbus \ - python3-slip-dbus \ - python3-decorator \ - python3-pygobject \ -" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.3.bb new file mode 100644 index 000000000..4dea848f4 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.3.bb @@ -0,0 +1,89 @@ +SUMMARY = "Dynamic firewall daemon with a D-Bus interface" +HOMEPAGE = "https://firewalld.org/" +BUGTRACKER = "https://github.com/firewalld/firewalld/issues" +UPSTREAM_CHECK_URI = "https://github.com/firewalld/firewalld/releases" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ + file://firewalld.init \ +" +SRC_URI[md5sum] = "05ec772cbdc0a2b3df081e4beca5599d" +SRC_URI[sha256sum] = "414c46202c12334cd5c986214e5e2575d18e743c5531a97ace1c0cd94341c60d" + +# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4 +DEPENDS = "intltool-native glib-2.0-native libxslt-native docbook-xsl-stylesheets-native" + +inherit gettext autotools bash-completion python3native gsettings systemd update-rc.d + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd" + +PACKAGES += "${PN}-zsh-completion" + +# iptables, ip6tables, ebtables, and ipset *should* be unnecessary +# when the nftables backend is available, because nftables supersedes all of them. +# However we still need iptables and ip6tables to be available otherwise any +# application relying on "direct passthrough" rules (such as docker) will break. +# /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by +# the Red Hat-specific init script which we aren't using, so we disable that. +EXTRA_OECONF = "\ + --with-nft=${sbindir}/nft \ + --without-ipset \ + --with-iptables=${sbindir}/iptables \ + --with-iptables-restore=${sbindir}/iptables-restore \ + --with-ip6tables=${sbindir}/ip6tables \ + --with-ip6tables-restore=${sbindir}/ip6tables-restore \ + --without-ebtables \ + --without-ebtables-restore \ + --disable-sysconfig \ + --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog \ +" + +INITSCRIPT_NAME = "firewalld" +SYSTEMD_SERVICE_${PN} = "firewalld.service" + +do_install_append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + : + else + # firewalld ships an init script but it contains Red Hat-isms, replace it with our own + rm -rf ${D}${sysconfdir}/rc.d/ + install -d ${D}${sysconfdir}/init.d + install -m0755 ${WORKDIR}/firewalld.init ${D}${sysconfdir}/init.d/firewalld + fi + + # We ran ./configure with PYTHON pointed at the binary inside $STAGING_BINDIR_NATIVE + # so now we need to fix up any references to point at the proper path in the image. + # This hack is also in distutils.bbclass, but firewalld doesn't use distutils/setuptools. + if [ ${PN} != "${BPN}-native" ]; then + sed -i -e s:${STAGING_BINDIR_NATIVE}/python3-native/python3:${bindir}/python3:g \ + ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml + fi + sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g \ + ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml +} + +FILES_${PN} += "\ + ${PYTHON_SITEPACKAGES_DIR}/firewall \ + ${nonarch_libdir}/firewalld \ + ${datadir}/dbus-1 \ + ${datadir}/polkit-1 \ + ${datadir}/metainfo \ +" +FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions" + +RDEPENDS_${PN} = "\ + nftables \ + iptables \ + python3-core \ + python3-io \ + python3-fcntl \ + python3-shell \ + python3-syslog \ + python3-xml \ + python3-dbus \ + python3-slip-dbus \ + python3-decorator \ + python3-pygobject \ +" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch new file mode 100644 index 000000000..d63023162 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch @@ -0,0 +1,58 @@ +From 733330888fff49e4d2b6c2121a6050fdd9f11a87 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Thu, 6 Feb 2020 09:32:04 +0800 +Subject: [PATCH] rlm_python3: add PY_INC_DIR in search dir + +The configure option --with-rlm-python3-include-dir is used to set +PY_INC_DIR which is never used and it fails to find Python.h, +so add it into search dir to fix it. + +Also remove SMART_LIBS from mod_flags because it introduces rpath +to LDFALGS which causes a do_package_qa error: + +ERROR: freeradius-3.0.20-r0 do_package_qa: QA Issue: package freeradius-python contains bad RPATH +/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/recipe-sysroot-native/usr/lib/python3.8/config in file +/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/packages-split/freeradius-python/usr/lib/rlm_python3.so.0.0.0 +package freeradius-python contains bad RPATH +/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/recipe-sysroot-native/usr/lib/python3.8/config in file +/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/packages-split/freeradius-python/usr/lib/rlm_python3.so.0.0.0 [rpaths] + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Yi Zhao +--- + src/modules/rlm_python3/configure.ac | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/modules/rlm_python3/configure.ac b/src/modules/rlm_python3/configure.ac +index a00320f..adbdf19 100644 +--- a/src/modules/rlm_python3/configure.ac ++++ b/src/modules/rlm_python3/configure.ac +@@ -95,7 +95,7 @@ if test x$with_[]modname != xno; then + + old_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $PY_CFLAGS" +- smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION" ++ smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION $PY_INC_DIR" + FR_SMART_CHECK_INCLUDE(Python.h) + CFLAGS=$old_CFLAGS + +@@ -114,13 +114,13 @@ if test x$with_[]modname != xno; then + + eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}} + if test "x$t" = "xyes"; then +- mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS $SMART_LIBS -lm" ++ mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS -lm" + targetname=modname + else + FR_SMART_CHECK_LIB(python${PY_SYS_VERSION}m, Py_Initialize) + eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}} + if test "x$t" = "xyes"; then +- mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS $SMART_LIBS -lm" ++ mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS -lm" + targetname=modname + else + targetname= +-- +2.7.4 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-su-to-radiusd-user-group-when-rotating-logs.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-su-to-radiusd-user-group-when-rotating-logs.patch deleted file mode 100644 index 5859dc7ed..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-su-to-radiusd-user-group-when-rotating-logs.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 1f233773962bf1a9c2d228a180eacddb9db2d574 Mon Sep 17 00:00:00 2001 -From: Alexander Scheel -Date: Tue, 7 May 2019 16:04:29 -0400 -Subject: [PATCH] su to radiusd user/group when rotating logs - -The su directive to logrotate ensures that log rotation happens under the -owner of the logs. Otherwise, logrotate runs as root:root, potentially -enabling privilege escalation if a RCE is discovered against the -FreeRADIUS daemon. - -Signed-off-by: Alexander Scheel - -Upstream-Status: Backport -[https://github.com/FreeRADIUS/freeradius-server/commit/1f233773962bf1a9c2d228a180eacddb9db2d574] - -CVE: CVE-2019-10143 - -Signed-off-by: Yi Zhao ---- - debian/freeradius.logrotate | 3 +++ - redhat/freeradius-logrotate | 1 + - scripts/logrotate/freeradius | 3 +++ - suse/radiusd-logrotate | 1 + - 4 files changed, 8 insertions(+) - -diff --git a/debian/freeradius.logrotate b/debian/freeradius.logrotate -index 7d837d5..a8d29b7 100644 ---- a/debian/freeradius.logrotate -+++ b/debian/freeradius.logrotate -@@ -9,6 +9,7 @@ - notifempty - - copytruncate -+ su freerad freerad - } - - # (in order) -@@ -26,6 +27,7 @@ - notifempty - - nocreate -+ su freerad freerad - } - - # There are different detail-rotating strategies you can use. One is -@@ -45,4 +47,5 @@ - notifempty - - nocreate -+ su freerad freerad - } -diff --git a/redhat/freeradius-logrotate b/redhat/freeradius-logrotate -index 360765d..bb97ca5 100644 ---- a/redhat/freeradius-logrotate -+++ b/redhat/freeradius-logrotate -@@ -9,6 +9,7 @@ rotate 4 - missingok - compress - delaycompress -+su radiusd radiusd - - # - # The main server log -diff --git a/scripts/logrotate/freeradius b/scripts/logrotate/freeradius -index 3de435e..eecf631 100644 ---- a/scripts/logrotate/freeradius -+++ b/scripts/logrotate/freeradius -@@ -17,6 +17,7 @@ - notifempty - - copytruncate -+ su radiusd radiusd - } - - # (in order) -@@ -34,6 +35,7 @@ - notifempty - - nocreate -+ su radiusd radiusd - } - - # There are different detail-rotating strategies you can use. One is -@@ -53,4 +55,5 @@ - notifempty - - nocreate -+ su radiusd radiusd - } -diff --git a/suse/radiusd-logrotate b/suse/radiusd-logrotate -index 24d56be..be5a797 100644 ---- a/suse/radiusd-logrotate -+++ b/suse/radiusd-logrotate -@@ -11,6 +11,7 @@ missingok - compress - delaycompress - notifempty -+su radiusd radiusd - - # - # The main server log --- -2.7.4 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.19.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.19.bb deleted file mode 100644 index 31e6978d6..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.19.bb +++ /dev/null @@ -1,234 +0,0 @@ -DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \ -protocol, as defined in RFC 2865 (and others). It allows Network Access \ -Servers (NAS boxes) to perform authentication for dial-up users. There are \ -also RADIUS clients available for Web servers, firewalls, Unix logins, and \ -more. Using RADIUS allows authentication and authorization for a network to \ -be centralized, and minimizes the amount of re-configuration which has to be \ -done when adding or deleting new users." - -SUMMARY = "High-performance and highly configurable RADIUS server" -HOMEPAGE = "http://www.freeradius.org/" -SECTION = "System/Servers" -LICENSE = "GPLv2 & LGPLv2+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a" -DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc" - -SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.0.x; \ - file://freeradius \ - file://volatiles.58_radiusd \ - file://freeradius-enble-user-in-conf.patch \ - file://freeradius-configure.ac-allow-cross-compilation.patch \ - file://freeradius-libtool-detection.patch \ - file://freeradius-configure.ac-add-option-for-libcap.patch \ - file://freeradius-avoid-searching-host-dirs.patch \ - file://freeradius-rlm_python-add-PY_INC_DIR.patch \ - file://freeradius-libtool-do-not-use-jlibtool.patch \ - file://freeradius-fix-quoting-for-BUILT_WITH.patch \ - file://freeradius-fix-error-for-expansion-of-macro.patch \ - file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \ - file://0001-su-to-radiusd-user-group-when-rotating-logs.patch \ - file://radiusd.service \ - file://radiusd-volatiles.conf \ -" - -SRCREV = "ab4c767099f263a7cd4109bcdca80ee74210a769" - -PARALLEL_MAKE = "" - -S = "${WORKDIR}/git" - -LDFLAGS_append_powerpc = " -latomic" -LDFLAGS_append_mipsarch = " -latomic" -LDFLAGS_append_armv5 = " -latomic" - -EXTRA_OECONF = " --enable-strict-dependencies \ - --with-docdir=${docdir}/freeradius-${PV} \ - --with-openssl-includes=${STAGING_INCDIR} \ - --with-openssl-libraries=${STAGING_LIBDIR} \ - --without-rlm_ippool \ - --without-rlm_cache_memcached \ - --without-rlm_counter \ - --without-rlm_couchbase \ - --without-rlm_dbm \ - --without-rlm_eap_tnc \ - --without-rlm_eap_ikev2 \ - --without-rlm_opendirectory \ - --without-rlm_redis \ - --without-rlm_rediswho \ - --without-rlm_sql_db2 \ - --without-rlm_sql_firebird \ - --without-rlm_sql_freetds \ - --without-rlm_sql_iodbc \ - --without-rlm_sql_oracle \ - --without-rlm_sql_sybase \ - --without-rlm_sqlhpwippool \ - --without-rlm_securid \ - --without-rlm_unbound \ - ac_cv_path_PERL=${bindir}/perl \ - ax_cv_cc_builtin_choose_expr=no \ - ax_cv_cc_builtin_types_compatible_p=no \ - ax_cv_cc_builtin_bswap64=no \ - ax_cv_cc_bounded_attribute=no \ -" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ - pcre libcap \ - openssl rlm-eap-fast rlm-eap-pwd \ -" - -PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5" -PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam" -PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" -PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap" -PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5" -PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3" -PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc" -PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql" -PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre" -PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl" -PACKAGECONFIG[python] = "--with-rlm_python --with-rlm-python-bin=${STAGING_BINDIR_NATIVE}/python-native/python --with-rlm-python-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python,python-native python" -PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c" -PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby" -PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl" -PACKAGECONFIG[rlm-eap-fast] = "--with-rlm_eap_fast, --without-rlm_eap_fast" -PACKAGECONFIG[rlm-eap-pwd] = "--with-rlm_eap_pwd, --without-rlm_eap_pwd" - -inherit useradd autotools-brokensep update-rc.d systemd - -# This is not a cpan or python based package, but it needs some definitions -# from cpan-base and python-dir bbclasses for building rlm_perl and rlm_python -# correctly. -inherit cpan-base python-dir - -# The modules subdirs also need to be processed by autoreconf. Use autogen.sh -# in order to handle the subdirs correctly. -do_configure () { - ./autogen.sh - - # the configure of rlm_perl needs this to get correct - # mod_cflags and mod_ldflags - if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then - export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" - fi - - oe_runconf - - # we don't need dhcpclient - sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk -} - -INITSCRIPT_NAME = "radiusd" - -SYSTEMD_SERVICE_${PN} = "radiusd.service" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd" - -do_install() { - rm -rf ${D} - mkdir -p ${D}/${sysconfdir}/logrotate.d - mkdir -p ${D}/${sysconfdir}/pam.d - mkdir -p ${D}/${sysconfdir}/init.d - mkdir -p ${D}/${localstatedir}/lib/radiusd - mkdir -p ${D}${sysconfdir}/default/volatiles - - export LD_LIBRARY_PATH=${D}/${libdir} - oe_runmake install R=${D} INSTALLSTRIP="" - - # remove unsupported config files - rm -f ${D}/${sysconfdir}/raddb/experimental.conf - - # remove scripts that required Perl(DBI) - rm -rf ${D}/${bindir}/radsqlrelay - - cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd - rm -f ${D}/${sbindir}/rc.radiusd - chmod +x ${D}/${sysconfdir}/init.d/radiusd - rm -rf ${D}/${localstatedir}/run/ - install -m 0644 ${WORKDIR}/volatiles.58_radiusd ${D}${sysconfdir}/default/volatiles/58_radiusd - - chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/ - chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd - - # For systemd - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system - sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - -e 's,@STATEDIR@,${localstatedir},g' \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - ${D}${systemd_unitdir}/system/radiusd.service - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d/ - install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/ - fi -} - -# This is only needed when we install/update on a running target. -# -pkg_postinst_${PN} () { - if [ -z "$D" ]; then - if command -v systemd-tmpfiles >/dev/null; then - # create /var/log/radius, /var/run/radiusd - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd-volatiles.conf - elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then - ${sysconfdir}/init.d/populate-volatile.sh update - fi - - # Fix ownership for /etc/raddb/*, /var/lib/radiusd - chown -R radiusd:radiusd ${sysconfdir}/raddb - chown -R radiusd:radiusd ${localstatedir}/lib/radiusd - fi -} - -# We really need the symlink :( -INSANE_SKIP_${PN} = "dev-so" -INSANE_SKIP_${PN}-krb5 = "dev-so" -INSANE_SKIP_${PN}-ldap = "dev-so" -INSANE_SKIP_${PN}-mysql = "dev-so" -INSANE_SKIP_${PN}-perl = "dev-so" -INSANE_SKIP_${PN}-postgresql = "dev-so" -INSANE_SKIP_${PN}-python = "dev-so" -INSANE_SKIP_${PN}-unixodbc = "dev-so" - -PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \ - ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc" - -FILES_${PN}-utils = "${bindir}/*" - -FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \ - ${sysconfdir}/raddb/mods-available/ldap \ -" - -FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \ - ${sysconfdir}/raddb/mods-available/krb5 \ -" - -FILES_${PN}-perl = "${libdir}/rlm_perl.so* \ - ${sysconfdir}/raddb/mods-config/perl \ - ${sysconfdir}/raddb/mods-available/perl \ -" - -FILES_${PN}-python = "${libdir}/rlm_python.so* \ - ${sysconfdir}/raddb/mods-config/python \ - ${sysconfdir}/raddb/mods-available/python \ -" - -FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \ - ${sysconfdir}/raddb/mods-config/sql/*/mysql \ - ${sysconfdir}/raddb/mods-available/sql \ -" - -FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \ - ${sysconfdir}/raddb/mods-config/sql/*/postgresql \ -" - -FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*" - -FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*" - -RDEPENDS_${PN} += "perl" -RDEPENDS_${PN}-utils = "${PN} perl" - -CLEANBROKEN = "1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb new file mode 100644 index 000000000..005ca47da --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb @@ -0,0 +1,237 @@ +DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \ +protocol, as defined in RFC 2865 (and others). It allows Network Access \ +Servers (NAS boxes) to perform authentication for dial-up users. There are \ +also RADIUS clients available for Web servers, firewalls, Unix logins, and \ +more. Using RADIUS allows authentication and authorization for a network to \ +be centralized, and minimizes the amount of re-configuration which has to be \ +done when adding or deleting new users." + +SUMMARY = "High-performance and highly configurable RADIUS server" +HOMEPAGE = "http://www.freeradius.org/" +SECTION = "System/Servers" +LICENSE = "GPLv2 & LGPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a" +DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc" + +SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.0.x;lfs=0; \ + file://freeradius \ + file://volatiles.58_radiusd \ + file://freeradius-enble-user-in-conf.patch \ + file://freeradius-configure.ac-allow-cross-compilation.patch \ + file://freeradius-libtool-detection.patch \ + file://freeradius-configure.ac-add-option-for-libcap.patch \ + file://freeradius-avoid-searching-host-dirs.patch \ + file://freeradius-rlm_python-add-PY_INC_DIR.patch \ + file://freeradius-libtool-do-not-use-jlibtool.patch \ + file://freeradius-fix-quoting-for-BUILT_WITH.patch \ + file://freeradius-fix-error-for-expansion-of-macro.patch \ + file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \ + file://0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch \ + file://radiusd.service \ + file://radiusd-volatiles.conf \ +" + +SRCREV = "d94c953ab9602a238433ba18533111b845fd8e9e" + +PARALLEL_MAKE = "" + +S = "${WORKDIR}/git" + +LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_mipsarch = " -latomic" +LDFLAGS_append_armv5 = " -latomic" + +EXTRA_OECONF = " --enable-strict-dependencies \ + --with-docdir=${docdir}/freeradius-${PV} \ + --with-openssl-includes=${STAGING_INCDIR} \ + --with-openssl-libraries=${STAGING_LIBDIR} \ + --without-rlm_ippool \ + --without-rlm_cache_memcached \ + --without-rlm_counter \ + --without-rlm_couchbase \ + --without-rlm_dbm \ + --without-rlm_eap_tnc \ + --without-rlm_eap_ikev2 \ + --without-rlm_opendirectory \ + --without-rlm_redis \ + --without-rlm_rediswho \ + --without-rlm_sql_db2 \ + --without-rlm_sql_firebird \ + --without-rlm_sql_freetds \ + --without-rlm_sql_iodbc \ + --without-rlm_sql_oracle \ + --without-rlm_sql_sybase \ + --without-rlm_sql_mongo \ + --without-rlm_sqlhpwippool \ + --without-rlm_securid \ + --without-rlm_unbound \ + --without-rlm_python \ + ac_cv_path_PERL=${bindir}/perl \ + ax_cv_cc_builtin_choose_expr=no \ + ax_cv_cc_builtin_types_compatible_p=no \ + ax_cv_cc_builtin_bswap64=no \ + ax_cv_cc_bounded_attribute=no \ +" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ + pcre libcap \ + openssl rlm-eap-fast rlm-eap-pwd \ +" + +PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5" +PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam" +PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" +PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap" +PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5" +PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3" +PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc" +PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql" +PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre" +PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl" +PACKAGECONFIG[python3] = "--with-rlm_python3 --with-rlm-python3-bin=${STAGING_BINDIR_NATIVE}/python3-native/python3 --with-rlm-python3-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python3,python3-native python3" +PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c" +PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby" +PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl" +PACKAGECONFIG[rlm-eap-fast] = "--with-rlm_eap_fast, --without-rlm_eap_fast" +PACKAGECONFIG[rlm-eap-pwd] = "--with-rlm_eap_pwd, --without-rlm_eap_pwd" + +inherit useradd autotools-brokensep update-rc.d systemd + +# This is not a cpan or python based package, but it needs some definitions +# from cpan-base and python3-dir bbclasses for building rlm_perl and rlm_python +# correctly. +inherit cpan-base python3-dir + +# The modules subdirs also need to be processed by autoreconf. Use autogen.sh +# in order to handle the subdirs correctly. +do_configure () { + ./autogen.sh + + # the configure of rlm_perl needs this to get correct + # mod_cflags and mod_ldflags + if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then + export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" + fi + + oe_runconf + + # we don't need dhcpclient + sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk +} + +INITSCRIPT_NAME = "radiusd" + +SYSTEMD_SERVICE_${PN} = "radiusd.service" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd" + +do_install() { + rm -rf ${D} + mkdir -p ${D}/${sysconfdir}/logrotate.d + mkdir -p ${D}/${sysconfdir}/pam.d + mkdir -p ${D}/${sysconfdir}/init.d + mkdir -p ${D}/${localstatedir}/lib/radiusd + mkdir -p ${D}${sysconfdir}/default/volatiles + + export LD_LIBRARY_PATH=${D}/${libdir} + oe_runmake install R=${D} INSTALLSTRIP="" + + # remove unsupported config files + rm -f ${D}/${sysconfdir}/raddb/experimental.conf + + # remove scripts that required Perl(DBI) + rm -rf ${D}/${bindir}/radsqlrelay + + cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd + rm -f ${D}/${sbindir}/rc.radiusd + chmod +x ${D}/${sysconfdir}/init.d/radiusd + rm -rf ${D}/${localstatedir}/run/ + rm -rf ${D}/${localstatedir}/log/ + install -m 0644 ${WORKDIR}/volatiles.58_radiusd ${D}${sysconfdir}/default/volatiles/58_radiusd + + chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/ + chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd + + # For systemd + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@STATEDIR@,${localstatedir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${systemd_unitdir}/system/radiusd.service + + install -d ${D}${sysconfdir}/tmpfiles.d/ + install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/radiusd.conf + fi +} + +# This is only needed when we install/update on a running target. +# +pkg_postinst_${PN} () { + if [ -z "$D" ]; then + if command -v systemd-tmpfiles >/dev/null; then + # create /var/log/radius, /var/run/radiusd + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd.conf + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + + # Fix ownership for /etc/raddb/*, /var/lib/radiusd + chown -R radiusd:radiusd ${sysconfdir}/raddb + chown -R radiusd:radiusd ${localstatedir}/lib/radiusd + fi +} + +# We really need the symlink :( +INSANE_SKIP_${PN} = "dev-so" +INSANE_SKIP_${PN}-krb5 = "dev-so" +INSANE_SKIP_${PN}-ldap = "dev-so" +INSANE_SKIP_${PN}-mysql = "dev-so" +INSANE_SKIP_${PN}-perl = "dev-so" +INSANE_SKIP_${PN}-postgresql = "dev-so" +INSANE_SKIP_${PN}-python = "dev-so" +INSANE_SKIP_${PN}-unixodbc = "dev-so" + +PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \ + ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc" + +FILES_${PN}-utils = "${bindir}/*" + +FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \ + ${sysconfdir}/raddb/mods-available/ldap \ +" + +FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \ + ${sysconfdir}/raddb/mods-available/krb5 \ +" + +FILES_${PN}-perl = "${libdir}/rlm_perl.so* \ + ${sysconfdir}/raddb/mods-config/perl \ + ${sysconfdir}/raddb/mods-available/perl \ +" + +FILES_${PN}-python = "${libdir}/rlm_python3.so* \ + ${sysconfdir}/raddb/mods-config/python3 \ + ${sysconfdir}/raddb/mods-available/python3 \ +" + +FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \ + ${sysconfdir}/raddb/mods-config/sql/*/mysql \ + ${sysconfdir}/raddb/mods-available/sql \ +" + +FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \ + ${sysconfdir}/raddb/mods-config/sql/*/postgresql \ +" + +FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*" + +FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*" + +RDEPENDS_${PN} += "perl" +RDEPENDS_${PN}-utils = "${PN} perl" + +CLEANBROKEN = "1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.3.bb deleted file mode 100644 index e230fd0fe..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.3.bb +++ /dev/null @@ -1,63 +0,0 @@ -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=0e5b01c848c7736a0c9e68f9c9cd0281" - -DEPENDS += "kea-native" - -SRC_URI = "\ - http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \ - file://0001-remove-AC_TRY_RUN.patch \ - file://kea-dhcp4.service \ - file://kea-dhcp6.service \ - file://kea-dhcp-ddns.service \ -" -SRC_URI[md5sum] = "fda03bf465818009b70dffc226da777d" -SRC_URI[sha256sum] = "30f82c548b844c12ed46c4eb3880d63b45ec04cecfcf2e4ab1d7bada7fff4f2a" - -inherit autotools systemd - -SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service" -SYSTEMD_AUTO_ENABLE = "disable" - -DEBUG_OPTIMIZATION_remove_mips = " -Og" -DEBUG_OPTIMIZATION_append_mips = " -O" -BUILD_OPTIMIZATION_remove_mips = " -Og" -BUILD_OPTIMIZATION_append_mips = " -O" - -DEBUG_OPTIMIZATION_remove_mipsel = " -Og" -DEBUG_OPTIMIZATION_append_mipsel = " -O" -BUILD_OPTIMIZATION_remove_mipsel = " -Og" -BUILD_OPTIMIZATION_append_mipsel = " -O" - -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-libs=-lboost_system,,boost,boost" - -FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a" -FILES_${PN} += "${libdir}/hooks/*.so" - -BBCLASSEXTEND += "native" - -PARALLEL_MAKEINST = "" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.6.bb new file mode 100644 index 000000000..4e221c39e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.6.bb @@ -0,0 +1,67 @@ +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=68d95543d2096459290a4e6b9ceccffa" + +DEPENDS += "kea-native" + +SRC_URI = "\ + http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \ + file://0001-remove-AC_TRY_RUN.patch \ + file://kea-dhcp4.service \ + file://kea-dhcp6.service \ + file://kea-dhcp-ddns.service \ +" +SRC_URI[md5sum] = "26f48997a37a670a406d5020ce64a7fb" +SRC_URI[sha256sum] = "1da3d50e0c8e92e1aa6d66100b5afd7b93ba2c50b0a4ea114fd9dcb8be982ca9" + +inherit autotools systemd + +SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service" +SYSTEMD_AUTO_ENABLE = "disable" + +DEBUG_OPTIMIZATION_remove_mips = " -Og" +DEBUG_OPTIMIZATION_append_mips = " -O" +BUILD_OPTIMIZATION_remove_mips = " -Og" +BUILD_OPTIMIZATION_append_mips = " -O" + +DEBUG_OPTIMIZATION_remove_mipsel = " -Og" +DEBUG_OPTIMIZATION_append_mipsel = " -O" +BUILD_OPTIMIZATION_remove_mipsel = " -Og" +BUILD_OPTIMIZATION_append_mipsel = " -O" + +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 + # replace abs_top_builddir to avoid introducing the build path + # don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target + find ${S} -type f -name *.sh.in | xargs sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g" + sed -i "s:@abs_top_srcdir@:@abs_top_srcdir_placeholder@:g" ${S}/src/bin/admin/kea-admin.in +} + +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-libs=-lboost_system,,boost,boost" + +FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a" +FILES_${PN} += "${libdir}/hooks/*.so" + +BBCLASSEXTEND += "native" + +PARALLEL_MAKEINST = "" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.0.bb deleted file mode 100644 index ef047f7a3..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.0.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "LFTP is a sophisticated file transfer program with \ - command line interface. It supports FTP, HTTP, \ - FISH, SFTP, HTTPS and FTPS protocols" -HOMEPAGE = "http://lftp.yar.ru/" -SECTION = "console/network" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRC_URI = "http://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2" -SRC_URI[md5sum] = "b05817a2c26463618271730d0f677edb" -SRC_URI[sha256sum] = "309e7e91a7c020625715e85c1726b1e7524da22518683fbe051ac13116dedeac" - -inherit autotools gettext pkgconfig - -acpaths = "-I ./m4" - -EXTRA_OECONF += "--with-modules --disable-rpath" - -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" -PACKAGECONFIG[readline] = "--with-readline=${STAGING_INCDIR}/.. --with-readline-inc=${STAGING_INCDIR} --with-readline-lib=-lreadline, --with-readline=no, readline" -PACKAGECONFIG[expat] = "--with-expat=${STAGING_INCDIR}/.. --with-expat-inc=${STAGING_INCDIR} --with-expat-lib=-lexpat, , expat" - -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/lftp/lftp_4.9.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.1.bb new file mode 100644 index 000000000..79a380ada --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.1.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "LFTP is a sophisticated file transfer program with \ + command line interface. It supports FTP, HTTP, \ + FISH, SFTP, HTTPS and FTPS protocols" +HOMEPAGE = "http://lftp.yar.ru/" +SECTION = "console/network" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "http://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2" +SRC_URI[md5sum] = "19ce64012bc722ad61667372fa262382" +SRC_URI[sha256sum] = "a692fd081c19e2cc045869ab721a4fb3d7571040849a4406c4042f735232414c" + +inherit autotools gettext pkgconfig + +acpaths = "-I ./m4" + +EXTRA_OECONF += "--with-modules --disable-rpath" + +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" +PACKAGECONFIG[readline] = "--with-readline=${STAGING_INCDIR}/.. --with-readline-inc=${STAGING_INCDIR} --with-readline-lib=-lreadline, --with-readline=no, readline" +PACKAGECONFIG[expat] = "--with-expat=${STAGING_INCDIR}/.. --with-expat-inc=${STAGING_INCDIR} --with-expat-lib=-lexpat, , expat" + +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 5b6e45c7b..5b27cfe15 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 @@ -11,8 +11,10 @@ UPSTREAM_CHECK_GITTAGREGEX = "libdnet-(?P\d+(\.\d+)+)" S = "${WORKDIR}/git" -inherit autotools +inherit autotools multilib_script acpaths = "-I ./config/" BBCLASSEXTEND = "native" + +MULTILIB_SCRIPTS = "${PN}:${bindir}/dnet-config" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.3.bb deleted file mode 100644 index 79d0dbeae..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.3.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Lightweight crypto and SSL/TLS library" -DESCRIPTION = "mbedtls is a lean open source crypto library \ -for providing SSL and TLS support in your programs. It offers \ -an intuitive API and documented header files, so you can actually \ -understand what the code does. It features: \ - \ - - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \ - Camellia and XTEA \ - - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \ - - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \ - - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \ - ECDSA and ECDH \ - - SSL v3 and TLS 1.0, 1.1 and 1.2 \ - - Abstraction layers for ciphers, hashes, public key operations, \ - platform abstraction and threading \ -" - -HOMEPAGE = "https://tls.mbed.org/" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a" - -SECTION = "libs" - -SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz" -SRC_URI[md5sum] = "90ce7c7a001d2514410280706b3ab1a7" -SRC_URI[sha256sum] = "ec1bee6d82090ed6ea2690784ea4b294ab576a65d428da9fe8750f932d2da661" - -inherit cmake - -PACKAGECONFIG ??= "shared-libs programs" -PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-USE_SHARED_MBEDTLS_LIBRARY=OFF" -PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF" - -EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}" - -PROVIDES += "polarssl" -RPROVIDES_${PN} = "polarssl" - -PACKAGES =+ "${PN}-programs" -FILES_${PN}-programs = "${bindir}/" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.6.bb new file mode 100644 index 000000000..12ad39761 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.6.bb @@ -0,0 +1,43 @@ +SUMMARY = "Lightweight crypto and SSL/TLS library" +DESCRIPTION = "mbedtls is a lean open source crypto library \ +for providing SSL and TLS support in your programs. It offers \ +an intuitive API and documented header files, so you can actually \ +understand what the code does. It features: \ + \ + - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \ + Camellia and XTEA \ + - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \ + - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \ + - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \ + ECDSA and ECDH \ + - SSL v3 and TLS 1.0, 1.1 and 1.2 \ + - Abstraction layers for ciphers, hashes, public key operations, \ + platform abstraction and threading \ +" + +HOMEPAGE = "https://tls.mbed.org/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a" + +SECTION = "libs" + +SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz" +SRC_URI[md5sum] = "1f629a43c166de2eca808f3e30aa961d" +SRC_URI[sha256sum] = "66455e23a6190a30142cdc1113f7418158839331a9d8e6b0778631d077281770" + +inherit cmake + +PACKAGECONFIG ??= "shared-libs programs" +PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-USE_SHARED_MBEDTLS_LIBRARY=OFF" +PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF" + +EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}" + +PROVIDES += "polarssl" +RPROVIDES_${PN} = "polarssl" + +PACKAGES =+ "${PN}-programs" +FILES_${PN}-programs = "${bindir}/" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20191006.bb b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20191006.bb index 81bfe66a9..a630d27b9 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20191006.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20191006.bb @@ -37,6 +37,7 @@ do_install() { install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN} install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN} install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN} + install ${S}/netfilter/miniupnpd_functions.sh ${D}/${sysconfdir}/${BPN} install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN} install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN} install -d ${D}/${sysconfdir}/init.d diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/1571.patch b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/1571.patch new file mode 100644 index 000000000..93ff6bcfa --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/1571.patch @@ -0,0 +1,22 @@ +Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1571] +From 3fe5468f1bdca1bff1d18cf43c9e338f41aa9e32 Mon Sep 17 00:00:00 2001 +From: Gianfranco Costamagna +Date: Wed, 22 Jan 2020 12:39:49 +0100 +Subject: [PATCH] Add dynamic symbols linking with cmake too + +Signed-off-by: Gianfranco Costamagna +--- + lib/CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -89,6 +89,8 @@ + OUTPUT_NAME mosquitto + VERSION ${VERSION} + SOVERSION 1 ++ LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linker.version ++ LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/linker.version" + ) + + install(TARGETS libmosquitto RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/install-protocol.patch b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/install-protocol.patch new file mode 100644 index 000000000..1397fc6a2 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/install-protocol.patch @@ -0,0 +1,14 @@ +Description: Also install mqtt_protocol.h, as is done in Makefile +Author: Gianfranco Costamagna +Bug-Debian: https://bugs.debian.org/951116 +Forwarded: https://github.com/eclipse/mosquitto/pull/1599 +Last-Update: 2020-02-15 + +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -114,4 +114,4 @@ + install(TARGETS libmosquitto_static ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") + endif (WITH_STATIC_LIBRARIES) + +-install(FILES mosquitto.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++install(FILES mqtt_protocol.h mosquitto.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init index 6a0c12760..9d5963c41 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init +++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init @@ -38,7 +38,7 @@ 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 + 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 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.8.bb deleted file mode 100644 index ea533d8a0..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.8.bb +++ /dev/null @@ -1,98 +0,0 @@ -SUMMARY = "Open source MQTT implementation" -DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ -that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ -5, providing both an MQTT broker and several command-line clients. 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://mosquitto.init \ -" - -SRC_URI[md5sum] = "24a0e567c845b3e41b75e237d200edf8" -SRC_URI[sha256sum] = "7df23c81ca37f0e070574fe74414403cf25183016433d07add6134366fb45df6" - -inherit systemd update-rc.d useradd - -PACKAGECONFIG ??= "ssl uuid \ - ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ - " - -PACKAGECONFIG[dns-srv] = "WITH_SRV=yes,WITH_SRV=no,c-ares" -PACKAGECONFIG[ssl] = "WITH_TLS=yes WITH_TLS_PSK=yes,WITH_TLS=no WITH_TLS_PSK=no,openssl" -PACKAGECONFIG[uuid] = "WITH_UUID=yes,WITH_UUID=no,util-linux" -PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd" -PACKAGECONFIG[websockets] = "WITH_WEBSOCKETS=yes,WITH_WEBSOCKETS=no,libwebsockets" - -EXTRA_OEMAKE = " \ - prefix=${prefix} \ - mandir=${mandir} \ - localedir=${localedir} \ - ${PACKAGECONFIG_CONFARGS} \ - STRIP=/bin/true \ - WITH_DOCS=no \ - WITH_BUNDLED_DEPS=no \ -" - -export LIB_SUFFIX = "${@d.getVar('baselib').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 \ - ${bindir}/mosquitto_rr \ -" - -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/mosquitto/mosquitto_1.6.9.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.9.bb new file mode 100644 index 000000000..de43aae73 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.9.bb @@ -0,0 +1,87 @@ +SUMMARY = "Open source MQTT implementation" +DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ +that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ +5, providing both an MQTT broker and several command-line clients. 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://mosquitto.init \ + file://1571.patch \ + file://install-protocol.patch \ +" + +SRC_URI[md5sum] = "52f5078ec18aaf623b14dfb121fd534b" +SRC_URI[sha256sum] = "412979b2db0a0020bd02fa64f0a0de9e7000b84462586e32b67f29bb1f6c1685" + +inherit systemd update-rc.d useradd cmake + +PACKAGECONFIG ??= "ssl dlt websockets \ + ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ + " + +PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares" +PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC_OFF,openssl" +PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" +PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets" +PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon" + +EXTRA_OECMAKE = " \ + -DWITH_BUNDLED_DEPS=OFF \ + -DWITH_ADNS=ON \ +" + +do_install_append() { + 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}/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.*" + +FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.*" + +FILES_${PN}-clients = "${bindir}/mosquitto_pub \ + ${bindir}/mosquitto_sub \ + ${bindir}/mosquitto_rr \ +" + +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/nng_1.2.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb new file mode 100644 index 000000000..77be27ffa --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb @@ -0,0 +1,21 @@ +SUMMARY = "nanomsg-next-generation -- light-weight brokerless messaging" +DESCRIPTION = "NNG, like its predecessors nanomsg (and to some extent ZeroMQ), is a lightweight, broker-less library, offering a simple API to solve common recurring messaging problems, such as publish/subscribe, RPC-style request/reply, or service discovery." +HOMEPAGE = "https://github.com/nanomsg/nng" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a19b15be6e844b39a54de2ef665bd6de" + +SECTION = "libs/networking" + +SRCREV = "53ae1a5ab37fdfc9ad5c236df3eaf4dd63f0fee9" + +SRC_URI = "git://github.com/nanomsg/nng.git;branch=v1.2.x" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON" + +PACKAGECONFIG ??= "" + +PACKAGECONFIG[mbedtls] = "-DNNG_ENABLE_TLS=ON,-DNNG_ENABLE_TLS=OFF,mbedtls" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb index 860762c49..db029a4b8 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb @@ -19,7 +19,7 @@ SRC_URI = " \ " DEPENDS = "glib-2.0 libyaml" -RDEPENDS_${PN} = "python3 python3-core python3-pyyaml python3-netifaces python3-nose python3-coverage python3-pycodestyle python-pyflakes util-linux-libuuid" +RDEPENDS_${PN} = "python3 python3-core python3-pyyaml python3-netifaces python3-nose python3-coverage python3-pycodestyle python3-pyflakes util-linux-libuuid" inherit pkgconfig systemd diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.10.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.10.bb deleted file mode 100644 index 56db770b9..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.10.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "NetworkManager-openvpn-plugin" -SECTION = "net/misc" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c" - -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] = "4dbbc103761facc7a61a1c00dfd55231" -SRC_URI[sha256sum] = "af3cc86ba848d21b4ac807a09d575de11335ba4df8ce6fdb089212e77c2231ef" - -S = "${WORKDIR}/NetworkManager-openvpn-${PV}" - -PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome" - -do_install_append () { - rm -rf ${D}${libdir}/NetworkManager/*.la -} - -# Create user and group nm-openvpn that are needed since version 1.0.6 -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system nm-openvpn" - -FILES_${PN} += " \ - ${libdir}/NetworkManager/*.so \ - ${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \ -" - -FILES_${PN}-staticdev += " \ - ${libdir}/NetworkManager/*.a \ -" - -RDEPENDS_${PN} = " \ - networkmanager \ - openvpn \ -" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb new file mode 100644 index 000000000..d455a0f06 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb @@ -0,0 +1,52 @@ +SUMMARY = "NetworkManager-openvpn-plugin" +SECTION = "net/misc" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c" + +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] = "e8b1210011ece18d0278310fbff45af5" +SRC_URI[sha256sum] = "0efda8878aaf0e6eb5071a053aea5d7f9d42aac097b3ff89e7cbc9233f815318" + +S = "${WORKDIR}/NetworkManager-openvpn-${PV}" + +# meta-gnome in layers is required using gnome: +PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 libnma libsecret" + +do_configure_append() { + # network-manager-openvpn.metainfo.xml is created in source folder but + # compile expects it in build folder. As long as nobody comes up with a + # better solution just support build: + if [ -e ${S}/appdata/network-manager-openvpn.metainfo.xml ]; then + mkdir -p ${B}/appdata + cp -f ${S}/appdata/network-manager-openvpn.metainfo.xml ${B}/appdata/ + fi +} + +do_install_append () { + rm -rf ${D}${libdir}/NetworkManager/*.la +} + +# Create user and group nm-openvpn that are needed since version 1.0.6 +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system nm-openvpn" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${libdir}/NetworkManager/*.so \ + ${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \ +" + +FILES_${PN}-staticdev += " \ + ${libdir}/NetworkManager/*.a \ +" + +RDEPENDS_${PN} = " \ + networkmanager \ + openvpn \ +" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch index 302c0292b..19c8c7481 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch @@ -1,4 +1,4 @@ -From 3dc3d8e73bc430ea4e93e33f7b2a4b3e0ff175af Mon Sep 17 00:00:00 2001 +From 9bcf4c81a559d1e7deac47b2e510d7f1e5837a02 Mon Sep 17 00:00:00 2001 From: Pablo Saavedra Date: Tue, 13 Mar 2018 17:36:20 +0100 Subject: [PATCH] Fixed configure.ac: Fix pkgconfig sysroot locations @@ -8,10 +8,10 @@ Subject: [PATCH] Fixed configure.ac: Fix pkgconfig sysroot locations 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 967eac0..b914219 100644 +index 65ceffb..ad4b0fc 100644 --- a/configure.ac +++ b/configure.ac -@@ -592,7 +592,7 @@ if test "$have_jansson" = "yes"; then +@@ -561,7 +561,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/0002-Do-not-create-settings-settings-property-documentati.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch index 5581dd3aa..446637b27 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch @@ -1,4 +1,4 @@ -From 4f000a4a19975d6aba71427e693cd1ed080abda9 Mon Sep 17 00:00:00 2001 +From 9eab96351a726e9ce6a15d158f743e35d73a8900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 22 Mar 2018 11:08:30 +0100 Subject: [PATCH] Do not create settings settings/property documentation @@ -6,23 +6,29 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + It was tried to get this work but gi / GirRepository could not be found by python. Anyway it is not necessary for us to have the settings/property docs. Upstream-Status: Inappropriate [OE specific] Signed-off-by: Andreas Müller + --- Makefile.am | 11 ----------- configure.ac | 5 ----- 2 files changed, 16 deletions(-) diff --git a/Makefile.am b/Makefile.am -index b180466..1ab4658 100644 +index d5cbcf5..2a1819a 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -1298,9 +1298,7 @@ EXTRA_DIST += \ - if HAVE_INTROSPECTION +@@ -1473,9 +1473,7 @@ libnm/libnm.typelib: libnm/libnm.gir + INTROSPECTION_GIRS += libnm/NM-1.0.gir libnm_noinst_data = \ - libnm/nm-property-docs.xml \ @@ -31,7 +37,7 @@ index b180466..1ab4658 100644 libnm/nm-settings-keyfile-docs.xml \ libnm/nm-settings-ifcfg-rh-docs.xml -@@ -3930,18 +3928,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums) +@@ -4236,18 +4234,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_h = clients/common/settings-docs.h @@ -51,10 +57,10 @@ index b180466..1ab4658 100644 $(clients_common_settings_doc_h) \ $(clients_common_settings_doc_h).in diff --git a/configure.ac b/configure.ac -index b914219..872c292 100644 +index ad4b0fc..0092092 100644 --- a/configure.ac +++ b/configure.ac -@@ -1215,11 +1215,6 @@ GTK_DOC_CHECK(1.0) +@@ -1201,11 +1201,6 @@ GTK_DOC_CHECK(1.0) # check if we can build setting property documentation build_docs=no if test -n "$INTROSPECTION_MAKEFILE"; then @@ -66,6 +72,3 @@ index b914219..872c292 100644 AC_PATH_PROG(PERL, perl) if test -z "$PERL"; then AC_MSG_ERROR([--enable-introspection requires perl]) --- -2.20.1 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch index af6f938ce..c23fc308f 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch @@ -1,4 +1,4 @@ -From a89c2e6d40606f563467a83fb98933e990e71377 Mon Sep 17 00:00:00 2001 +From e7ed91c48e1a07527a860637a7865eb67ce34cf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 2 Apr 2019 01:34:35 +0200 Subject: [PATCH] Fix build with musl - systemd specific @@ -12,6 +12,7 @@ for musl. Upstream-Status: Pending Signed-off-by: Andreas Müller + --- shared/systemd/src/basic/in-addr-util.c | 1 + shared/systemd/src/basic/process-util.c | 9 +++++++++ @@ -22,10 +23,10 @@ Signed-off-by: Andreas Müller 6 files changed, 27 insertions(+), 23 deletions(-) diff --git a/shared/systemd/src/basic/in-addr-util.c b/shared/systemd/src/basic/in-addr-util.c -index 5899f62..0adb248 100644 +index 91d687c..8388304 100644 --- a/shared/systemd/src/basic/in-addr-util.c +++ b/shared/systemd/src/basic/in-addr-util.c -@@ -14,6 +14,7 @@ +@@ -15,6 +15,7 @@ #include "in-addr-util.h" #include "macro.h" #include "parse-util.h" @@ -34,10 +35,10 @@ index 5899f62..0adb248 100644 #include "strxcpyx.h" #include "util.h" diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c -index 7431be3..189060a 100644 +index 1456167..42f51a0 100644 --- a/shared/systemd/src/basic/process-util.c +++ b/shared/systemd/src/basic/process-util.c -@@ -21,6 +21,9 @@ +@@ -17,6 +17,9 @@ #include #include #include @@ -47,7 +48,7 @@ index 7431be3..189060a 100644 #if 0 /* NM_IGNORED */ #if HAVE_VALGRIND_VALGRIND_H #include -@@ -1183,11 +1186,13 @@ void reset_cached_pid(void) { +@@ -1123,11 +1126,13 @@ void reset_cached_pid(void) { cached_pid = CACHED_PID_UNSET; } @@ -61,7 +62,7 @@ index 7431be3..189060a 100644 pid_t getpid_cached(void) { static bool installed = false; -@@ -1216,7 +1221,11 @@ pid_t getpid_cached(void) { +@@ -1156,7 +1161,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. */ @@ -74,10 +75,10 @@ index 7431be3..189060a 100644 cached_pid = CACHED_PID_UNSET; return new_pid; diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h -index 15443f1..4807198 100644 +index a0886e0..da47d14 100644 --- a/shared/systemd/src/basic/socket-util.h +++ b/shared/systemd/src/basic/socket-util.h -@@ -13,6 +13,12 @@ +@@ -14,6 +14,12 @@ #include #include @@ -147,10 +148,10 @@ index c3b9448..e80a938 100644 #include #include diff --git a/shared/systemd/src/basic/string-util.h b/shared/systemd/src/basic/string-util.h -index b23f4c8..8f2f6e0 100644 +index 04cc82b..2cf589a 100644 --- a/shared/systemd/src/basic/string-util.h +++ b/shared/systemd/src/basic/string-util.h -@@ -27,6 +27,11 @@ +@@ -26,6 +26,11 @@ #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0) #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0) @@ -162,6 +163,3 @@ index b23f4c8..8f2f6e0 100644 int strcmp_ptr(const char *a, const char *b) _pure_; static inline bool streq_ptr(const char *a, const char *b) { --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch index e0973af1e..196a3358d 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch @@ -1,7 +1,7 @@ -From 3d1307735667758f44378585482fe421db086af8 Mon Sep 17 00:00:00 2001 +From 877fbb4e848629ff57371b5bdb0d56369abe9d81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 8 Apr 2019 23:10:43 +0200 -Subject: [PATCH 2/2] Fix build with musl +Subject: [PATCH] Fix build with musl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -32,6 +32,7 @@ linux-libc headers 'notoriously broken for userspace' [2] (search for Upstream-Status: Pending Signed-off-by: Andreas Müller + --- clients/tui/nmt-device-entry.c | 1 - libnm-core/nm-utils.h | 4 ++++ @@ -41,10 +42,10 @@ Signed-off-by: Andreas Müller 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/clients/tui/nmt-device-entry.c b/clients/tui/nmt-device-entry.c -index 43fbbc1..3eae286 100644 +index 4ab5932..915248c 100644 --- a/clients/tui/nmt-device-entry.c +++ b/clients/tui/nmt-device-entry.c -@@ -39,7 +39,6 @@ +@@ -26,7 +26,6 @@ #include "nmt-device-entry.h" #include @@ -53,10 +54,10 @@ index 43fbbc1..3eae286 100644 #include "nmtui.h" diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h -index 2b5baba..f7abab6 100644 +index 5418a1e..f492da6 100644 --- a/libnm-core/nm-utils.h +++ b/libnm-core/nm-utils.h -@@ -25,6 +25,10 @@ +@@ -10,6 +10,10 @@ #error "Only can be included directly." #endif @@ -68,10 +69,10 @@ index 2b5baba..f7abab6 100644 #include diff --git a/shared/nm-default.h b/shared/nm-default.h -index 54e9916..26e9f4e 100644 +index ace6ede..25357da 100644 --- a/shared/nm-default.h +++ b/shared/nm-default.h -@@ -211,6 +211,9 @@ +@@ -182,6 +182,9 @@ #endif #include @@ -82,10 +83,10 @@ index 54e9916..26e9f4e 100644 /*****************************************************************************/ diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c -index bd4fbcc..f70b309 100644 +index 3bbc975..4e8a3f6 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c -@@ -24,6 +24,7 @@ +@@ -9,6 +9,7 @@ #include "nm-device.h" #include @@ -93,7 +94,7 @@ index bd4fbcc..f70b309 100644 #include #include #include -@@ -32,7 +33,6 @@ +@@ -17,7 +18,6 @@ #include #include #include @@ -102,10 +103,10 @@ index bd4fbcc..f70b309 100644 #include diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c -index d4b0115..22a3a90 100644 +index 7abe4df..9f53147 100644 --- a/src/platform/nm-linux-platform.c +++ b/src/platform/nm-linux-platform.c -@@ -28,7 +28,6 @@ +@@ -14,7 +14,6 @@ #include #include #include @@ -113,6 +114,3 @@ index d4b0115..22a3a90 100644 #include #include #include --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-for-n-dhcp4.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-for-n-dhcp4.patch new file mode 100644 index 000000000..62252826e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-for-n-dhcp4.patch @@ -0,0 +1,61 @@ +From aff5cded8847f3eee59f5cec22afb8630d401a85 Mon Sep 17 00:00:00 2001 +From: Adrian Freihofer +Date: Sat, 7 Mar 2020 14:22:36 +0100 +Subject: [PATCH 3/4] Fix build with musl for n-dhcp4 + +--- + shared/n-dhcp4/src/n-dhcp4-c-probe.c | 8 ++++++++ + shared/n-dhcp4/src/n-dhcp4-private.h | 4 ++++ + 2 files changed, 12 insertions(+) + +diff --git a/shared/n-dhcp4/src/n-dhcp4-c-probe.c b/shared/n-dhcp4/src/n-dhcp4-c-probe.c +index e4477a7..75713c8 100644 +--- a/shared/n-dhcp4/src/n-dhcp4-c-probe.c ++++ b/shared/n-dhcp4/src/n-dhcp4-c-probe.c +@@ -360,8 +360,12 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe + seed16v[1] = (u64 >> 16) ^ (u64 >> 0); + seed16v[2] = (u64 >> 32) ^ (u64 >> 16); + ++#ifdef __GLIBC__ + r = seed48_r(seed16v, &config->entropy); + c_assert(!r); ++#else ++ memcpy(config->entropy, seed16v, sizeof seed16v); ++#endif + } + + /** +@@ -375,10 +379,14 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe + */ + uint32_t n_dhcp4_client_probe_config_get_random(NDhcp4ClientProbeConfig *config) { + long int result; ++#ifdef __GLIBC__ + int r; + + r = mrand48_r(&config->entropy, &result); + c_assert(!r); ++#else ++ result = jrand48(config->entropy); ++#endif + + return result; + }; +diff --git a/shared/n-dhcp4/src/n-dhcp4-private.h b/shared/n-dhcp4/src/n-dhcp4-private.h +index 436ee80..ffcb4b2 100644 +--- a/shared/n-dhcp4/src/n-dhcp4-private.h ++++ b/shared/n-dhcp4/src/n-dhcp4-private.h +@@ -267,7 +267,11 @@ struct NDhcp4ClientProbeConfig { + bool inform_only; + bool init_reboot; + struct in_addr requested_ip; ++#ifdef __GLIBC__ + struct drand48_data entropy; /* entropy pool */ ++#else ++ unsigned short entropy[3]; /* entropy pool */ ++#endif + uint64_t ms_start_delay; /* max ms to wait before starting probe */ + NDhcp4ClientProbeOption *options[UINT8_MAX + 1]; + int8_t request_parameters[UINT8_MAX + 1]; +-- +2.24.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-Fix-build-with-musl-systemd-specific.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-Fix-build-with-musl-systemd-specific.patch new file mode 100644 index 000000000..55aa4d265 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-Fix-build-with-musl-systemd-specific.patch @@ -0,0 +1,26 @@ +From 80c7d3391510993cba1a7499bf33a5b2b115280d Mon Sep 17 00:00:00 2001 +From: Adrian Freihofer +Date: Sat, 7 Mar 2020 14:24:01 +0100 +Subject: [PATCH 4/4] Fix build with musl - systemd specific + +--- + src/systemd/src/libsystemd-network/sd-dhcp6-client.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c +index e1150f9..2c63bac 100644 +--- a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c ++++ b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c +@@ -7,7 +7,9 @@ + + #include + #include ++#ifdef __GLIBC__ /* musl supplies full set of userspace headers */ + #include ++#endif + #include + + #include "sd-dhcp6-client.h" +-- +2.24.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.4.bb deleted file mode 100644 index 27508c4d9..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.4.bb +++ /dev/null @@ -1,151 +0,0 @@ -SUMMARY = "NetworkManager" -HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" -SECTION = "net/misc" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \ - file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \ -" - -DEPENDS = " \ - intltool-native \ - libxslt-native \ - libnl \ - libgudev \ - util-linux \ - libndp \ - libnewt \ - jansson \ - curl \ -" - -inherit gnomebase gettext update-rc.d systemd bash-completion vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even - -SRC_URI = " \ - ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ - file://${BPN}.initd \ - file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ - file://0002-Do-not-create-settings-settings-property-documentati.patch \ -" -SRC_URI_append_libc-musl = " \ - file://musl/0001-Fix-build-with-musl-systemd-specific.patch \ - file://musl/0002-Fix-build-with-musl.patch \ -" -SRC_URI[md5sum] = "fc86588a3ae54e0d406b560a312d5a5d" -SRC_URI[sha256sum] = "a3bd07f695b6d3529ec6adbd9a1d6385b967e9c8ae90946f51d8852b320fd05e" - -S = "${WORKDIR}/NetworkManager-${PV}" - -EXTRA_OECONF = " \ - --disable-ifcfg-rh \ - --disable-more-warnings \ - --with-iptables=${sbindir}/iptables \ - --with-tests \ - --with-nmtui=yes \ - --with-udev-dir=${nonarch_base_libdir}/udev \ -" - -# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template -# avoids: -# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? -CFLAGS_append_libc-musl = " \ - -DRTLD_DEEPBIND=0 \ -" - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs" -} - -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', 'bluez5', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ -" -PACKAGECONFIG[systemd] = " \ - --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \ - --without-systemdsystemunitdir, \ -" -PACKAGECONFIG[polkit] = "--enable-polkit --enable-polkit-agent,--disable-polkit --disable-polkit-agent,polkit" -PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5" -# consolekit is not picked by shlibs, so add it to RDEPENDS too -PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit" -PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager" -PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" -# Use full featured dhcp client instead of internal one -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[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf" -PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" -PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant" -PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" -PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" - -PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \ - ${PN}-nmtui ${PN}-nmtui-doc \ - ${PN}-adsl \ -" - -FILES_libnmutil += "${libdir}/libnm-util.so.*" -FILES_libnmglib += "${libdir}/libnm-glib.so.*" -FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*" - -FILES_${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so" - -FILES_${PN} += " \ - ${libexecdir} \ - ${libdir}/NetworkManager/${PV}/*.so \ - ${nonarch_libdir}/NetworkManager/VPN \ - ${nonarch_libdir}/NetworkManager/conf.d \ - ${datadir}/polkit-1 \ - ${datadir}/dbus-1 \ - ${nonarch_base_libdir}/udev/* \ - ${systemd_unitdir}/system \ - ${libdir}/pppd \ -" - -RRECOMMENDS_${PN} += "iptables \ - ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ -" -RCONFLICTS_${PN} = "connman" - -FILES_${PN}-dev += " \ - ${datadir}/NetworkManager/gdb-cmd \ - ${libdir}/pppd/*/*.la \ - ${libdir}/NetworkManager/*.la \ - ${libdir}/NetworkManager/${PV}/*.la \ -" - -FILES_${PN}-nmtui = " \ - ${bindir}/nmtui \ - ${bindir}/nmtui-edit \ - ${bindir}/nmtui-connect \ - ${bindir}/nmtui-hostname \ -" - -FILES_${PN}-nmtui-doc = " \ - ${mandir}/man1/nmtui* \ -" - -INITSCRIPT_NAME = "network-manager" -SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" - -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" -ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}" -ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" - -do_install_append() { - install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager - - rm -rf ${D}/run ${D}${localstatedir}/run - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - # For read-only filesystem, do not create links during bootup - ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager - - # systemd v210 and newer do not need this rule file - rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules - fi -} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.10.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.10.bb new file mode 100644 index 000000000..33a2b7c0c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.10.bb @@ -0,0 +1,166 @@ +SUMMARY = "NetworkManager" +HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" +SECTION = "net/misc" + +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = " \ + intltool-native \ + libxslt-native \ + libnl \ + libgudev \ + util-linux \ + libndp \ + libnewt \ + jansson \ + curl \ +" + +inherit gnomebase gettext update-rc.d systemd bash-completion vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even + +SRC_URI = " \ + ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ + file://${BPN}.initd \ + file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ + file://0002-Do-not-create-settings-settings-property-documentati.patch \ +" +SRC_URI_append_libc-musl = " \ + file://musl/0001-Fix-build-with-musl-systemd-specific.patch \ + file://musl/0002-Fix-build-with-musl.patch \ + file://musl/0003-Fix-build-with-musl-for-n-dhcp4.patch \ + file://musl/0004-Fix-build-with-musl-systemd-specific.patch \ +" +SRC_URI[sha256sum] = "2b29ccc1531ba7ebba95a97f40c22b963838e8b6833745efe8e6fb71fd8fca77" + +S = "${WORKDIR}/NetworkManager-${PV}" + +EXTRA_OECONF = " \ + --disable-ifcfg-rh \ + --disable-more-warnings \ + --with-iptables=${sbindir}/iptables \ + --with-tests \ + --with-nmtui=yes \ + --with-udev-dir=${nonarch_base_libdir}/udev \ +" + +# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template +# avoids: +# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? +CFLAGS_append_libc-musl = " \ + -DRTLD_DEEPBIND=0 \ +" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs" +} + +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', 'bluez5', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ +" +PACKAGECONFIG[systemd] = " \ + --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \ + --without-systemdsystemunitdir, \ +" +PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" +PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5" +# consolekit is not picked by shlibs, so add it to RDEPENDS too +PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit" +PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager" +PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" +# Use full featured dhcp client instead of internal one +PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client" +PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" +PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" +PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf" +PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" +PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant" +PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" +PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" +PACKAGECONFIG[cloud-setup] = "--with-nm-cloud-setup=yes,--with-nm-cloud-setup=no" + +PACKAGES =+ " \ + ${PN}-nmtui ${PN}-nmtui-doc \ + ${PN}-adsl ${PN}-cloud-setup \ +" + +SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup" + +FILES_${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so" + +FILES_${PN}-cloud-setup = " \ + ${libexecdir}/nm-cloud-setup \ + ${systemd_system_unitdir}/nm-cloud-setup.service \ + ${systemd_system_unitdir}/nm-cloud-setup.timer \ + ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \ + ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \ +" +ALLOW_EMPTY_${PN}-cloud-setup = "1" +SYSTEMD_SERVICE_${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}" + +FILES_${PN} += " \ + ${libexecdir} \ + ${libdir}/NetworkManager/${PV}/*.so \ + ${libdir}/NetworkManager \ + ${nonarch_libdir}/NetworkManager/conf.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \ + ${nonarch_libdir}/NetworkManager/VPN \ + ${nonarch_libdir}/NetworkManager/system-connections \ + ${datadir}/polkit-1 \ + ${datadir}/dbus-1 \ + ${nonarch_base_libdir}/udev/* \ + ${systemd_system_unitdir} \ + ${libdir}/pppd \ +" + +RRECOMMENDS_${PN} += "iptables \ + ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ +" +RCONFLICTS_${PN} = "connman" + +FILES_${PN}-dev += " \ + ${datadir}/NetworkManager/gdb-cmd \ + ${libdir}/pppd/*/*.la \ + ${libdir}/NetworkManager/*.la \ + ${libdir}/NetworkManager/${PV}/*.la \ +" + +FILES_${PN}-nmtui = " \ + ${bindir}/nmtui \ + ${bindir}/nmtui-edit \ + ${bindir}/nmtui-connect \ + ${bindir}/nmtui-hostname \ +" + +FILES_${PN}-nmtui-doc = " \ + ${mandir}/man1/nmtui* \ +" + +INITSCRIPT_NAME = "network-manager" +SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" +ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}" +ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" + +do_install_append() { + install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager + + rm -rf ${D}/run ${D}${localstatedir}/run + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + # For read-only filesystem, do not create links during bootup + ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager + + # systemd v210 and newer do not need this rule file + rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules + fi +} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-trojans-tncc-wrapper.py-convert-to-python3.patch b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-trojans-tncc-wrapper.py-convert-to-python3.patch new file mode 100644 index 000000000..623ec101d --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-trojans-tncc-wrapper.py-convert-to-python3.patch @@ -0,0 +1,71 @@ +From de78bcac5e1fd13de0371c8e14b062b8786ade56 Mon Sep 17 00:00:00 2001 +From: Max Krummenacher +Date: Sun, 2 Feb 2020 15:53:05 +0000 +Subject: [PATCH] trojans/tncc-wrapper.py: convert to python3 + +Use 2to3 to convert the script to python3. + +Upstream-Status: Pending + +Signed-off-by: Max Krummenacher +--- + trojans/tncc-wrapper.py | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/trojans/tncc-wrapper.py b/trojans/tncc-wrapper.py +index 0d4587bf..1a9a1f4d 100755 +--- a/trojans/tncc-wrapper.py ++++ b/trojans/tncc-wrapper.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python2 ++#!/usr/bin/python3 + + # Lifted from Russ Dill's juniper-vpn-wrap.py, thus: + # +@@ -18,19 +18,19 @@ + + import subprocess + import mechanize +-import cookielib ++import http.cookiejar + import getpass + import sys + import os + import zipfile +-import urllib ++import urllib.request, urllib.parse, urllib.error + import socket + import ssl + import errno + import argparse + import atexit + import signal +-import ConfigParser ++import configparser + import time + import binascii + import hmac +@@ -39,7 +39,7 @@ import hashlib + def mkdir_p(path): + try: + os.mkdir(path) +- except OSError, exc: ++ except OSError as exc: + if exc.errno == errno.EEXIST and os.path.isdir(path): + pass + else: +@@ -64,9 +64,9 @@ class Tncc: + if zipfile.ZipFile(self.tncc_jar, 'r').testzip() is not None: + raise Exception() + except: +- print 'Downloading tncc.jar...' ++ print('Downloading tncc.jar...') + mkdir_p(os.path.expanduser('~/.juniper_networks')) +- urllib.urlretrieve('https://' + self.vpn_host ++ urllib.request.urlretrieve('https://' + self.vpn_host + + '/dana-cached/hc/tncc.jar', self.tncc_jar) + + with zipfile.ZipFile(self.tncc_jar, 'r') as jar: +-- +2.20.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb index ec36a375a..597c1920c 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb @@ -2,11 +2,14 @@ SUMMARY = "Open client for Cisco AnyConnect VPN" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad" -SRC_URI = "git://git.infradead.org/users/dwmw2/openconnect.git" +SRC_URI = " \ + git://git.infradead.org/users/dwmw2/openconnect.git \ + file://0001-trojans-tncc-wrapper.py-convert-to-python3.patch \ +" SRCREV = "ea73851969ae7a6ea54fdd2d2b8c94776af24b2a" DEPENDS = "vpnc libxml2 krb5 gettext-native" -RDEPENDS_${PN} = "bash python" +RDEPENDS_${PN} = "bash python3-core vpnc-script" PACKAGECONFIG ??= "gnutls lz4 libproxy" @@ -22,10 +25,5 @@ S = "${WORKDIR}/git" inherit autotools pkgconfig -EXTRA_OECONF += "--with-vpnc-script=${SYSROOT_DESTDIR}${sysconfdir}/vpnc/vpnc-script \ +EXTRA_OECONF += "--with-vpnc-script=${sysconfdir}/vpnc/vpnc-script \ --disable-static" - -do_configure_append() { - # script has /usr/bin/python2 path hardcoded - sed -i -e 's=python2\.*=python=g' ${S}/trojans/tncc-wrapper.py -} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.1.bb deleted file mode 100644 index 3aa41f1ad..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Easy communication with NetworkManager from Python" -HOMEPAGE = "https://github.com/seveas/python-networkmanager" -LICENSE = "Zlib" - -LIC_FILES_CHKSUM = "file://COPYING;md5=8d8bac174bf8422b151200e6cc78ebe4" - -SRC_URI[md5sum] = "f638d854a3639fb37c0e06d1092a771e" -SRC_URI[sha256sum] = "aef1e34d98d7bec7cc368e0ca0f2e97493f9b5ebe6d7103f8f6460cfca3dc6fc" - -PYPI_PACKAGE = "python-networkmanager" -inherit pypi setuptools - -RDEPENDS_${PN} = "networkmanager python-dbus python-six" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python3-networkmanager_2.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python3-networkmanager_2.1.bb new file mode 100644 index 000000000..91a6edd24 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python3-networkmanager_2.1.bb @@ -0,0 +1,13 @@ +SUMMARY = "Easy communication with NetworkManager from Python" +HOMEPAGE = "https://github.com/seveas/python-networkmanager" +LICENSE = "Zlib" + +LIC_FILES_CHKSUM = "file://COPYING;md5=8d8bac174bf8422b151200e6cc78ebe4" + +SRC_URI[md5sum] = "f638d854a3639fb37c0e06d1092a771e" +SRC_URI[sha256sum] = "aef1e34d98d7bec7cc368e0ca0f2e97493f9b5ebe6d7103f8f6460cfca3dc6fc" + +PYPI_PACKAGE = "python-networkmanager" +inherit pypi setuptools3 + +RDEPENDS_${PN} = "networkmanager python3-dbus python3-six" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb index 98dc41a09..e3134e41f 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb @@ -12,6 +12,8 @@ SRC_URI = "git://git.openwrt.org/project/relayd.git \ SRCREV = "ad0b25ad74345d367c62311e14b279f5ccb8ef13" PV = "0.0.1+git${SRCPV}" +UPSTREAM_CHECK_COMMITS = "1" + S = "${WORKDIR}/git" inherit cmake diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.11.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.11.bb deleted file mode 100644 index ffdc15ac4..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.11.bb +++ /dev/null @@ -1,333 +0,0 @@ -HOMEPAGE = "https://www.samba.org/" -SECTION = "console/network" - -LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \ - file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 " - -SAMBA_MIRROR = "http://samba.org/samba/ftp" -MIRRORS += "\ -${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ -${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://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-waf-add-support-of-cross_compile.patch \ - file://0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch \ - file://0002-util_sec.c-Move-__thread-variable-to-global-scope.patch \ - " -SRC_URI_append_libc-musl = " \ - file://samba-pam.patch \ - file://samba-4.3.9-remove-getpwent_r.patch \ - file://cmocka-uintptr_t.patch \ - file://0001-samba-fix-musl-lib-without-innetgr.patch \ - " - -SRC_URI[md5sum] = "eebd021de840312d7e08959e8a3d0ba1" -SRC_URI[sha256sum] = "609f4232e04c6eaad0e3b8e00cd837683a960ebb95c1fe3349e968d1d1dff894" - -UPSTREAM_CHECK_REGEX = "samba\-(?P4\.10(\.\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 libtasn1 jansson" - -inherit features_check -REQUIRED_DISTRO_FEATURES = "pam" - -DEPENDS_append_libc-musl = " libtirpc" -CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" -LDFLAGS_append_libc-musl = " -ltirpc" - -INITSCRIPT_NAME = "samba" -INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." - -SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind" -SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service" -SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" -SYSTEMD_SERVICE_winbind = "winbind.service" - -# There are prerequisite settings to enable ad-dc, so disable the service by default. -# Reference: -# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller -SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable" - -#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen -#to cross Popen -export WAF_NO_PREFORK="yes" - -# Use krb5. Build active domain controller. -# -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ - acl cups ad-dc gnutls ldap mitkrb5 \ -" - -RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt" - -PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" -PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" -PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" -PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" -PACKAGECONFIG[sasl] = ",,cyrus-sasl" -PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" -PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" -PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" -PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," -PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" -PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" -PACKAGECONFIG[libunwind] = ", , libunwind" -PACKAGECONFIG[gpgme] = ",--without-gpgme,," -PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb," - -# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS, -# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to: -# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html -# So the working combination is: -# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable -# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable -# -# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where -# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow. -# -PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,," -PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," -PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," - -SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" -SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" -SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" -SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" - -# These libraries are supposed to replace others supplied by packages, but decorate the names of -# .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" - -EXTRA_OECONF += "--enable-fhs \ - --with-piddir=/run \ - --with-sockets-dir=/run/samba \ - --with-modulesdir=${libdir}/samba \ - --with-lockdir=${localstatedir}/lib/samba \ - --with-cachedir=${localstatedir}/lib/samba \ - --disable-rpath-install \ - --with-shared-modules=${SAMBA4_MODULES} \ - --bundled-libraries=${SAMBA4_LIBS} \ - ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ - --with-cluster-support \ - --with-profiling-data \ - --with-libiconv=${STAGING_DIR_HOST}${prefix} \ - --with-pam --with-pammodulesdir=${base_libdir}/security \ - " - -LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -do_install_append() { - for section in 1 5 7; do - install -d ${D}${mandir}/man$section - install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section - done - for section in 1 5 7 8; do - install -d ${D}${mandir}/man$section - install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section - done - - install -d ${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 - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then - rm -f ${D}${systemd_system_unitdir}/samba.service - fi - - install -d ${D}${sysconfdir}/tmpfiles.d - 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 - 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 ${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 - install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba - - # the items are from ctdb/tests/run_tests.sh - for d in onnode takeover tool eventscripts cunit simple complex; do - testdir=${D}${datadir}/ctdb-tests/$d - install -d $testdir - cp ${S}/ctdb/tests/$d/*.sh $testdir - cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true - done - - # fix file-rdeps qa warning - if [ -f ${D}${bindir}/onnode ]; then - sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode - fi - - chmod 0750 ${D}${sysconfdir}/sudoers.d || true - rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log - - for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate; do - if [ -f "${D}${sbindir}/$f" ]; then - sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f - fi - done - if [ -f "${D}${bindir}/samba-tool" ]; then - sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool - fi - -} - -PACKAGES =+ "${PN}-python3 ${PN}-pidl \ - ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ - winbind \ - ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \ - smbclient ${PN}-client ${PN}-server ${PN}-test" - -python samba_populate_packages() { - def module_hook(file, pkg, pattern, format, basename): - pn = d.getVar('PN') - d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) - - mlprefix = d.getVar('MLPREFIX') or '' - pam_libdir = d.expand('${base_libdir}/security') - pam_pkgname = mlprefix + 'pam-plugin%s' - do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) - - libdir = d.getVar('libdir') - do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) - pkglibdir = '%s/samba' % libdir - do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) - moduledir = '%s/samba/auth' % libdir - do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) - moduledir = '%s/samba/pdb' % libdir - do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) -} - -PACKAGESPLITFUNCS_prepend = "samba_populate_packages " -PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" - -RDEPENDS_${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" -RDEPENDS_${PN}-python3 += "pytalloc python3-tdb" - -FILES_${PN}-base = "${sbindir}/nmbd \ - ${sbindir}/smbd \ - ${sysconfdir}/init.d \ - ${systemd_system_unitdir}/nmb.service \ - ${systemd_system_unitdir}/smb.service" - -FILES_${PN}-ad-dc = "${sbindir}/samba \ - ${systemd_system_unitdir}/samba.service \ - ${libdir}/krb5/plugins/kdb/samba.so \ -" -RDEPENDS_${PN}-ad-dc = "krb5-kdc" - -FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ - ${bindir}/ctdb_run_cluster_tests \ - ${sysconfdir}/ctdb/nodes \ - ${datadir}/ctdb-tests \ - ${datadir}/ctdb/tests \ - ${localstatedir}/lib/ctdb \ - " - -FILES_${BPN}-common = "${sysconfdir}/default \ - ${sysconfdir}/samba \ - ${sysconfdir}/tmpfiles.d \ - ${localstatedir}/lib/samba \ - ${localstatedir}/spool/samba \ -" - -FILES_${PN} += "${libdir}/vfs/*.so \ - ${libdir}/charset/*.so \ - ${libdir}/*.dat \ - ${libdir}/auth/*.so \ - ${datadir}/ctdb/events/* \ -" - -FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb" - -FILES_${PN}-testsuite = "${bindir}/gentest \ - ${bindir}/locktest \ - ${bindir}/masktest \ - ${bindir}/ndrdump \ - ${bindir}/smbtorture" - -FILES_registry-tools = "${bindir}/regdiff \ - ${bindir}/regpatch \ - ${bindir}/regshell \ - ${bindir}/regtree" - -FILES_winbind = "${sbindir}/winbindd \ - ${bindir}/wbinfo \ - ${bindir}/ntlm_auth \ - ${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" - -FILES_${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" - -FILES_smbclient = "${bindir}/cifsdd \ - ${bindir}/rpcclient \ - ${bindir}/smbcacls \ - ${bindir}/smbclient \ - ${bindir}/smbcquotas \ - ${bindir}/smbget \ - ${bindir}/smbspool \ - ${bindir}/smbtar \ - ${bindir}/smbtree \ - ${libdir}/samba/smbspool_krb5_wrapper" - -RDEPENDS_${PN}-pidl_append = " perl" -FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse" - -RDEPENDS_${PN}-client = "\ - smbclient \ - winbind \ - registry-tools \ - ${PN}-pidl \ - " - -ALLOW_EMPTY_${PN}-client = "1" - -RDEPENDS_${PN}-server = "\ - ${PN} \ - winbind \ - registry-tools \ - " - -ALLOW_EMPTY_${PN}-server = "1" - -RDEPENDS_${PN}-test = "\ - ${PN}-ctdb-tests \ - ${PN}-testsuite \ - " - -ALLOW_EMPTY_${PN}-test = "1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.13.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.13.bb new file mode 100644 index 000000000..71d8fa2f8 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.13.bb @@ -0,0 +1,333 @@ +HOMEPAGE = "https://www.samba.org/" +SECTION = "console/network" + +LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \ + file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 " + +SAMBA_MIRROR = "http://samba.org/samba/ftp" +MIRRORS += "\ +${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ +${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://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-waf-add-support-of-cross_compile.patch \ + file://0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch \ + file://0002-util_sec.c-Move-__thread-variable-to-global-scope.patch \ + " +SRC_URI_append_libc-musl = " \ + file://samba-pam.patch \ + file://samba-4.3.9-remove-getpwent_r.patch \ + file://cmocka-uintptr_t.patch \ + file://0001-samba-fix-musl-lib-without-innetgr.patch \ + " + +SRC_URI[md5sum] = "e7906580bf06dae087e99ef8254f327d" +SRC_URI[sha256sum] = "49eb6426e97cbf538e416e51ed8535930382512ad2d13d5ffd7f4336aa7faf63" + +UPSTREAM_CHECK_REGEX = "samba\-(?P4\.10(\.\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 libtasn1 jansson" + +inherit features_check +REQUIRED_DISTRO_FEATURES = "pam" + +DEPENDS_append_libc-musl = " libtirpc" +CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" +LDFLAGS_append_libc-musl = " -ltirpc" + +INITSCRIPT_NAME = "samba" +INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." + +SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind" +SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service" +SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" +SYSTEMD_SERVICE_winbind = "winbind.service" + +# There are prerequisite settings to enable ad-dc, so disable the service by default. +# Reference: +# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller +SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable" + +#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen +#to cross Popen +export WAF_NO_PREFORK="yes" + +# Use krb5. Build active domain controller. +# +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ + acl cups ad-dc gnutls ldap mitkrb5 \ +" + +RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt" + +PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" +PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" +PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[sasl] = ",,cyrus-sasl" +PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" +PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" +PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" +PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," +PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" +PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" +PACKAGECONFIG[libunwind] = ", , libunwind" +PACKAGECONFIG[gpgme] = ",--without-gpgme,," +PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb," + +# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS, +# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to: +# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html +# So the working combination is: +# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable +# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable +# +# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where +# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow. +# +PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,," +PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," +PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," + +SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" +SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" +SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" +SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" + +# These libraries are supposed to replace others supplied by packages, but decorate the names of +# .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" + +EXTRA_OECONF += "--enable-fhs \ + --with-piddir=/run \ + --with-sockets-dir=/run/samba \ + --with-modulesdir=${libdir}/samba \ + --with-lockdir=${localstatedir}/lib/samba \ + --with-cachedir=${localstatedir}/lib/samba \ + --disable-rpath-install \ + --with-shared-modules=${SAMBA4_MODULES} \ + --bundled-libraries=${SAMBA4_LIBS} \ + ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ + --with-cluster-support \ + --with-profiling-data \ + --with-libiconv=${STAGING_DIR_HOST}${prefix} \ + --with-pam --with-pammodulesdir=${base_libdir}/security \ + " + +LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +do_install_append() { + for section in 1 5 7; do + install -d ${D}${mandir}/man$section + install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section + done + for section in 1 5 7 8; do + install -d ${D}${mandir}/man$section + install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section + done + + install -d ${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 + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then + rm -f ${D}${systemd_system_unitdir}/samba.service + fi + + install -d ${D}${sysconfdir}/tmpfiles.d + 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 + 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 ${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 + install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba + + # the items are from ctdb/tests/run_tests.sh + for d in onnode takeover tool eventscripts cunit simple complex; do + testdir=${D}${datadir}/ctdb-tests/$d + install -d $testdir + cp ${S}/ctdb/tests/$d/*.sh $testdir + cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true + done + + # fix file-rdeps qa warning + if [ -f ${D}${bindir}/onnode ]; then + sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode + fi + + chmod 0750 ${D}${sysconfdir}/sudoers.d || true + rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log + + for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate; do + if [ -f "${D}${sbindir}/$f" ]; then + sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f + fi + done + if [ -f "${D}${bindir}/samba-tool" ]; then + sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool + fi + +} + +PACKAGES =+ "${PN}-python3 ${PN}-pidl \ + ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ + winbind \ + ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \ + smbclient ${PN}-client ${PN}-server ${PN}-test" + +python samba_populate_packages() { + def module_hook(file, pkg, pattern, format, basename): + pn = d.getVar('PN') + d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) + + mlprefix = d.getVar('MLPREFIX') or '' + pam_libdir = d.expand('${base_libdir}/security') + pam_pkgname = mlprefix + 'pam-plugin%s' + do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) + + libdir = d.getVar('libdir') + do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) + pkglibdir = '%s/samba' % libdir + do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) + moduledir = '%s/samba/auth' % libdir + do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) + moduledir = '%s/samba/pdb' % libdir + do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) +} + +PACKAGESPLITFUNCS_prepend = "samba_populate_packages " +PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" + +RDEPENDS_${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" +RDEPENDS_${PN}-python3 += "pytalloc python3-tdb" + +FILES_${PN}-base = "${sbindir}/nmbd \ + ${sbindir}/smbd \ + ${sysconfdir}/init.d \ + ${systemd_system_unitdir}/nmb.service \ + ${systemd_system_unitdir}/smb.service" + +FILES_${PN}-ad-dc = "${sbindir}/samba \ + ${systemd_system_unitdir}/samba.service \ + ${libdir}/krb5/plugins/kdb/samba.so \ +" +RDEPENDS_${PN}-ad-dc = "krb5-kdc" + +FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ + ${bindir}/ctdb_run_cluster_tests \ + ${sysconfdir}/ctdb/nodes \ + ${datadir}/ctdb-tests \ + ${datadir}/ctdb/tests \ + ${localstatedir}/lib/ctdb \ + " + +FILES_${BPN}-common = "${sysconfdir}/default \ + ${sysconfdir}/samba \ + ${sysconfdir}/tmpfiles.d \ + ${localstatedir}/lib/samba \ + ${localstatedir}/spool/samba \ +" + +FILES_${PN} += "${libdir}/vfs/*.so \ + ${libdir}/charset/*.so \ + ${libdir}/*.dat \ + ${libdir}/auth/*.so \ + ${datadir}/ctdb/events/* \ +" + +FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb" + +FILES_${PN}-testsuite = "${bindir}/gentest \ + ${bindir}/locktest \ + ${bindir}/masktest \ + ${bindir}/ndrdump \ + ${bindir}/smbtorture" + +FILES_registry-tools = "${bindir}/regdiff \ + ${bindir}/regpatch \ + ${bindir}/regshell \ + ${bindir}/regtree" + +FILES_winbind = "${sbindir}/winbindd \ + ${bindir}/wbinfo \ + ${bindir}/ntlm_auth \ + ${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" + +FILES_${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" + +FILES_smbclient = "${bindir}/cifsdd \ + ${bindir}/rpcclient \ + ${bindir}/smbcacls \ + ${bindir}/smbclient \ + ${bindir}/smbcquotas \ + ${bindir}/smbget \ + ${bindir}/smbspool \ + ${bindir}/smbtar \ + ${bindir}/smbtree \ + ${libdir}/samba/smbspool_krb5_wrapper" + +RDEPENDS_${PN}-pidl_append = " perl" +FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse" + +RDEPENDS_${PN}-client = "\ + smbclient \ + winbind \ + registry-tools \ + ${PN}-pidl \ + " + +ALLOW_EMPTY_${PN}-client = "1" + +RDEPENDS_${PN}-server = "\ + ${PN} \ + winbind \ + registry-tools \ + " + +ALLOW_EMPTY_${PN}-server = "1" + +RDEPENDS_${PN}-test = "\ + ${PN}-ctdb-tests \ + ${PN}-testsuite \ + " + +ALLOW_EMPTY_${PN}-test = "1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb index 6ff103c77..42fc26258 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb @@ -17,15 +17,18 @@ SRC_URI = " \ file://0004-lp1039729.patch \ file://0005-lp1191197.patch \ " + +UPSTREAM_CHECK_URI = "https://launchpad.net/ufw" + SRC_URI[md5sum] = "3747b453d76709e5a99da209fc0bb5f5" SRC_URI[sha256sum] = "5f85a8084ad3539b547bec097286948233188c971f498890316dec170bdd1da8" -inherit setuptools features_check +inherit setuptools3 features_check RDEPENDS_${PN} = " \ iptables \ - python \ - python-modules \ + python3 \ + python3-modules \ " RRECOMMENDS_${PN} = " \ diff --git a/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb index ea2179985..54e855a09 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb @@ -28,6 +28,8 @@ PACKAGECONFIG ?= "gnutls" PACKAGECONFIG[gnutls] = ",,gnutls" PACKAGECONFIG[openssl] = ",,openssl" +PACKAGES =+ "${PN}-script" + S = "${WORKDIR}/git" inherit perlnative pkgconfig @@ -54,6 +56,8 @@ vpnc_sysroot_preprocess () { install -m 755 ${D}${sysconfdir}/vpnc/vpnc-script ${SYSROOT_DESTDIR}${sysconfdir}/vpnc } +FILES_${PN}-script = "${sysconfdir}/vpnc/vpnc-script" + CONFFILES_${PN} = "${sysconfdir}/vpnc/default.conf" -RDEPENDS_${PN} = "perl-module-io-file" +RDEPENDS_${PN} = "perl-module-io-file ${PN}-script" RRECOMMENDS_${PN} = "kernel-module-tun" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.3.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.3.0.bb deleted file mode 100644 index a6c8cd09c..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.3.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" -DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ - in C and optimized for embedded and RTOS environments. It can \ - be up to 20 times smaller than OpenSSL while still supporting \ - a full TLS client and server, up to TLS 1.3" -HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" -BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" -SECTION = "libs" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -PROVIDES += "cyassl" -RPROVIDES_${PN} = "cyassl" - -SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https" -SRCREV = "3f13b49fa318fbd3216d7da36d942e7c276d3413" -S = "${WORKDIR}/git" - -inherit autotools - -BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.4.0.bb new file mode 100644 index 000000000..db7b0d486 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.4.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" +DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ + in C and optimized for embedded and RTOS environments. It can \ + be up to 20 times smaller than OpenSSL while still supporting \ + a full TLS client and server, up to TLS 1.3" +HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" +BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" +SECTION = "libs" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +PROVIDES += "cyassl" +RPROVIDES_${PN} = "cyassl" + +SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https" +SRCREV = "e116c89a58af750421d82ece13f80516d2bde02e" +S = "${WORKDIR}/git" + +inherit autotools + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb index 9109b105f..1e10c3085 100644 --- a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb +++ b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb @@ -36,7 +36,7 @@ RDEPENDS_packagegroup-meta-networking-connectivity = "\ libdnet ufw civetweb freeradius kea daq \ mbedtls relayd snort dhcpcd rdate vlan vpnc \ inetutils wolfssl lftp miniupnpd networkmanager \ - networkmanager-openvpn rdist nanomsg python-networkmanager \ + networkmanager-openvpn rdist nanomsg python3-networkmanager \ ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth x11", "blueman", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \ @@ -55,7 +55,7 @@ RDEPENDS_packagegroup-meta-networking-daemons = "\ RDEPENDS_packagegroup-meta-networking-daemons_remove_libc-musl = "opensaf" RDEPENDS_packagegroup-meta-networking-devtools = "\ - python-ldap grpc \ + python3-ldap \ " RDEPENDS_packagegroup-meta-networking-extended = "\ @@ -107,12 +107,12 @@ RDEPENDS_packagegroup-meta-networking-support = "\ tunctl dovecot ipvsadm stunnel chrony spice-protocol \ usbredir ntop wireshark tnftp lksctp-tools \ cim-schema-docs cim-schema-final cim-schema-exper \ - libmemcached smcroute libtevent ipcalc c-ares uftp \ + libmemcached smcroute libtevent ipcalc uftp \ ntimed linux-atm ssmtp openvpn rdma-core \ iftop aoetools tcpslice tcpdump libtalloc memcached nuttcp netcat \ netcat-openbsd fetchmail yp-tools ypbind-mt yp-tools \ arptables macchanger nghttp2 strongswan fping \ - dnssec-conf libesmtp cifs-utils open-isns \ + libesmtp cifs-utils open-isns \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "libldb", "", d)} \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "non-commercial", "netperf", "", d)} \ ${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "spice", "", d)} \ diff --git a/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch b/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch new file mode 100644 index 000000000..b94780f30 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch @@ -0,0 +1,35 @@ +From 94fe6eb9ea2691f4a7c32fbf2d0c7c454995b666 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 27 Feb 2020 11:08:57 +0800 +Subject: [PATCH] Fix #587 + +Off by one error in common.c, CVE-2019-19906. + +Thanks to Stephan Zeisberg for reporting + +CVE: CVE-2019-19906 + +Upstream-Stauts: Backport [https://github.com/cyrusimap/cyrus-sasl +/commit/dcc9f51cbd4ed622cfb0f9b1c141eb2ffe3b12f1] + +Signed-off-by: Changqing Li +--- + lib/common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/common.c b/lib/common.c +index 305311d..445c5d5 100644 +--- a/lib/common.c ++++ b/lib/common.c +@@ -190,7 +190,7 @@ int _sasl_add_string(char **out, size_t *alloclen, + + if (add==NULL) add = "(null)"; + +- addlen=strlen(add); /* only compute once */ ++ addlen=strlen(add)+1; /* only compute once */ + if (_buf_alloc(out, alloclen, (*outlen)+addlen)!=SASL_OK) + return SASL_NOMEM; + +-- +2.7.4 + diff --git a/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb b/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb index be7131d7d..d55dc4ab7 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb +++ b/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb @@ -16,6 +16,7 @@ SRC_URI = "git://github.com/cyrusimap/cyrus-sasl;protocol=https \ file://0004-configure.ac-fix-condition-for-suppliment-snprintf-i.patch \ file://0001-Allow-saslauthd-to-be-built-outside-of-source-tree-w.patch \ file://0001-makeinit.sh-fix-parallel-build-issue.patch \ + file://CVE-2019-19906.patch \ " UPSTREAM_CHECK_URI = "https://github.com/cyrusimap/cyrus-sasl/archives" diff --git a/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb index db96d487b..004433b6b 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb +++ b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb @@ -8,4 +8,6 @@ SRC_URI = "https://github.com/pali/igmpproxy/releases/download/${PV}/${BP}.tar.g SRC_URI[md5sum] = "3a9c2cb42c1f5ee0cb769a4884545641" SRC_URI[sha256sum] = "d351e623037390f575c1203d9cbb7ba33a8bdef85a3c5e1d2901c5a2a38449a1" +UPSTREAM_CHECK_URI = "https://github.com/pali/${BPN}/releases" + inherit autotools pkgconfig diff --git a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.878.bb b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.878.bb deleted file mode 100644 index b75e54b9c..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.878.bb +++ /dev/null @@ -1,120 +0,0 @@ -SUMMARY = "iSCSI daemon and utility programs" -DESCRIPTION = "Open-iSCSI project is a high performance, transport \ -independent, multi-platform implementation of RFC3720. The iscsi package \ -provides the server daemon for the iSCSI protocol, as well as the utility \ -programs used to manage it. iSCSI is a protocol for distributed \ -disk access using SCSI commands sent over Internet Protocol networks." -HOMEPAGE = "http://www.open-iscsi.com/" -LICENSE = "GPLv2 & LGPLv2.1" -SECTION = "net" -DEPENDS = "openssl flex-native bison-native open-isns util-linux kmod" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRCREV ?= "288add22d6b61cc68ede358faeec9affb15019cd" - -SRC_URI = "git://github.com/open-iscsi/open-iscsi \ - file://initd.debian \ - file://99_iscsi-initiator-utils \ - file://iscsi-initiator \ - file://iscsi-initiator.service \ - file://iscsi-initiator-targets.service \ - file://set_initiatorname \ - " -S = "${WORKDIR}/git" -B = "${WORKDIR}/build" - -PV .= "+git${SRCPV}" - -inherit update-rc.d systemd autotools pkgconfig - -EXTRA_OECONF = " \ - --target=${TARGET_SYS} \ - --host=${BUILD_SYS} \ -" - -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '--without-systemd', d)}" - -EXTRA_OEMAKE = ' \ - OS="${TARGET_SYS}" \ - TARGET="${TARGET_OS}" \ - BASE="${prefix}" \ - MANDIR="${mandir}" \ - OPTFLAGS="-DNO_SYSTEMD ${CFLAGS}" \ - PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \ - NO_SYSTEMD=1 \ -' - - -do_configure () { - cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF} -} - -do_compile () { - # Make sure we DO NOT regenerate prom_lex.c. - if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then - mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused - fi - oe_runmake -C ${S} ${EXTRA_OEMAKE} user -} - -do_install () { - #install necessary directories - install -d ${D}${sbindir} \ - ${D}${sysconfdir}/init.d \ - ${D}${sysconfdir}/iscsi \ - ${D}${localstatedir}/lib/iscsi/nodes \ - ${D}${localstatedir}/lib/iscsi/send_targets \ - ${D}${localstatedir}/lib/iscsi/static \ - ${D}${localstatedir}/lib/iscsi/isns \ - ${D}${localstatedir}/lib/iscsi/slp \ - ${D}${localstatedir}/lib/iscsi/ifaces \ - ${D}${libdir} \ - ${D}${mandir}/man8 - - install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \ - ${S}/utils/iscsi-iname \ - ${S}/usr/iscsistart ${D}/${sbindir} - - cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir} - install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8 - install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi - install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid - - sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /run/${BPN}/lock - - - -" \ - > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf - install -d ${D}/etc/default/ - install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/ - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/iscsi-initiator.service \ - ${WORKDIR}/iscsi-initiator-targets.service \ - ${D}${systemd_unitdir}/system/ - install -d ${D}${nonarch_libdir}/iscsi - install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi - else - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles - fi -} - -pkg_postinst_${PN}() { - if [ "x$D" = "x" ]; then - if [ -e /etc/init.d/populate-volatile.sh ]; then - /etc/init.d/populate-volatile.sh update - elif command -v systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf - fi - fi -} - -SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service " -INITSCRIPT_NAME = "iscsid" -INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ." - -FILES_${PN} += "${nonarch_libdir}/iscsi" diff --git a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.0.bb b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.0.bb new file mode 100644 index 000000000..97b556357 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.0.bb @@ -0,0 +1,120 @@ +SUMMARY = "iSCSI daemon and utility programs" +DESCRIPTION = "Open-iSCSI project is a high performance, transport \ +independent, multi-platform implementation of RFC3720. The iscsi package \ +provides the server daemon for the iSCSI protocol, as well as the utility \ +programs used to manage it. iSCSI is a protocol for distributed \ +disk access using SCSI commands sent over Internet Protocol networks." +HOMEPAGE = "http://www.open-iscsi.com/" +LICENSE = "GPLv2 & LGPLv2.1" +SECTION = "net" +DEPENDS = "openssl flex-native bison-native open-isns util-linux kmod" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRCREV ?= "549f8987be49583bb06b117a364bea3a8fc5250c" + +SRC_URI = "git://github.com/open-iscsi/open-iscsi \ + file://initd.debian \ + file://99_iscsi-initiator-utils \ + file://iscsi-initiator \ + file://iscsi-initiator.service \ + file://iscsi-initiator-targets.service \ + file://set_initiatorname \ + " +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +PV .= "+git${SRCPV}" + +inherit update-rc.d systemd autotools pkgconfig + +EXTRA_OECONF = " \ + --target=${TARGET_SYS} \ + --host=${BUILD_SYS} \ +" + +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '--without-systemd', d)}" + +EXTRA_OEMAKE = ' \ + OS="${TARGET_SYS}" \ + TARGET="${TARGET_OS}" \ + BASE="${prefix}" \ + MANDIR="${mandir}" \ + OPTFLAGS="-DNO_SYSTEMD ${CFLAGS}" \ + PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \ + NO_SYSTEMD=1 \ +' + + +do_configure () { + cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF} +} + +do_compile () { + # Make sure we DO NOT regenerate prom_lex.c. + if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then + mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused + fi + oe_runmake -C ${S} ${EXTRA_OEMAKE} user +} + +do_install () { + #install necessary directories + install -d ${D}${sbindir} \ + ${D}${sysconfdir}/init.d \ + ${D}${sysconfdir}/iscsi \ + ${D}${localstatedir}/lib/iscsi/nodes \ + ${D}${localstatedir}/lib/iscsi/send_targets \ + ${D}${localstatedir}/lib/iscsi/static \ + ${D}${localstatedir}/lib/iscsi/isns \ + ${D}${localstatedir}/lib/iscsi/slp \ + ${D}${localstatedir}/lib/iscsi/ifaces \ + ${D}${libdir} \ + ${D}${mandir}/man8 + + install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \ + ${S}/utils/iscsi-iname \ + ${S}/usr/iscsistart ${D}/${sbindir} + + cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir} + install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8 + install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi + install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid + + sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/${BPN}/lock - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf + install -d ${D}/etc/default/ + install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/ + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/iscsi-initiator.service \ + ${WORKDIR}/iscsi-initiator-targets.service \ + ${D}${systemd_unitdir}/system/ + install -d ${D}${nonarch_libdir}/iscsi + install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi + else + install -d ${D}/etc/default/volatiles + install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles + fi +} + +pkg_postinst_${PN}() { + if [ "x$D" = "x" ]; then + if [ -e /etc/init.d/populate-volatile.sh ]; then + /etc/init.d/populate-volatile.sh update + elif command -v systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf + fi + fi +} + +SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service " +INITSCRIPT_NAME = "iscsid" +INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ." + +FILES_${PN} += "${nonarch_libdir}/iscsi" diff --git a/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.19.bb b/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.19.bb deleted file mode 100644 index 08182b1b2..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.19.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "High Availability monitor built upon LVS, VRRP and service pollers" -DESCRIPTION = "Keepalived is a routing software written in C. The main goal \ -of this project is to provide simple and robust facilities for loadbalancing \ -and high-availability to Linux system and Linux based infrastructures. \ -Loadbalancing framework relies on well-known and widely used Linux Virtual \ -Server (IPVS) kernel module providing Layer4 loadbalancing \ -" -HOMEPAGE = "http://www.keepalived.org/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz" -SRC_URI[md5sum] = "df670e0904d4e48e72ccc8409ad9c6de" -SRC_URI[sha256sum] = "0e2f8454765bc6a5fa26758bd9cec18aae42882843cdd24848aff0ae65ce4ca7" - -DEPENDS = "libnfnetlink openssl" - -inherit autotools pkgconfig systemd - -PACKAGECONFIG ??= "libnl snmp \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" -PACKAGECONFIG[libnl] = "--enable-libnl,--disable-libnl,libnl" -PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" -PACKAGECONFIG[systemd] = "--with-init=systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--with-init=SYSV,systemd" - -EXTRA_OECONF = "--disable-libiptc" -EXTRA_OEMAKE = "initdir=${sysconfdir}/init.d" - -do_install_append() { - if [ -f ${D}${sysconfdir}/init.d/${BPN} ]; then - chmod 0755 ${D}${sysconfdir}/init.d/${BPN} - sed -i 's#rc.d/##' ${D}${sysconfdir}/init.d/${BPN} - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -D -m 0644 ${B}/${BPN}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service - fi -} - -FILES_${PN} += "${datadir}/snmp/mibs/KEEPALIVED-MIB.txt" - -SYSTEMD_SERVICE_${PN} = "keepalived.service" -SYSTEMD_AUTO_ENABLE ?= "disable" diff --git a/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.20.bb b/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.20.bb new file mode 100644 index 000000000..f3c33dcb8 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.20.bb @@ -0,0 +1,45 @@ +SUMMARY = "High Availability monitor built upon LVS, VRRP and service pollers" +DESCRIPTION = "Keepalived is a routing software written in C. The main goal \ +of this project is to provide simple and robust facilities for loadbalancing \ +and high-availability to Linux system and Linux based infrastructures. \ +Loadbalancing framework relies on well-known and widely used Linux Virtual \ +Server (IPVS) kernel module providing Layer4 loadbalancing \ +" +HOMEPAGE = "http://www.keepalived.org/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz" +SRC_URI[md5sum] = "a5966e8433b60998709c4a922a407bac" +SRC_URI[sha256sum] = "9670fbc5eb3dc113828be8b702549dc68ec9578cf83287520d935be76fc8f193" + +DEPENDS = "libnfnetlink openssl" + +inherit autotools pkgconfig systemd + +PACKAGECONFIG ??= "libnl snmp \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +PACKAGECONFIG[libnl] = "--enable-libnl,--disable-libnl,libnl" +PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" +PACKAGECONFIG[systemd] = "--with-init=systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--with-init=SYSV,systemd" + +EXTRA_OECONF = "--disable-libiptc" +EXTRA_OEMAKE = "initdir=${sysconfdir}/init.d" + +do_install_append() { + if [ -f ${D}${sysconfdir}/init.d/${BPN} ]; then + chmod 0755 ${D}${sysconfdir}/init.d/${BPN} + sed -i 's#rc.d/##' ${D}${sysconfdir}/init.d/${BPN} + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -D -m 0644 ${B}/${BPN}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service + fi +} + +FILES_${PN} += "${datadir}/snmp/mibs/KEEPALIVED-MIB.txt" + +SYSTEMD_SERVICE_${PN} = "keepalived.service" +SYSTEMD_AUTO_ENABLE ?= "disable" diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immom_python-convert-to-python3.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immom_python-convert-to-python3.patch new file mode 100644 index 000000000..f45874680 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immom_python-convert-to-python3.patch @@ -0,0 +1,50 @@ +From ffc829603a2c50674c8e04de5221e43f80bfc1b2 Mon Sep 17 00:00:00 2001 +From: Andrey Zhizhikin +Date: Mon, 27 Jan 2020 13:00:53 +0000 +Subject: [PATCH] immom_python: convert to python3 + +Convert immom_python to use python3, python2 is EOL and is not supported +by all distributions anymore. + +Upstream-Status: Pending + +Signed-off-by: Andrey Zhizhikin +--- + samples/immsv/immom_python/immom.py | 2 +- + samples/immsv/immom_python/immomexamples.py | 2 +- + samples/immsv/immom_python/immomtest.py | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/samples/immsv/immom_python/immom.py b/samples/immsv/immom_python/immom.py +index 4f68625ed..f88197000 100755 +--- a/samples/immsv/immom_python/immom.py ++++ b/samples/immsv/immom_python/immom.py +@@ -1,4 +1,4 @@ +-#! /usr/bin/python ++#!/usr/bin/env python3 + """ + immom -- An IMM Object Manager in Python + +diff --git a/samples/immsv/immom_python/immomexamples.py b/samples/immsv/immom_python/immomexamples.py +index 70c579265..bd693c25f 100755 +--- a/samples/immsv/immom_python/immomexamples.py ++++ b/samples/immsv/immom_python/immomexamples.py +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#!/usr/bin/env python3 + + import immom + +diff --git a/samples/immsv/immom_python/immomtest.py b/samples/immsv/immom_python/immomtest.py +index 4b98bea8c..ed2463ba9 100755 +--- a/samples/immsv/immom_python/immomtest.py ++++ b/samples/immsv/immom_python/immomtest.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + + import immom +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb index a7eb4c849..3ab4757c3 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb +++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb @@ -14,7 +14,7 @@ SECTION = "admin" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7" -DEPENDS = "libxml2 python" +DEPENDS = "libxml2 python3" TOOLCHAIN = "gcc" SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" @@ -26,10 +26,13 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \ file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \ file://0001-Add-configure-time-check-for-gettid-API.patch \ file://0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch \ + file://0001-immom_python-convert-to-python3.patch \ " SRC_URI[md5sum] = "9b61df01d1a092101c4a626692edae19" SRC_URI[sha256sum] = "6da9af96e8ee58d11031d305bf4804a00deb6108e12e422722882a2091bd34bd" +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/opensaf/files/releases" + inherit autotools useradd systemd pkgconfig USERADD_PACKAGES = "${PN}" @@ -66,7 +69,7 @@ FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a" INSANE_SKIP_${PN} = "dev-so" -RDEPENDS_${PN} += "bash python" +RDEPENDS_${PN} += "bash python3-core" # http://errors.yoctoproject.org/Errors/Details/186970/ COMPATIBLE_HOST_libc-musl = 'null' diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc index 64c20d0f5..4b9940cc7 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc +++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc @@ -20,16 +20,16 @@ CLEANBROKEN = "1" BBCLASSEXTEND = "native" -inherit update-rc.d useradd update-alternatives systemd +inherit update-rc.d useradd update-alternatives systemd lib_package INITSCRIPT_NAME = "postfix" INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ." -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = \ +USERADD_PACKAGES = "${PN}-bin" +USERADD_PARAM_${PN}-bin = \ "-d /var/spool/postfix -r -g postfix --shell /bin/false postfix; \ -d /var/spool/vmail -r -g vmail --shell /bin/false vmail \ " -GROUPADD_PARAM_${PN} = "--system postfix;--system postdrop;--system vmail" +GROUPADD_PARAM_${PN}-bin = "--system postfix;--system postdrop;--system vmail" export SYSLIBS = "${LDFLAGS}" @@ -185,9 +185,9 @@ do_install_append_class-native() { ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq } -ALTERNATIVE_${PN} = "sendmail mailq newaliases" +ALTERNATIVE_${PN}-bin = "sendmail mailq newaliases" # /usr/lib/sendmial is required by LSB core test -ALTERNATIVE_${PN}_linuxstdbase = "sendmail mailq newaliases usr-lib-sendmail" +ALTERNATIVE_${PN}-bin_linuxstdbase = "sendmail mailq newaliases usr-lib-sendmail" ALTERNATIVE_TARGET[mailq] = "${bindir}/mailq" ALTERNATIVE_TARGET[newaliases] = "${bindir}/newaliases" ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix" @@ -212,9 +212,11 @@ pkg_postinst_ontarget_${PN}-cfg () { } PACKAGES =+ "${PN}-cfg" +RDEPENDS_${PN}-cfg_class-target += "${PN}-bin" RDEPENDS_${PN}_class-target += "${PN}-cfg" # Exclude .debug directories from the main package -FILES_${PN} = "${localstatedir} ${bindir}/* ${sbindir}/* \ +FILES_${PN}-bin += "${localstatedir} ${bindir}/* ${sbindir}/* \ ${libexecdir}/* ${systemd_unitdir}/*" FILES_${PN}-cfg = "${sysconfdir}" FILES_${PN}-dbg += "${libexecdir}/postfix/.debug" +ALLOW_EMPTY_${PN} = "1" diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.7.bb b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.7.bb deleted file mode 100644 index 3699ee58d..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.7.bb +++ /dev/null @@ -1,21 +0,0 @@ -require postfix.inc - -SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ - file://makedefs.patch \ - file://install.patch \ - file://main.cf \ - file://postfix \ - file://internal_recipient \ - file://postfix.service \ - file://aliasesdb \ - file://check_hostname.sh \ - file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ - file://postfix-install.patch \ - file://icu-config.patch \ - file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ - file://0001-Fixed-build-failure-with-glibc-2.30-due-to-dropped-R.patch \ - " -SRC_URI[md5sum] = "b29ab85e8f6ef7fae132b004e777671b" -SRC_URI[sha256sum] = "fe3253121d3ba8836a23774225518560b35e40497951ad5bec154afa8205f967" - -UPSTREAM_CHECK_REGEX = "postfix\-(?P3\.3(\.\d+)+).tar.gz" diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.8.bb b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.8.bb new file mode 100644 index 000000000..5d7f8bc9f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.8.bb @@ -0,0 +1,21 @@ +require postfix.inc + +SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ + file://makedefs.patch \ + file://install.patch \ + file://main.cf \ + file://postfix \ + file://internal_recipient \ + file://postfix.service \ + file://aliasesdb \ + file://check_hostname.sh \ + file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ + file://postfix-install.patch \ + file://icu-config.patch \ + file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ + file://0001-Fixed-build-failure-with-glibc-2.30-due-to-dropped-R.patch \ + " +SRC_URI[md5sum] = "6944b946887077a28e3dcb375ff53701" +SRC_URI[sha256sum] = "8d5d429737e0c64514028a82fc006cbb273d2cb98dc40eb1dbbfe102f29a8943" + +UPSTREAM_CHECK_REGEX = "postfix\-(?P3\.3(\.\d+)+).tar.gz" diff --git a/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb b/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb index 409947265..d5bbdd374 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb +++ b/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb @@ -16,7 +16,7 @@ SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \ iSRC_URI[md5sum] = "13270911c42aac842435f18205546a1b" SRC_URI[sha256sum] = "91ef74b143495d5ff97c4d4770c6804072a8c8eb1ad1ecc8cc541b40e152ecaf" -inherit autotools-brokensep useradd update-rc.d systemd +inherit autotools-brokensep useradd update-rc.d systemd multilib_script PACKAGECONFIG ??= "shadow \ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ @@ -110,6 +110,7 @@ do_install () { sed -e 's|--sysroot=${STAGING_DIR_HOST}||g' \ -e 's|${STAGING_DIR_NATIVE}||g' \ -e 's|-fdebug-prefix-map=[^ ]*||g' \ + -e 's|-fmacro-prefix-map=[^ ]*||g' \ -i ${D}/${bindir}/prxs # ftpmail perl script, which reads the proftpd log file and sends @@ -133,6 +134,8 @@ GROUPADD_PARAM_${PN} = "--system ${FTPGROUP}" USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \ --shell /bin/false ${FTPUSER}" +MULTILIB_SCRIPTS = "${PN}:${bindir}/prxs" + FILES_${PN} += "/home/${FTPUSER}" RDEPENDS_${PN} += "perl" diff --git a/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb b/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb index 2bd642706..cab0d9435 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb +++ b/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb @@ -31,6 +31,8 @@ SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptp SRC_URI[md5sum] = "253bab7ab51d969616ea811be1f132f3" SRC_URI[sha256sum] = "0dbf54dd2c178bd9fe62481d2c37513ee36636d8bf137cfdad96891490cdbf93" +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ptpd/files/releases" + S = "${WORKDIR}/ptpd-${PV}" EXTRA_OEMAKE = "" diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.9.bb b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.9.bb index 6f202cf40..19949acd8 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.9.bb +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.9.bb @@ -40,6 +40,8 @@ inherit autotools pkgconfig useradd ptest perlnative LDFLAGS_append_mipsarch = " -latomic" LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_riscv64 = " -latomic" +LDFLAGS_append_riscv32 = " -latomic" USERADD_PACKAGES = "${PN}" USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid" diff --git a/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb b/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb index 132972b33..413950be1 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb +++ b/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb @@ -82,10 +82,15 @@ INITSCRIPT_PACKAGES = "tftp-hpa-server" INITSCRIPT_NAME = "tftpd-hpa" INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 1 ." +ALTERNATIVE_${PN}-doc = "tftpd.8 tftp.1" +ALTERNATIVE_LINK_NAME[tftpd.8] = "${mandir}/man8/tftpd.8" +ALTERNATIVE_LINK_NAME[tftp.1] = "${mandir}/man1/tftp.1" + ALTERNATIVE_${PN} = "tftp" ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa" ALTERNATIVE_PRIORITY = "60" + SYSTEMD_PACKAGES = "tftp-hpa-server" SYSTEMD_SERVICE_tftp-hpa-server = "tftpd-hpa.socket tftpd-hpa.service" SYSTEMD_AUTO_ENABLE_tftp-hpa-server = "enable" diff --git a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch deleted file mode 100644 index 6cad53396..000000000 --- a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 6d606f1101c1a172fb6d738d6f1865aa61849e68 Mon Sep 17 00:00:00 2001 -From: Alexey Firago -Date: Fri, 20 Oct 2017 00:04:19 +0300 -Subject: [PATCH] CMakeLists.txt: Fix grpc_cpp_plugin path during cross-compiling or native build - -Signed-off-by: Alexey Firago -Signed-off-by: Hiram Lew -Signed-off-by: Jan Kaisrlik ---- - CMakeLists.txt | 9 ++++++++- - templates/CMakeLists.txt.template | 9 ++++++++- - 2 files changed, 16 insertions(+), 2 deletions(-) - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -193,6 +193,13 @@ function(protobuf_generate_grpc_cpp) - return() - endif() - -+ #if cross-compiling or nativesdk, find host plugin -+ if(CMAKE_CROSSCOMPILING) -+ find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin) -+ else() -+ set(gRPC_CPP_PLUGIN $) -+ endif() -+ - set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}) - foreach(FIL ${ARGN}) - get_filename_component(ABS_FIL ${FIL} ABSOLUTE) ---- a/templates/CMakeLists.txt.template -+++ b/templates/CMakeLists.txt.template -@@ -233,6 +233,13 @@ - return() - endif() - -+ #if cross-compiling or nativesdk, find host plugin -+ if(CMAKE_CROSSCOMPILING) -+ find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin) -+ else() -+ set(gRPC_CPP_PLUGIN $) -+ endif() -+ - set(_protobuf_include_path -I . -I <%text>${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}) - foreach(FIL <%text>${ARGN}) - get_filename_component(ABS_FIL <%text>${FIL} ABSOLUTE) diff --git a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch deleted file mode 100644 index e517355d3..000000000 --- a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch +++ /dev/null @@ -1,177 +0,0 @@ -From 2279e30be5796e9b185545543ea54fe68633cbdd Mon Sep 17 00:00:00 2001 -From: Alexey Firago -Date: Mon, 30 Oct 2017 23:24:49 +0300 -Subject: [PATCH] CMakeLists.txt: Fix libraries installation for Linux - -* Set libs versions as in Makefile - -Signed-off-by: Alexey Firago - ---- - CMakeLists.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 59 insertions(+) - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -30,6 +30,15 @@ set(PACKAGE_TARNAME "${PACKAGE_NAME}-$ - set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/") - project(${PACKAGE_NAME} C CXX) - -+set (CORE_VERSION_MAJOR "6") -+set (CORE_VERSION "6.0.0") -+ -+set (CPP_VERSION_MAJOR "1") -+set (CPP_VERSION "${PACKAGE_VERSION}") -+ -+set (CSHARP_VERSION_MAJOR "1") -+set (CSHARP_VERSION "${PACKAGE_VERSION}") -+ - set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables") - set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries") - set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers") -@@ -777,6 +786,10 @@ if(WIN32 AND MSVC) - endif() - endif() - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET address_sorting PROPERTY VERSION ${CORE_VERSION}) -+ set_property(TARGET address_sorting PROPERTY SOVERSION ${CORE_VERSION_MAJOR}) -+endif() - - target_include_directories(address_sorting - PUBLIC $ $ -@@ -903,6 +916,10 @@ if(WIN32 AND MSVC) - endif() - endif() - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET gpr PROPERTY VERSION ${CORE_VERSION}) -+ set_property(TARGET gpr PROPERTY SOVERSION ${CORE_VERSION_MAJOR}) -+endif() - - target_include_directories(gpr - PUBLIC $ $ -@@ -1367,6 +1384,10 @@ if(WIN32 AND MSVC) - endif() - endif() - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpc PROPERTY VERSION ${CORE_VERSION}) -+ set_property(TARGET grpc PROPERTY SOVERSION ${CORE_VERSION_MAJOR}) -+endif() - - target_include_directories(grpc - PUBLIC $ $ -@@ -1782,6 +1803,10 @@ if(WIN32 AND MSVC) - endif() - endif() - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpc_cronet PROPERTY VERSION ${CORE_VERSION}) -+ set_property(TARGET grpc_cronet PROPERTY SOVERSION ${CORE_VERSION_MAJOR}) -+endif() - - target_include_directories(grpc_cronet - PUBLIC $ $ -@@ -2869,6 +2894,10 @@ if(WIN32 AND MSVC) - endif() - endif() - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpc_unsecure PROPERTY VERSION ${CORE_VERSION}) -+ set_property(TARGET grpc_unsecure PROPERTY SOVERSION ${CORE_VERSION_MAJOR}) -+endif() - - target_include_directories(grpc_unsecure - PUBLIC $ $ -@@ -3206,6 +3235,10 @@ if(WIN32 AND MSVC) - endif() - endif() - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpc++ PROPERTY VERSION ${CPP_VERSION}) -+ set_property(TARGET grpc++ PROPERTY SOVERSION ${CPP_VERSION_MAJOR}) -+endif() - - target_include_directories(grpc++ - PUBLIC $ $ -@@ -3589,6 +3622,11 @@ protobuf_generate_grpc_cpp( - src/proto/grpc/status/status.proto - ) - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpc++_error_details PROPERTY VERSION ${CPP_VERSION}) -+ set_property(TARGET grpc++_error_details PROPERTY SOVERSION ${CPP_VERSION_MAJOR}) -+endif() -+ - target_include_directories(grpc++_error_details - PUBLIC $ $ - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} -@@ -3727,6 +3765,11 @@ protobuf_generate_grpc_cpp( - src/proto/grpc/reflection/v1alpha/reflection.proto - ) - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpc++_reflection PROPERTY VERSION ${CPP_VERSION}) -+ set_property(TARGET grpc++_reflection PROPERTY SOVERSION ${CPP_VERSION_MAJOR}) -+endif() -+ - target_include_directories(grpc++_reflection - PUBLIC $ $ - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} -@@ -3816,6 +3859,10 @@ target_link_libraries(grpc++_test_config - ${_gRPC_GFLAGS_LIBRARIES} - ) - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpc++_cronet PROPERTY VERSION ${CPP_VERSION}) -+ set_property(TARGET grpc++_cronet PROPERTY SOVERSION ${CPP_VERSION_MAJOR}) -+endif() - - endif (gRPC_BUILD_TESTS) - if (gRPC_BUILD_TESTS) -@@ -4307,6 +4354,10 @@ if(WIN32 AND MSVC) - endif() - endif() - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpc++_unsecure PROPERTY VERSION ${CPP_VERSION}) -+ set_property(TARGET grpc++_unsecure PROPERTY SOVERSION ${CPP_VERSION_MAJOR}) -+endif() - - target_include_directories(grpc++_unsecure - PUBLIC $ $ -@@ -4745,6 +4796,10 @@ if(WIN32 AND MSVC) - endif() - endif() - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpc_plugin_support PROPERTY VERSION ${CORE_VERSION}) -+ set_property(TARGET grpc_plugin_support PROPERTY SOVERSION ${CORE_VERSION_MAJOR}) -+endif() - - target_include_directories(grpc_plugin_support - PUBLIC $ $ -@@ -4813,6 +4868,11 @@ protobuf_generate_grpc_cpp( - src/proto/grpc/channelz/channelz.proto - ) - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpcpp_channelz PROPERTY VERSION ${CPP_VERSION}) -+ set_property(TARGET grpcpp_channelz PROPERTY SOVERSION ${CPP_VERSION_MAJOR}) -+endif() -+ - target_include_directories(grpcpp_channelz - PUBLIC $ $ - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} -@@ -5367,6 +5427,10 @@ if(WIN32 AND MSVC) - endif() - endif() - -+if(_gRPC_PLATFORM_LINUX) -+ set_property(TARGET grpc_csharp_ext PROPERTY VERSION ${CSHARP_VERSION}) -+ set_property(TARGET grpc_csharp_ext PROPERTY SOVERSION ${CSHARP_VERSION_MAJOR}) -+endif() - - target_include_directories(grpc_csharp_ext - PUBLIC $ $ diff --git a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.3.bb b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.3.bb deleted file mode 100644 index 6ab15dae4..000000000 --- a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.3.bb +++ /dev/null @@ -1,59 +0,0 @@ -DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \ -Provides gRPC libraries for multiple languages written on top of shared C core library \ -(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)" -HOMEPAGE = "https://github.com/grpc/grpc" -SECTION = "libs" -LICENSE = "Apache-2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2" -DEPENDS_append_class-target = " googletest grpc-native " -DEPENDS_append_class-nativesdk = " grpc-native " - -S = "${WORKDIR}/git" -SRCREV_grpc = "2de2e8dd8921e1f7d043e01faf7fe8a291fbb072" -SRCREV_upb = "9effcbcb27f0a665f9f345030188c0b291e32482" -BRANCH = "v1.24.x" -SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \ - git://github.com/protocolbuffers/upb;name=upb;destsuffix=git/third_party/upb \ - file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \ - " -SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch \ - " -SRC_URI_append_class-nativesdk = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch" - -# Fixes build with older compilers 4.8 especially on ubuntu 14.04 -CXXFLAGS_append_class-native = " -Wl,--no-as-needed" - -inherit cmake pkgconfig - -EXTRA_OECMAKE = " \ - -DgRPC_CARES_PROVIDER=package \ - -DgRPC_ZLIB_PROVIDER=package \ - -DgRPC_SSL_PROVIDER=package \ - -DgRPC_PROTOBUF_PROVIDER=package \ - -DgRPC_GFLAGS_PROVIDER=package \ - -DgRPC_INSTALL=ON \ - -DCMAKE_CROSSCOMPILING=ON \ - -DBUILD_SHARED_LIBS=ON \ - -DgRPC_INSTALL_LIBDIR=${baselib} \ - -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \ - " - -do_configure_prepend_mipsarch() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -do_configure_prepend_powerpc() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -do_configure_prepend_toolchain-clang_x86() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -BBCLASSEXTEND = "native nativesdk" - -SYSROOT_DIRS_BLACKLIST_append_class-target = "${baselib}/cmake/grpc" - -FILES_${PN}-dev += "${bindir}" diff --git a/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb b/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb deleted file mode 100644 index af8961e32..000000000 --- a/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (C) 2012 Wind River Systems, Inc. -# -SUMMARY = "Provides a wrapper in Python to LDAP" -DESCRIPTION = "This module provides access to the LDAP \ -(Lightweight Directory Access Protocol) through Python operations \ -instead of C API. The module mainly acts as a wrapper for the \ -OpenLDAP 2.x libraries. Errors will appear as exceptions." - -LICENSE = "PSF" -HOMEPAGE = "http://www.python-ldap.org/" -DEPENDS = "python openldap cyrus-sasl" - -PYPI_PACKAGE = "python-ldap" -inherit pypi setuptools - -LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b" -SRC_URI[md5sum] = "fe22522208dc9b06d16eb70f8553eaab" -SRC_URI[sha256sum] = "7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e" - -do_configure_prepend() { - sed -i -e 's:^library_dirs =.*::' setup.cfg - sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg -} - -RDEPENDS_${PN} = " \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-pyasn1 \ - ${PYTHON_PN}-pyasn1-modules \ -" diff --git a/meta-openembedded/meta-networking/recipes-devtools/python/python3-ldap_3.2.0.bb b/meta-openembedded/meta-networking/recipes-devtools/python/python3-ldap_3.2.0.bb new file mode 100644 index 000000000..f46ddbf44 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-devtools/python/python3-ldap_3.2.0.bb @@ -0,0 +1,31 @@ +# +# Copyright (C) 2012 Wind River Systems, Inc. +# +SUMMARY = "Provides a wrapper in Python to LDAP" +DESCRIPTION = "This module provides access to the LDAP \ +(Lightweight Directory Access Protocol) through Python operations \ +instead of C API. The module mainly acts as a wrapper for the \ +OpenLDAP 2.x libraries. Errors will appear as exceptions." + +LICENSE = "PSF" +HOMEPAGE = "http://www.python-ldap.org/" +DEPENDS = "python3 openldap cyrus-sasl" + +PYPI_PACKAGE = "python-ldap" +inherit pypi setuptools3 + +LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b" +SRC_URI[md5sum] = "fe22522208dc9b06d16eb70f8553eaab" +SRC_URI[sha256sum] = "7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e" + +do_configure_prepend() { + sed -i -e 's:^library_dirs =.*::' ${S}/setup.cfg + sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' ${S}/setup.cfg +} + +RDEPENDS_${PN} = " \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-pyasn1 \ + ${PYTHON_PN}-pyasn1-modules \ +" diff --git a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-configure.ac-fix-pkgconfig-issue-of-rdma.patch b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-configure.ac-fix-pkgconfig-issue-of-rdma.patch deleted file mode 100644 index bdc7645ce..000000000 --- a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-configure.ac-fix-pkgconfig-issue-of-rdma.patch +++ /dev/null @@ -1,32 +0,0 @@ -Subject: [PATCH] configure.ac: fix pkgconfig issue of rdma - -pkgconfig files from rdma-core(https://github.com/linux-rdma/rdma-core) -are named start with lib, such as librdmacm.pc and libibverbs.pc. When -rdma support is enabled, it fails to find rdma related libraries. Update -configure.ac to the issue. - -Upstream-Status: Submitted [https://github.com/corosync/corosync/pull/515] - -Signed-off-by: Kai Kang ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ac513e93..240cfed4 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -459,8 +459,8 @@ if test "x${enable_testagents}" = xyes; then - fi - - if test "x${enable_rdma}" = xyes; then -- PKG_CHECK_MODULES([rdmacm],[rdmacm]) -- PKG_CHECK_MODULES([ibverbs],[ibverbs]) -+ PKG_CHECK_MODULES([rdmacm],[librdmacm]) -+ PKG_CHECK_MODULES([ibverbs],[libibverbs]) - AC_DEFINE_UNQUOTED([HAVE_RDMA], 1, [have rdmacm]) - PACKAGE_FEATURES="$PACKAGE_FEATURES rdma" - WITH_LIST="$WITH_LIST --with rdma" --- -2.20.1 - diff --git a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/corosync.conf b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/corosync.conf index 6aef9de95..744a30ff5 100644 --- a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/corosync.conf +++ b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/corosync.conf @@ -1,58 +1,61 @@ -# Starting point for cluster with pacemaker/openais -compatibility: none - -corosync { - user: root - group: root -} - -aisexec { - with Pacemaker - user: root - group: root -} - -service { - name: pacemaker - ver: 1 -} - +# Please read the corosync.conf.5 manual page totem { version: 2 - secauth: off - threads: 0 - interface { - ringnumber: 0 - # Cluster network address - bindnetaddr: 192.168.10.0 - # Should be fine in most cases, don't forget to allow - # packets for this address/port in netfilter if there - # is restrictive policy set for cluster network - mcastaddr: 226.94.1.1 - mcastport: 5405 - } + + # Set name of the cluster + cluster_name: testCluster + + # crypto_cipher and crypto_hash: Used for mutual node authentication. + # If you choose to enable this, then do remember to create a shared + # secret with "corosync-keygen". + # enabling crypto_cipher, requires also enabling of crypto_hash. + # crypto works only with knet transport + crypto_cipher: none + crypto_hash: none } logging { + # Log the source file and line where messages are being + # generated. When in doubt, leave off. Potentially useful for + # debugging. fileline: off - to_stderr: no + # Log to standard error. When in doubt, set to yes. Useful when + # running in the foreground (when invoking "corosync -f") + to_stderr: yes + # Log to a log file. When set to "no", the "logfile" option + # must not be set. to_logfile: yes - to_syslog: yes logfile: /var/log/cluster/corosync.log + # Log to the system log daemon. When in doubt, set to yes. + to_syslog: yes + # Log debug messages (very verbose). When in doubt, leave off. debug: off - timestamp: on + # Log messages with time stamps. When in doubt, set to hires (or on) + #timestamp: hires logger_subsys { - subsys: AMF + subsys: QUORUM debug: off } } -amf { - mode: disabled -} - quorum { - # Quorum for the Pacemaker Cluster Resource Manager + # Enable and configure quorum subsystem (default: off) + # see also corosync.conf.5 and votequorum.5 provider: corosync_votequorum - expected_votes: 1 +} + +nodelist { + # Change/uncomment/add node sections to match cluster configuration + + node { + # Hostname of the node + name: node1 + # Cluster membership node identifier + nodeid: 1 + # Address of first link + ring0_addr: 127.0.0.1 + # When knet transport is used it's possible to define up to 8 links + #ring1_addr: 192.168.1.1 + } + # ... } diff --git a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.5.bb b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.5.bb deleted file mode 100644 index eefbcca8a..000000000 --- a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.5.bb +++ /dev/null @@ -1,81 +0,0 @@ -SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces" -DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \ -APIs and libraries, default configuration files, and an init script." -HOMEPAGE = "http://corosync.github.io/corosync/" - -SECTION = "base" - -inherit autotools pkgconfig systemd useradd - -SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz \ - file://corosync.conf \ - file://0001-configure.ac-fix-pkgconfig-issue-of-rdma.patch \ - " - -SRC_URI[md5sum] = "e36a056b893c313c4ec1fe0d7e6cdebd" -SRC_URI[sha256sum] = "ab6eafdb8f43a23794fc15d4c5198bbd6759060cb13c8d2d1e78a6c8360aba5f" - -UPSTREAM_CHECK_REGEX = "(?P\d+\.(?!99)\d+(\.\d+)+)" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d" - -DEPENDS = "groff-native nss libqb" - -SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service \ - ${@bb.utils.contains('PACKAGECONFIG', 'qdevice', 'corosync-qdevice.service', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'corosync-qnetd.service', '', d)} \ -" -SYSTEMD_AUTO_ENABLE = "disable" - -INITSCRIPT_NAME = "corosync-daemon" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ - dbus qdevice qnetd snmp \ -" - -PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" -PACKAGECONFIG[qdevice] = "--enable-qdevices,--disable-qdevices" -PACKAGECONFIG[qnetd] = "--enable-qnetd,--disable-qnetd" -PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma,rdma-core" -PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" -PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd" - -EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash ap_cv_cc_pie=no" -EXTRA_OEMAKE = "tmpfilesdir_DATA=" - -do_configure_prepend() { - ( cd ${S} - ${S}/autogen.sh ) -} - -do_install_append() { - install -D -m 0644 ${WORKDIR}/corosync.conf ${D}/${sysconfdir}/corosync/corosync.conf.example - install -d ${D}${sysconfdir}/sysconfig/ - install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync - install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd - - rm -rf "${D}${localstatedir}/run" - - install -d ${D}${sysconfdir}/default/volatiles - echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync - - if [ ${@bb.utils.filter('PACKAGECONFIG', 'qnetd', d)} ]; then - chown -R coroqnetd:coroqnetd ${D}${sysconfdir}/${BPN}/qnetd - echo "d coroqnetd coroqnetd 0770 /var/run/corosync-qnetd none" >> ${D}${sysconfdir}/default/volatiles/05_corosync - fi - - if [ ${@bb.utils.filter('DISTRO_FEATURES','systemd',d)} ]; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf - fi -} - -RDEPENDS_${PN} += "bash ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}" - -FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug" -FILES_${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system coroqnetd" -USERADD_PARAM_${PN} = "--system -d / -M -s /bin/nologin -c 'User for corosync-qnetd' -g coroqnetd coroqnetd" diff --git a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb new file mode 100644 index 000000000..c0531d386 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb @@ -0,0 +1,74 @@ +SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces" +DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \ +APIs and libraries, default configuration files, and an init script." +HOMEPAGE = "http://corosync.github.io/corosync/" + +SECTION = "base" + +inherit autotools pkgconfig systemd useradd + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ + file://corosync.conf \ + " +SRC_URI[sha256sum] = "20eb903eb984f6a728282c199825e442e8bba869acefd22390076ef3a33a4ded" +UPSTREAM_CHECK_REGEX = "(?P\d+\.(?!99)\d+(\.\d+)+)" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d" + +DEPENDS = "groff-native nss libqb kronosnet" + +SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service \ + ${@bb.utils.contains('PACKAGECONFIG', 'qdevice', 'corosync-qdevice.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'corosync-qnetd.service', '', d)} \ +" +SYSTEMD_AUTO_ENABLE = "disable" + +INITSCRIPT_NAME = "corosync-daemon" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + dbus snmp \ +" + +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" +PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd" + +EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash ap_cv_cc_pie=no" +EXTRA_OEMAKE = "tmpfilesdir_DATA=" + +#do_configure_prepend() { +# ( cd ${S} +# ${S}/autogen.sh ) +#} + +do_install_append() { + install -D -m 0644 ${WORKDIR}/corosync.conf ${D}/${sysconfdir}/corosync/corosync.conf.example + install -d ${D}${sysconfdir}/sysconfig/ + install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync + install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd + + rm -rf "${D}${localstatedir}/run" + + install -d ${D}${sysconfdir}/default/volatiles + echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync + + if [ ${@bb.utils.filter('PACKAGECONFIG', 'qnetd', d)} ]; then + chown -R coroqnetd:coroqnetd ${D}${sysconfdir}/${BPN}/qnetd + echo "d coroqnetd coroqnetd 0770 /var/run/corosync-qnetd none" >> ${D}${sysconfdir}/default/volatiles/05_corosync + fi + + if [ ${@bb.utils.filter('DISTRO_FEATURES','systemd',d)} ]; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf + fi +} + +RDEPENDS_${PN} += "bash ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}" + +FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug" +FILES_${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system coroqnetd" +USERADD_PARAM_${PN} = "--system -d / -M -s /bin/nologin -c 'User for corosync-qnetd' -g coroqnetd coroqnetd" diff --git a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-package-qa-error.patch b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-package-qa-error.patch deleted file mode 100644 index 3e384f7d9..000000000 --- a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-package-qa-error.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1fb68433bde97d571fc781b52c9521b17fbb8df0 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Tue, 24 Jul 2018 17:42:43 +0800 -Subject: [PATCH] dlm: fix package qa error - -pass LDFLAG to makefile to fix below error: -do_package_qa: QA Issue: No GNU_HASH in the elf binary: -/packages-split/dlm/usr/sbin/dlm_stonith' [ldflags] - -Upstream-Status: Inappropriate[oe-specific] - -Signed-off-by: Changqing Li ---- - fence/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/fence/Makefile b/fence/Makefile -index cca0b2c..2b3963c 100644 ---- a/fence/Makefile -+++ b/fence/Makefile -@@ -33,7 +33,7 @@ BIN_CFLAGS += -fPIE -DPIE - BIN_CFLAGS += `pkg-config libxml-2.0 --cflags` - BIN_CFLAGS += -I../include - --BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie -+BIN_LDFLAGS += $(LDFLAGS) -Wl,-z,now -Wl,-z,relro -pie - BIN_LDFLAGS += `pkg-config libxml-2.0 --libs` - BIN_LDFLAGS += -ldl - --- -2.7.4 - diff --git a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-make-Replace-cp-a-with-mode-preserving-options.patch b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-make-Replace-cp-a-with-mode-preserving-options.patch new file mode 100644 index 000000000..e6a37579e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-make-Replace-cp-a-with-mode-preserving-options.patch @@ -0,0 +1,51 @@ +From 2f72f9271b8dd61ca5092e025b0f8243c6fd68f2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 3 Mar 2020 12:38:19 -0800 +Subject: [PATCH] make: Replace cp -a with mode preserving options + +Helps fix permissions in staging area + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + dlm_controld/Makefile | 4 ++-- + libdlm/Makefile | 8 ++++---- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile +index 6081cf8..fe71be2 100644 +--- a/dlm_controld/Makefile ++++ b/dlm_controld/Makefile +@@ -88,8 +88,8 @@ install: all + $(INSTALL) -d $(DESTDIR)/$(PKGDIR) + $(INSTALL) -m 755 $(BIN_TARGET) $(DESTDIR)/$(BINDIR) + $(INSTALL) -m 755 $(LIB_TARGET) $(DESTDIR)/$(LIBDIR) +- cp -a $(LIB_SO) $(DESTDIR)/$(LIBDIR) +- cp -a $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR) ++ cp -R --no-dereference --preserve=mode,links $(LIB_SO) $(DESTDIR)/$(LIBDIR) ++ cp -R --no-dereference --preserve=mode,links $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR) + $(INSTALL) -m 644 $(LIB_PC) $(DESTDIR)/$(PKGDIR) + $(INSTALL) -m 644 libdlmcontrol.h $(DESTDIR)/$(HDRDIR) + $(INSTALL) -m 644 dlm_controld.8 $(DESTDIR)/$(MANDIR)/man8/ +diff --git a/libdlm/Makefile b/libdlm/Makefile +index ab32761..8820bf8 100644 +--- a/libdlm/Makefile ++++ b/libdlm/Makefile +@@ -125,10 +125,10 @@ install: all + $(INSTALL) -d $(DESTDIR)/$(UDEVDIR) + $(INSTALL) -c -m 755 $(LIB_TARGET) $(DESTDIR)/$(LIBDIR) + $(INSTALL) -c -m 755 $(LLT_TARGET) $(DESTDIR)/$(LIBDIR) +- cp -a $(LIB_SO) $(DESTDIR)/$(LIBDIR) +- cp -a $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR) +- cp -a $(LLT_SO) $(DESTDIR)/$(LIBDIR) +- cp -a $(LLT_SMAJOR) $(DESTDIR)/$(LIBDIR) ++ cp -R --no-dereference --preserve=mode,links $(LIB_SO) $(DESTDIR)/$(LIBDIR) ++ cp -R --no-dereference --preserve=mode,links $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR) ++ cp -R --no-dereference --preserve=mode,links $(LLT_SO) $(DESTDIR)/$(LIBDIR) ++ cp -R --no-dereference --preserve=mode,links $(LLT_SMAJOR) $(DESTDIR)/$(LIBDIR) + $(INSTALL) -m 644 $(LIB_PC) $(DESTDIR)/$(PKGDIR) + $(INSTALL) -m 644 $(LLT_PC) $(DESTDIR)/$(PKGDIR) + $(INSTALL) -c -m 644 $(HDR_TARGET) $(DESTDIR)/$(HDRDIR) +-- +2.25.1 + diff --git a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb index 4bf9944aa..577db7087 100644 --- a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb +++ b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb @@ -8,6 +8,7 @@ REQUIRED_DISTRO_FEATURES = "systemd" SRC_URI = "https://pagure.io/dlm/archive/dlm-${PV}/dlm-dlm-${PV}.tar.gz \ file://0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch \ file://0001-Include-sys-sysmacros.h-for-major-minor-macros-in-gl.patch \ + file://0001-make-Replace-cp-a-with-mode-preserving-options.patch \ " SRC_URI[md5sum] = "4c57a941a15547859cd38fd55f66388e" @@ -21,7 +22,7 @@ LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d" S = "${WORKDIR}/dlm-dlm-${PV}" -DEPENDS = "corosync systemd" +DEPENDS += "corosync" inherit pkgconfig systemd features_check @@ -40,29 +41,20 @@ do_compile_prepend_toolchain-clang() { sed -i -e "s/-fstack-clash-protection//g" ${S}/*/Makefile } -do_compile_prepend() { +do_compile() { sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile sed -i -e "s/ ${DONTBUILD}//g" ${S}/Makefile -} - -do_compile () { oe_runmake 'CC=${CC}' } -do_install_append (){ - install -d ${D}${sysconfdir}/sysconfig/ - install -d ${D}${sysconfdir}/init.d/ - install -m 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm - install -m 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm +do_install() { + oe_runmake install DESTDIR=${D} LIBDIR=${libdir} + install -Dm 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm + install -Dm 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm # install systemd unit files if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system + install -Dm 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system/dlm.service fi } -do_install() { - oe_runmake install DESTDIR=${D} LIBDIR=${libdir} -} - diff --git a/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.15.bb b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.15.bb new file mode 100644 index 000000000..6bf268da9 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.15.bb @@ -0,0 +1,23 @@ +# Copyright (C) 2020 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = " Kronosnet, often referred to as knet, is a network abstraction layer designed for High Availability use cases, where redundancy, security, fault tolerance and fast fail-over are the core requirements of your application." +HOMEPAGE = "https://kronosnet.org/" +LICENSE = "GPL-2.0+ & LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING.applications;md5=751419260aa954499f7abaabaa882bbe \ + file://COPYING.libraries;md5=2d5025d4aa3495befef8f17206a5b0a1" +SECTION = "libs" +DEPENDS = "doxygen-native libqb-native libxml2-native bzip2 libqb libxml2 libnl lksctp-tools lz4 lzo openssl nss xz zlib zstd" + +SRCREV = "0ba5985c3ddec8429b989f0e7bd3324f53e0a9b0" +SRC_URI = "git://github.com/kronosnet/kronosnet;protocol=https;branch=stable1" + +inherit autotools + +S = "${WORKDIR}/git" + +# libknet/transport_udp.c:326:48: error: comparison of integers of different signs: 'unsigned long' and 'int' [-Werror,-Wsign-compare] +# for (cmsg = CMSG_FIRSTHDR(&msg);cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) { +# ^~~~~~~~~~~~~~~~~~~~~~~ +CFLAGS_append_toolchain-clang = " -Wno-sign-compare" + diff --git a/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.5.bb b/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.5.bb deleted file mode 100644 index 51e0ec1a6..000000000 --- a/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.5.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Connection tracking userspace tools for Linux" -SECTION = "net" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" - -DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \ - libnetfilter-cthelper libnetfilter-queue bison-native libtirpc" - -EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc" - -SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.bz2;name=tar \ - file://conntrack-failover \ - file://init \ -" -SRC_URI[tar.md5sum] = "9356a0cd4df81a597ac26d87ccfebac4" -SRC_URI[tar.sha256sum] = "36c6d99c7684851d4d72e75bd07ff3f0ff1baaf4b6f069eb7244990cd1a9a462" - -inherit autotools update-rc.d pkgconfig - -INITSCRIPT_NAME = "conntrackd" - -do_install_append() { - install -d ${D}/${sysconfdir}/conntrackd - install -d ${D}/${sysconfdir}/init.d - install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample - install -m 0755 ${WORKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover - install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd - - # Fix hardcoded paths in scripts - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd - sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd - sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample - sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd -} diff --git a/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb b/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb new file mode 100644 index 000000000..ad50a89a4 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb @@ -0,0 +1,34 @@ +SUMMARY = "Connection tracking userspace tools for Linux" +SECTION = "net" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \ + libnetfilter-cthelper libnetfilter-queue bison-native libtirpc" + +EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc" + +SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.bz2;name=tar \ + file://conntrack-failover \ + file://init \ +" +SRC_URI[tar.md5sum] = "a9dc7567921213007def78ad72313109" +SRC_URI[tar.sha256sum] = "590859cc848245dbfd9c6487761dd303b3a1771e007f4f42213063ca56205d5f" + +inherit autotools update-rc.d pkgconfig + +INITSCRIPT_NAME = "conntrackd" + +do_install_append() { + install -d ${D}/${sysconfdir}/conntrackd + install -d ${D}/${sysconfdir}/init.d + install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample + install -m 0755 ${WORKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover + install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd + + # Fix hardcoded paths in scripts + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd + sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd + sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample + sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd +} diff --git a/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.7.bb b/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.7.bb deleted file mode 100644 index 5c8150156..000000000 --- a/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.7.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Netfilter connection tracking library" -DESCRIPTION = "Userspace library providing a programming interface (API) to the Linux kernel netfilter connection tracking state table" -HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_conntrack/index.html" -SECTION = "libs" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" -DEPENDS = "libnfnetlink libmnl" - -SRC_URI = "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.bz2" -SRC_URI[md5sum] = "013d182c2df716fcb5eb2a1fb7febd1f" -SRC_URI[sha256sum] = "33685351e29dff93cc21f5344b6e628e41e32b9f9e567f4bec0478eb41f989b6" - -S = "${WORKDIR}/libnetfilter_conntrack-${PV}" - -inherit autotools pkgconfig diff --git a/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb b/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb new file mode 100644 index 000000000..cd8943393 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb @@ -0,0 +1,15 @@ +SUMMARY = "Netfilter connection tracking library" +DESCRIPTION = "Userspace library providing a programming interface (API) to the Linux kernel netfilter connection tracking state table" +HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_conntrack/index.html" +SECTION = "libs" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" +DEPENDS = "libnfnetlink libmnl" + +SRC_URI = "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.bz2" +SRC_URI[md5sum] = "3121b55acf97322db830da75d8407cba" +SRC_URI[sha256sum] = "0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf" + +S = "${WORKDIR}/libnetfilter_conntrack-${PV}" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.5.bb b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.5.bb deleted file mode 100644 index e1c2720da..000000000 --- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.5.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26" -SECTION = "libs" -DEPENDS = "libmnl" - -SRCREV = "a71599dc0ae1a808e970e96850ea83d77f452994" -SRC_URI = "git://git.netfilter.org/libnftnl \ - file://0001-avoid-naming-local-function-as-one-of-printf-family.patch \ - " - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.6.bb b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.6.bb new file mode 100644 index 000000000..db4295454 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.6.bb @@ -0,0 +1,14 @@ +SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26" +SECTION = "libs" +DEPENDS = "libmnl" + +SRCREV = "ac0778e403eb51986ce19bcf1a6e8ae3cd83dcfa" +SRC_URI = "git://git.netfilter.org/libnftnl \ + file://0001-avoid-naming-local-function-as-one-of-printf-family.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-update-python3-nftables-reference.patch b/meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-update-python3-nftables-reference.patch deleted file mode 100644 index db2243480..000000000 --- a/meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-update-python3-nftables-reference.patch +++ /dev/null @@ -1,47 +0,0 @@ -From ddbe652bf0f4ed300bae9497250130d68e4cbf5b Mon Sep 17 00:00:00 2001 -From: Arturo Borrero Gonzalez -Date: Tue, 10 Dec 2019 12:00:45 +0100 -Subject: py: load the SONAME-versioned shared object - -Instruct the python module to load the SONAME versioned shared object. - -Normal end-user systems may only have available libnftables.so.1.0.0 and not -libnftables.so which is usually only present in developer systems. - -In Debian systems, for example: - - % dpkg -L libnftables1 | grep so.1 - /usr/lib/x86_64-linux-gnu/libnftables.so.1.0.0 - /usr/lib/x86_64-linux-gnu/libnftables.so.1 - - % dpkg -L libnftables-dev | grep so - /usr/lib/x86_64-linux-gnu/libnftables.so - -The "1" is not a magic number, is the SONAME of libnftables in the current -version, as stated in Make_global.am. - -Reported-by: Michael Biebl -Signed-off-by: Arturo Borrero Gonzalez -Acked-by: Phil Sutter -Signed-off-by: Pablo Neira Ayuso ---- - py/nftables.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/py/nftables.py b/py/nftables.py -index 48eb54fe..2a0a1e89 100644 ---- a/py/nftables.py -+++ b/py/nftables.py -@@ -64,7 +64,7 @@ class Nftables: - - validator = None - -- def __init__(self, sofile="libnftables.so"): -+ def __init__(self, sofile="libnftables.so.1"): - """Instantiate a new Nftables class object. - - Accepts a shared object file to open, by default standard search path --- -cgit v1.2.1 - - diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.3.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.3.bb deleted file mode 100644 index 65a7bcc5f..000000000 --- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.3.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Netfilter Tables userspace utillites" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79" - -DEPENDS = "libmnl libnftnl bison-native \ - ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}" - -# Ensure we reject the 0.099 version by matching at least two dots -UPSTREAM_CHECK_REGEX = "nftables-(?P\d+(\.\d+){2,}).tar.bz2" - -SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \ - file://0001-update-python3-nftables-reference.patch" -SRC_URI[md5sum] = "9913b2b46864394d41916b74638e0875" -SRC_URI[sha256sum] = "956b915ce2a7aeaff123e49006be7a0690a0964e96c062703181a36e2e5edb78" - -inherit autotools manpages pkgconfig - -PACKAGECONFIG ??= "python readline" -PACKAGECONFIG[json] = "--with-json, --without-json, jansson" -PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native" -PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp" -PACKAGECONFIG[python] = "--enable-python --with-python-bin=${PYTHON}, --with-python-bin="", python3" -PACKAGECONFIG[readline] = "--with-cli=readline, --without-cli, readline" -PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} - -RRECOMMENDS_${PN} += "kernel-module-nf-tables" - -PACKAGES =+ "${PN}-python" -FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" -RDEPENDS_${PN}-python = "python3-core python3-json" diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.4.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.4.bb new file mode 100644 index 000000000..5b57abb87 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.4.bb @@ -0,0 +1,32 @@ +SUMMARY = "Netfilter Tables userspace utillites" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79" + +DEPENDS = "libmnl libnftnl bison-native \ + ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}" + +# Ensure we reject the 0.099 version by matching at least two dots +UPSTREAM_CHECK_REGEX = "nftables-(?P\d+(\.\d+){2,}).tar.bz2" + +SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2" +SRC_URI[md5sum] = "fdfd51a1083fb054a487b5159b1ed5cd" +SRC_URI[sha256sum] = "08b8683a9db5fba980bc092b75288af98d218bbe8ab446daf2338570d0730f9a" + +inherit autotools manpages pkgconfig + +PACKAGECONFIG ??= "python readline" +PACKAGECONFIG[json] = "--with-json, --without-json, jansson" +PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native" +PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp" +PACKAGECONFIG[python] = "--enable-python --with-python-bin=${PYTHON}, --with-python-bin="", python3" +PACKAGECONFIG[readline] = "--with-cli=readline, --without-cli, readline" +PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} + +RRECOMMENDS_${PN} += "kernel-module-nf-tables" + +PACKAGES =+ "${PN}-python" +FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" +RDEPENDS_${PN}-python = "python3-core python3-json" diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190913.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190913.bb deleted file mode 100644 index badc97a97..000000000 --- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190913.bb +++ /dev/null @@ -1,31 +0,0 @@ -require wireguard.inc - -inherit module kernel-module-split - -DEPENDS = "virtual/kernel libmnl" - -# This module requires Linux 3.10 higher and several networking related -# configuration options. For exact kernel requirements visit: -# https://www.wireguard.io/install/#kernel-requirements - -EXTRA_OEMAKE_append = " \ - KERNELDIR=${STAGING_KERNEL_DIR} \ - " - -MAKE_TARGETS = "module" - -RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit" -MODULE_NAME = "wireguard" - -# Kernel module packages MUST begin with 'kernel-module-', otherwise -# multilib image generation can fail. -# -# The following line is only necessary if the recipe name does not begin -# with kernel-module-. -PKG_${PN} = "kernel-module-${MODULE_NAME}" - -module_do_install() { - install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME} - install -m 0644 ${MODULE_NAME}.ko \ - ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko -} diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200401.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200401.bb new file mode 100644 index 000000000..73199592c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200401.bb @@ -0,0 +1,35 @@ +require wireguard.inc + +SRCREV = "43f57dac7b8305024f83addc533c9eede6509129" + +SRC_URI = "git://git.zx2c4.com/wireguard-linux-compat" + +inherit module kernel-module-split + +DEPENDS = "virtual/kernel libmnl" + +# This module requires Linux 3.10 higher and several networking related +# configuration options. For exact kernel requirements visit: +# https://www.wireguard.io/install/#kernel-requirements + +EXTRA_OEMAKE_append = " \ + KERNELDIR=${STAGING_KERNEL_DIR} \ + " + +MAKE_TARGETS = "module" + +RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit" +MODULE_NAME = "wireguard" + +# Kernel module packages MUST begin with 'kernel-module-', otherwise +# multilib image generation can fail. +# +# The following line is only necessary if the recipe name does not begin +# with kernel-module-. +PKG_${PN} = "kernel-module-${MODULE_NAME}" + +module_do_install() { + install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME} + install -m 0644 ${MODULE_NAME}.ko \ + ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko +} diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190913.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190913.bb deleted file mode 100644 index c4ddbcb0e..000000000 --- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190913.bb +++ /dev/null @@ -1,27 +0,0 @@ -require wireguard.inc - -inherit bash-completion systemd pkgconfig - -DEPENDS = "wireguard-module libmnl" - -do_compile_prepend () { - cd ${S}/tools -} - -do_install () { - cd ${S}/tools - oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \ - SYSTEMDUNITDIR="${systemd_unitdir}" \ - WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \ - WITH_BASHCOMPLETION=yes \ - WITH_WGQUICK=yes \ - install -} - -FILES_${PN} = " \ - ${sysconfdir} \ - ${systemd_unitdir} \ - ${bindir} \ -" - -RDEPENDS_${PN} = "wireguard-module bash" diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200319.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200319.bb new file mode 100644 index 000000000..f698b9a9a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200319.bb @@ -0,0 +1,25 @@ +require wireguard.inc + +SRCREV = "a8063adc8ae9b4fc9848500e93f94bee8ad2e585" +SRC_URI = "git://git.zx2c4.com/wireguard-tools" + +inherit bash-completion systemd pkgconfig + +DEPENDS += "wireguard-module libmnl" + +do_install () { + oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \ + SYSTEMDUNITDIR="${systemd_unitdir}" \ + WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \ + WITH_BASHCOMPLETION=yes \ + WITH_WGQUICK=yes \ + install +} + +FILES_${PN} = " \ + ${sysconfdir} \ + ${systemd_unitdir} \ + ${bindir} \ +" + +RDEPENDS_${PN} = "wireguard-module bash" diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc index b0b48d0dd..a3a7867c2 100644 --- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc +++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc @@ -10,8 +10,4 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz" -SRC_URI[md5sum] = "ec2345dfc8ffc61ccd7529d5d19b2602" -SRC_URI[sha256sum] = "997327185d2d1b597dc118f737c0c165e2a2c21453387ea02659f1159d148518" - -S = "${WORKDIR}/WireGuard-${PV}/src/" +S = "${WORKDIR}/git/src" diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb index 65c20c072..cf306ec82 100644 --- a/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb +++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb @@ -18,6 +18,8 @@ SRC_URI[patch31.sha256sum] = "4edd46a32d70daa7ba00f0ebf0118dc5d17dff23d6e46aa21a inherit autotools-brokensep +CLEANBROKEN = "1" + do_configure () { ./configure --prefix=${prefix} echo "LDFLAGS=${LDFLAGS}" >> MCONFIG diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb index 60a8d95b0..ad543b0fb 100644 --- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb +++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb @@ -5,7 +5,7 @@ LICENSE = "BSD-4-Clause" LIC_FILES_CHKSUM = "file://rwho/rwho.c;beginline=2;endline=3;md5=5a85f13c0142d72fc378e00f15da5b9e" SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}.orig.tar.gz;name=archive \ - ${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}-13.debian.tar.gz;name=patch13 \ + ${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}-13.debian.tar.gz;subdir=${BP};name=patch13 \ file://rwhod \ file://rwhod.default \ file://0001-Add-missing-include-path-to-I-options.patch \ @@ -20,13 +20,37 @@ inherit autotools-brokensep useradd update-rc.d update-alternatives CFLAGS += " -D_GNU_SOURCE" -debian_do_patch() { - cd ${S} - while read line; do patch -p1 < ${WORKDIR}/debian/patches/$line; done < ${WORKDIR}/debian/patches/series +# Unlike other Debian packages, net-tools *.diff.gz contains another series of +# patches maintained by quilt. So manually apply them before applying other local +# patches. Also remove all temp files before leaving, because do_patch() will pop +# up all previously applied patches in the start +do_patch[depends] += "quilt-native:do_populate_sysroot" +netkit_do_patch() { + cd ${S} + # it's important that we only pop the existing patches when they've + # been applied, otherwise quilt will climb the directory tree + # and reverse out some completely different set of patches + if [ -d ${S}/patches ]; then + # whilst this is the default directory, doing it like this + # defeats the directory climbing that quilt will otherwise + # do; note the directory must exist to defeat this, hence + # the test inside which we operate + QUILT_PATCHES=${S}/patches quilt pop -a + fi + if [ -d ${S}/.pc-${BPN} ]; then + rm -rf ${S}/.pc + mv ${S}/.pc-${BPN} ${S}/.pc + QUILT_PATCHES=${S}/debian/patches quilt pop -a + rm -rf ${S}/.pc ${S}/debian + fi + QUILT_PATCHES=${S}/debian/patches quilt push -a + mv ${S}/.pc ${S}/.pc-${BPN} } +do_unpack[cleandirs] += "${S}" + python do_patch() { - bb.build.exec_func('debian_do_patch', d) + bb.build.exec_func('netkit_do_patch', d) bb.build.exec_func('patch_do_patch', d) } diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch new file mode 100644 index 000000000..d21c60274 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch @@ -0,0 +1,112 @@ +From 6ab007dbb1958371abff2eaaad2b26da89b3c74e Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Fri, 24 Apr 2020 09:43:44 +0800 +Subject: [PATCH] telnetd/utility.c: fix CVE-2020-10188 + +Upstream-Status: Backport +[Fedora: https://src.fedoraproject.org/rpms/telnet/raw/master/f/telnet-0.17-overflow-exploit.patch] + +CVE: CVE-2020-10188 + +Signed-off-by: Yi Zhao +--- + telnetd/utility.c | 32 +++++++++++++++++++++----------- + 1 file changed, 21 insertions(+), 11 deletions(-) + +diff --git a/telnetd/utility.c b/telnetd/utility.c +index 75314cb..b9a46a6 100644 +--- a/telnetd/utility.c ++++ b/telnetd/utility.c +@@ -169,31 +169,38 @@ void ptyflush(void) + */ + static + char * +-nextitem(char *current) ++nextitem(char *current, const char *endp) + { ++ if (current >= endp) { ++ return NULL; ++ } + if ((*current&0xff) != IAC) { + return current+1; + } ++ if (current+1 >= endp) { ++ return NULL; ++ } + switch (*(current+1)&0xff) { + case DO: + case DONT: + case WILL: + case WONT: +- return current+3; ++ return current+3 <= endp ? current+3 : NULL; + case SB: /* loop forever looking for the SE */ + { + register char *look = current+2; + +- for (;;) { ++ while (look < endp) { + if ((*look++&0xff) == IAC) { +- if ((*look++&0xff) == SE) { ++ if (look < endp && (*look++&0xff) == SE) { + return look; + } + } + } ++ return NULL; + } + default: +- return current+2; ++ return current+2 <= endp ? current+2 : NULL; + } + } /* end of nextitem */ + +@@ -219,7 +226,7 @@ void netclear(void) + register char *thisitem, *next; + char *good; + #define wewant(p) ((nfrontp > p) && ((*p&0xff) == IAC) && \ +- ((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL)) ++ (nfrontp > p+1 && (((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL)))) + + #if defined(ENCRYPT) + thisitem = nclearto > netobuf ? nclearto : netobuf; +@@ -227,7 +234,7 @@ void netclear(void) + thisitem = netobuf; + #endif + +- while ((next = nextitem(thisitem)) <= nbackp) { ++ while ((next = nextitem(thisitem, nbackp)) != NULL && next <= nbackp) { + thisitem = next; + } + +@@ -239,20 +246,23 @@ void netclear(void) + good = netobuf; /* where the good bytes go */ + #endif + +- while (nfrontp > thisitem) { ++ while (thisitem != NULL && nfrontp > thisitem) { + if (wewant(thisitem)) { + int length; + + next = thisitem; + do { +- next = nextitem(next); +- } while (wewant(next) && (nfrontp > next)); ++ next = nextitem(next, nfrontp); ++ } while (next != NULL && wewant(next) && (nfrontp > next)); ++ if (next == NULL) { ++ next = nfrontp; ++ } + length = next-thisitem; + bcopy(thisitem, good, length); + good += length; + thisitem = next; + } else { +- thisitem = nextitem(thisitem); ++ thisitem = nextitem(thisitem, nfrontp); + } + } + +-- +2.7.4 + diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb index cf9934138..0e92add63 100644 --- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb +++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb @@ -12,6 +12,7 @@ SRC_URI = "http://ftp.linux.org.uk/pub/linux/Networking/netkit/${BP}.tar.gz \ file://cross-compile.patch \ file://0001-telnet-telnetd-Fix-print-format-strings.patch \ file://0001-telnet-telnetd-Fix-deadlock-on-cleanup.patch \ + file://CVE-2020-10188.patch \ " UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netkit-telnet/" @@ -57,6 +58,9 @@ ALTERNATIVE_${PN} = "telnet" ALTERNATIVE_LINK_NAME[telnet] = "${bindir}/telnet" ALTERNATIVE_TARGET[telnet] = "${bindir}/telnet.${PN}" +ALTERNATIVE_${PN}-doc = "telnetd.8" +ALTERNATIVE_LINK_NAME[telnetd.8] = "${mandir}/man8/telnetd.8" + SRC_URI[md5sum] = "d6beabaaf53fe6e382c42ce3faa05a36" SRC_URI[sha256sum] = "9c80d5c7838361a328fb6b60016d503def9ce53ad3c589f3b08ff71a2bb88e00" FILES_${PN} += "${sbindir}/in.* ${libdir}/* ${sysconfdir}/xinetd.d/*" diff --git a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.1.bb b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.1.bb index 27e7b4307..6dd15ad9f 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.1.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.1.bb @@ -15,6 +15,8 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=411a48ac3c2e9e0911b8dd9aed26f754" SRC_URI = "git://github.com/jech/babeld.git;protocol=git" SRCREV = "0835d5d894ea016ab7b81562466cade2c51a12d4" +UPSTREAM_CHECK_GITTAGREGEX = "babeld-(?P\d+(\.\d+)+)" + S = "${WORKDIR}/git" do_compile () { diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch new file mode 100644 index 000000000..692c344db --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch @@ -0,0 +1,60 @@ +From 89ea6ac4a8840e8c2be0140a9805c6522c6c5280 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Wed, 28 Jun 2017 17:30:00 -0500 +Subject: [PATCH 01/11] Create subroutine for cleaning recent interfaces + +Moves functionality for cleaning the list of recent +interfaces into its own subroutine. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 24 ++++++++++++++---------- + 1 file changed, 14 insertions(+), 10 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 0e10bd5..ffc9696 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -856,6 +856,19 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf + return err; + } + ++// Clean up any interfaces that have been hanging around on the RecentInterfaces list for more than a minute ++mDNSlocal void CleanRecentInterfaces(void) ++{ ++ PosixNetworkInterface **ri = &gRecentInterfaces; ++ const mDNSs32 utc = mDNSPlatformUTC(); ++ while (*ri) ++ { ++ PosixNetworkInterface *pi = *ri; ++ if (utc - pi->LastSeen < 60) ri = (PosixNetworkInterface **)&pi->coreIntf.next; ++ else { *ri = (PosixNetworkInterface *)pi->coreIntf.next; free(pi); } ++ } ++} ++ + // Creates a PosixNetworkInterface for the interface whose IP address is + // intfAddr and whose name is intfName and registers it with mDNS core. + mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask, const char *intfName, int intfIndex) +@@ -1010,16 +1023,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m) + + // Clean up. + if (intfList != NULL) free_ifi_info(intfList); +- +- // Clean up any interfaces that have been hanging around on the RecentInterfaces list for more than a minute +- PosixNetworkInterface **ri = &gRecentInterfaces; +- const mDNSs32 utc = mDNSPlatformUTC(); +- while (*ri) +- { +- PosixNetworkInterface *pi = *ri; +- if (utc - pi->LastSeen < 60) ri = (PosixNetworkInterface **)&pi->coreIntf.next; +- else { *ri = (PosixNetworkInterface *)pi->coreIntf.next; free(pi); } +- } ++ CleanRecentInterfaces(); + + return err; + } +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch new file mode 100644 index 000000000..21ba31849 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch @@ -0,0 +1,58 @@ +From a2148df99ddcd122247f95c4cbcce5c4118581a1 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Wed, 28 Jun 2017 17:30:00 -0500 +Subject: [PATCH 02/11] Create subroutine for tearing down an interface + +Creates a subroutine for tearing down an interface. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 22 ++++++++++++++++------ + 1 file changed, 16 insertions(+), 6 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index ffc9696..5e5b2cd 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -591,6 +591,19 @@ mDNSlocal void FreePosixNetworkInterface(PosixNetworkInterface *intf) + gRecentInterfaces = intf; + } + ++mDNSlocal void TearDownInterface(mDNS *const m, PosixNetworkInterface *intf) ++{ ++ mDNS_DeregisterInterface(m, &intf->coreIntf, NormalActivation); ++ if (gMDNSPlatformPosixVerboseLevel > 0) fprintf(stderr, "Deregistered interface %s\n", intf->intfName); ++ FreePosixNetworkInterface(intf); ++ ++ num_registered_interfaces--; ++ if (num_registered_interfaces == 0) { ++ num_pkts_accepted = 0; ++ num_pkts_rejected = 0; ++ } ++} ++ + // Grab the first interface, deregister it, free it, and repeat until done. + mDNSlocal void ClearInterfaceList(mDNS *const m) + { +@@ -599,13 +612,10 @@ mDNSlocal void ClearInterfaceList(mDNS *const m) + while (m->HostInterfaces) + { + PosixNetworkInterface *intf = (PosixNetworkInterface*)(m->HostInterfaces); +- mDNS_DeregisterInterface(m, &intf->coreIntf, NormalActivation); +- if (gMDNSPlatformPosixVerboseLevel > 0) fprintf(stderr, "Deregistered interface %s\n", intf->intfName); +- FreePosixNetworkInterface(intf); ++ TearDownInterface(m, intf); + } +- num_registered_interfaces = 0; +- num_pkts_accepted = 0; +- num_pkts_rejected = 0; ++ ++ assert(num_registered_interfaces == 0); + } + + // Sets up a send/receive socket. +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch new file mode 100644 index 000000000..8c0e6bf39 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch @@ -0,0 +1,50 @@ +From 71a7c728ae0d8143b66aa40decca74ebaa9aa2ce Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Wed, 28 Jun 2017 17:30:00 -0500 +Subject: [PATCH 03/11] Track interface socket family + +Tracks the socket family associated with the interface. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 1 + + mDNSPosix/mDNSPosix.h | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 5e5b2cd..8fe22be 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -918,6 +918,7 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct + // Set up the extra fields in PosixNetworkInterface. + assert(intf->intfName != NULL); // intf->intfName already set up above + intf->index = intfIndex; ++ intf->sa_family = intfAddr->sa_family; + intf->multicastSocket4 = -1; + #if HAVE_IPV6 + intf->multicastSocket6 = -1; +diff --git a/mDNSPosix/mDNSPosix.h b/mDNSPosix/mDNSPosix.h +index ca60d80..f77c185 100644 +--- a/mDNSPosix/mDNSPosix.h ++++ b/mDNSPosix/mDNSPosix.h +@@ -19,6 +19,7 @@ + #define __mDNSPlatformPosix_h + + #include ++#include + #include + + #ifdef __cplusplus +@@ -40,6 +41,7 @@ struct PosixNetworkInterface + const char * intfName; + PosixNetworkInterface * aliasIntf; + int index; ++ sa_family_t sa_family; + int multicastSocket4; + #if HAVE_IPV6 + int multicastSocket6; +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch new file mode 100644 index 000000000..05ad49b9f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch @@ -0,0 +1,177 @@ +From e1f483510a1011e37540fdee8f3bc36111fa45a0 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Thu, 13 Jul 2017 09:00:00 -0500 +Subject: [PATCH 04/11] Use list for changed interfaces + +Uses a linked list to store the index of changed network interfaces +instead of a bitfield. This allows for network interfaces with an +index greater than 31 (an index of 36 was seen on Android). + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 67 +++++++++++++++++++++++++++++++++---------- + 1 file changed, 52 insertions(+), 15 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 8fe22be..699855a 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -75,6 +75,14 @@ struct IfChangeRec + }; + typedef struct IfChangeRec IfChangeRec; + ++// Used to build a list of network interface indices ++struct NetworkInterfaceIndex ++{ ++ int if_index; ++ struct NetworkInterfaceIndex *Next; ++}; ++typedef struct NetworkInterfaceIndex NetworkInterfaceIndex; ++ + // Note that static data is initialized to zero in (modern) C. + static fd_set gEventFDs; + static int gMaxFD; // largest fd in gEventFDs +@@ -1071,6 +1079,32 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD) + return err; + } + ++mDNSlocal mDNSBool ListContainsInterfaceIndex(GenLinkedList *list, int if_index) ++{ ++ NetworkInterfaceIndex *item; ++ ++ for (item = (NetworkInterfaceIndex*)list->Head; item != NULL; item = item->Next) ++ { ++ if (if_index == item->if_index) return mDNStrue; ++ } ++ ++ return mDNSfalse; ++} ++ ++mDNSlocal void AddInterfaceIndexToList(GenLinkedList *list, int if_index) ++{ ++ NetworkInterfaceIndex *item; ++ ++ if (ListContainsInterfaceIndex(list, if_index)) return; ++ ++ item = malloc(sizeof *item); ++ if (item == NULL) return; ++ ++ item->if_index = if_index; ++ item->Next = NULL; ++ AddToTail(list, item); ++} ++ + #if MDNS_DEBUGMSGS + mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg) + { +@@ -1098,14 +1132,13 @@ mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg) + } + #endif + +-mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) ++mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *changedInterfaces) + // Read through the messages on sd and if any indicate that any interface records should + // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0. + { + ssize_t readCount; + char buff[4096]; + struct nlmsghdr *pNLMsg = (struct nlmsghdr*) buff; +- mDNSu32 result = 0; + + // The structure here is more complex than it really ought to be because, + // unfortunately, there's no good way to size a buffer in advance large +@@ -1141,9 +1174,9 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) + + // Process the NetLink message + if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK) +- result |= 1 << ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index; ++ AddInterfaceIndexToList(changedInterfaces, ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index); + else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR) +- result |= 1 << ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index; ++ AddInterfaceIndexToList(changedInterfaces, ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index); + + // Advance pNLMsg to the next message in the buffer + if ((pNLMsg->nlmsg_flags & NLM_F_MULTI) != 0 && pNLMsg->nlmsg_type != NLMSG_DONE) +@@ -1154,8 +1187,6 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) + else + break; // all done! + } +- +- return result; + } + + #else // USES_NETLINK +@@ -1187,14 +1218,13 @@ mDNSlocal void PrintRoutingSocketMsg(const struct ifa_msghdr *pRSMsg) + } + #endif + +-mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) ++mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *changedInterfaces) + // Read through the messages on sd and if any indicate that any interface records should + // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0. + { + ssize_t readCount; + char buff[4096]; + struct ifa_msghdr *pRSMsg = (struct ifa_msghdr*) buff; +- mDNSu32 result = 0; + + readCount = read(sd, buff, sizeof buff); + if (readCount < (ssize_t) sizeof(struct ifa_msghdr)) +@@ -1209,12 +1239,10 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) + pRSMsg->ifam_type == RTM_IFINFO) + { + if (pRSMsg->ifam_type == RTM_IFINFO) +- result |= 1 << ((struct if_msghdr*) pRSMsg)->ifm_index; ++ AddInterfaceIndexToList(changedInterfaces, ((struct if_msghdr*) pRSMsg)->ifm_index); + else +- result |= 1 << pRSMsg->ifam_index; ++ AddInterfaceIndexToList(changedInterfaces, pRSMsg->ifam_index); + } +- +- return result; + } + + #endif // USES_NETLINK +@@ -1224,7 +1252,8 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context) + { + IfChangeRec *pChgRec = (IfChangeRec*) context; + fd_set readFDs; +- mDNSu32 changedInterfaces = 0; ++ GenLinkedList changedInterfaces; ++ NetworkInterfaceIndex *changedInterface; + struct timeval zeroTimeout = { 0, 0 }; + + (void)fd; // Unused +@@ -1233,17 +1262,25 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context) + FD_ZERO(&readFDs); + FD_SET(pChgRec->NotifySD, &readFDs); + ++ InitLinkedList(&changedInterfaces, offsetof(NetworkInterfaceIndex, Next)); ++ + do + { +- changedInterfaces |= ProcessRoutingNotification(pChgRec->NotifySD); ++ ProcessRoutingNotification(pChgRec->NotifySD, &changedInterfaces); + } + while (0 < select(pChgRec->NotifySD + 1, &readFDs, (fd_set*) NULL, (fd_set*) NULL, &zeroTimeout)); + + // Currently we rebuild the entire interface list whenever any interface change is + // detected. If this ever proves to be a performance issue in a multi-homed + // configuration, more care should be paid to changedInterfaces. +- if (changedInterfaces) ++ if (changedInterfaces.Head != NULL) + mDNSPlatformPosixRefreshInterfaceList(pChgRec->mDNS); ++ ++ while ((changedInterface = (NetworkInterfaceIndex*)changedInterfaces.Head) != NULL) ++ { ++ RemoveFromList(&changedInterfaces, changedInterface); ++ free(changedInterface); ++ } + } + + // Register with either a Routing Socket or RtNetLink to listen for interface changes. +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch new file mode 100644 index 000000000..f2b171e55 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch @@ -0,0 +1,212 @@ +From 92025cab86619f548bf3eb816a1804ef40507ca7 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Mon, 24 Jul 2017 09:38:55 -0500 +Subject: [PATCH 05/11] Handle noisy netlink sockets + +The POSIX implementation currently clears all network interfaces +when netlink indicates that there has been a change. This causes +the following problems: + + 1) Applications are informed that all of the services they are + tracking have been removed. + 2) Increases network load because the client must re-query for + all records it is interested in. + +This changes netlink notification handling by: + + 1) Always comparing with the latest interface list returned + by the OS. + 2) Confirming that the interface has been changed in a way + that we care about. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 143 +++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 133 insertions(+), 10 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 699855a..59a8b8c 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1247,14 +1247,38 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change + + #endif // USES_NETLINK + ++// Test whether the given PosixNetworkInterface matches the given struct ifi_info ++mDNSlocal mDNSBool InterfacesMatch(PosixNetworkInterface *intf, struct ifi_info *ifi) ++{ ++ mDNSBool match = mDNSfalse; ++ mDNSAddr ip, mask; ++ ++ if((intf->index == ifi->ifi_index) && ++ (intf->sa_family == ifi->ifi_addr->sa_family) && ++ (strcmp(intf->coreIntf.ifname, ifi->ifi_name) == 0)) ++ { ++ SockAddrTomDNSAddr(ifi->ifi_addr, &ip, NULL); ++ SockAddrTomDNSAddr(ifi->ifi_netmask, &mask, NULL); ++ ++ match = mDNSSameAddress(&intf->coreIntf.ip, &ip) && ++ mDNSSameAddress(&intf->coreIntf.mask, &mask); ++ } ++ ++ return match; ++} ++ + // Called when data appears on interface change notification socket + mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context) + { + IfChangeRec *pChgRec = (IfChangeRec*) context; ++ mDNS *m = pChgRec->mDNS; + fd_set readFDs; + GenLinkedList changedInterfaces; + NetworkInterfaceIndex *changedInterface; + struct timeval zeroTimeout = { 0, 0 }; ++ struct ifi_info *ifi_list, **ifi, *ifi_free, *ifi_loop4 = NULL; ++ PosixNetworkInterface *intf, *intfNext; ++ mDNSBool found, foundav4; + + (void)fd; // Unused + (void)filter; // Unused +@@ -1270,12 +1294,115 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context) + } + while (0 < select(pChgRec->NotifySD + 1, &readFDs, (fd_set*) NULL, (fd_set*) NULL, &zeroTimeout)); + +- // Currently we rebuild the entire interface list whenever any interface change is +- // detected. If this ever proves to be a performance issue in a multi-homed +- // configuration, more care should be paid to changedInterfaces. +- if (changedInterfaces.Head != NULL) +- mDNSPlatformPosixRefreshInterfaceList(pChgRec->mDNS); ++ CleanRecentInterfaces(); ++ ++ if (changedInterfaces.Head == NULL) goto cleanup; ++ ++ ifi_list = get_ifi_info(AF_INET, mDNStrue); ++ if (ifi_list == NULL) goto cleanup; ++ ++#if HAVE_IPV6 ++ /* Link the IPv6 list to the end of the IPv4 list */ ++ ifi = &ifi_list; ++ while (*ifi != NULL) ifi = &(*ifi)->ifi_next; ++ *ifi = get_ifi_info(AF_INET6, mDNStrue); ++#endif ++ ++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = intfNext) ++ { ++ intfNext = (PosixNetworkInterface*)(intf->coreIntf.next); ++ ++ // Loopback interface(s) are handled later ++ if (intf->coreIntf.Loopback) continue; ++ ++ found = mDNSfalse; ++ for (ifi = &ifi_list; *ifi != NULL; ifi = &(*ifi)->ifi_next) ++ { ++ if (InterfacesMatch(intf, *ifi)) ++ { ++ found = mDNStrue; ++ ++ // Removes unchanged from ifi_list ++ ifi_free = *ifi; ++ *ifi = (*ifi)->ifi_next; ++ ifi_free->ifi_next = NULL; ++ free_ifi_info(ifi_free); ++ ++ break; ++ } ++ } ++ ++ // Removes changed and old interfaces from m->HostInterfaces ++ if (!found) TearDownInterface(m, intf); ++ } ++ ++ // Add new and changed interfaces in ifi_list ++ // Save off loopback interface in case it is needed later ++ for (ifi = &ifi_list; *ifi != NULL; ifi = &(*ifi)->ifi_next) ++ { ++ if ((ifi_loop4 == NULL) && ++ ((*ifi)->ifi_addr->sa_family == AF_INET) && ++ ((*ifi)->ifi_flags & IFF_UP) && ++ ((*ifi)->ifi_flags & IFF_LOOPBACK)) ++ { ++ ifi_loop4 = *ifi; ++ continue; ++ } ++ ++ if ( (((*ifi)->ifi_addr->sa_family == AF_INET) ++#if HAVE_IPV6 ++ || ((*ifi)->ifi_addr->sa_family == AF_INET6) ++#endif ++ ) && ((*ifi)->ifi_flags & IFF_UP) ++ && !((*ifi)->ifi_flags & IFF_POINTOPOINT) ++ && !((*ifi)->ifi_flags & IFF_LOOPBACK)) ++ { ++ SetupOneInterface(m, *ifi); ++ } ++ } ++ ++ // Determine if there is at least one non-loopback IPv4 interface. This is to work around issues ++ // with multicast loopback on IPv6 interfaces -- see corresponding logic in SetupInterfaceList(). ++ foundav4 = mDNSfalse; ++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = (PosixNetworkInterface*)(intf->coreIntf.next)) ++ { ++ if (intf->sa_family == AF_INET && !intf->coreIntf.Loopback) ++ { ++ foundav4 = mDNStrue; ++ break; ++ } ++ } ++ ++ if (foundav4) ++ { ++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = intfNext) ++ { ++ intfNext = (PosixNetworkInterface*)(intf->coreIntf.next); ++ if (intf->coreIntf.Loopback) TearDownInterface(m, intf); ++ } ++ } ++ else ++ { ++ found = mDNSfalse; ++ ++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = (PosixNetworkInterface*)(intf->coreIntf.next)) ++ { ++ if (intf->coreIntf.Loopback) ++ { ++ found = mDNStrue; ++ break; ++ } ++ } ++ ++ if (!found && (ifi_loop4 != NULL)) ++ { ++ SetupOneInterface(m, ifi_loop4); ++ } ++ } ++ ++ if (ifi_list != NULL) free_ifi_info(ifi_list); + ++cleanup: + while ((changedInterface = (NetworkInterfaceIndex*)changedInterfaces.Head) != NULL) + { + RemoveFromList(&changedInterfaces, changedInterface); +@@ -1400,15 +1527,11 @@ mDNSexport void mDNSPlatformClose(mDNS *const m) + #endif + } + +-// This is used internally by InterfaceChangeCallback. +-// It's also exported so that the Standalone Responder (mDNSResponderPosix) ++// This is exported so that the Standalone Responder (mDNSResponderPosix) + // can call it in response to a SIGHUP (mainly for debugging purposes). + mDNSexport mStatus mDNSPlatformPosixRefreshInterfaceList(mDNS *const m) + { + int err; +- // This is a pretty heavyweight way to process interface changes -- +- // destroying the entire interface list and then making fresh one from scratch. +- // We should make it like the OS X version, which leaves unchanged interfaces alone. + ClearInterfaceList(m); + err = SetupInterfaceList(m); + return PosixErrorToStatus(err); +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch new file mode 100644 index 000000000..b461a60df --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch @@ -0,0 +1,51 @@ +From 157d67f152777754c059ced7511352102f23ffae Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Mon, 24 Jul 2017 09:39:18 -0500 +Subject: [PATCH 06/11] Remove unneeded function + +Removes a function we no longer need by integrating it into the only +function that calls it. This was originally separated so that we could +only process network interfaces that netlink indicated had been changed, +this has since been extended to test for all network intefaces. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 13 ++----------- + 1 file changed, 2 insertions(+), 11 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 59a8b8c..3fc5451 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1079,24 +1079,15 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD) + return err; + } + +-mDNSlocal mDNSBool ListContainsInterfaceIndex(GenLinkedList *list, int if_index) ++mDNSlocal void AddInterfaceIndexToList(GenLinkedList *list, int if_index) + { + NetworkInterfaceIndex *item; + + for (item = (NetworkInterfaceIndex*)list->Head; item != NULL; item = item->Next) + { +- if (if_index == item->if_index) return mDNStrue; ++ if (if_index == item->if_index) return; + } + +- return mDNSfalse; +-} +- +-mDNSlocal void AddInterfaceIndexToList(GenLinkedList *list, int if_index) +-{ +- NetworkInterfaceIndex *item; +- +- if (ListContainsInterfaceIndex(list, if_index)) return; +- + item = malloc(sizeof *item); + if (item == NULL) return; + +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch new file mode 100644 index 000000000..86201c650 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch @@ -0,0 +1,129 @@ +From 07a9401d84804d7f0181aa4fb0f13a54b2a1c9a8 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Tue, 1 Aug 2017 17:06:01 -0500 +Subject: [PATCH 07/11] Indicate loopback interface to mDNS core + +Tells the mDNS core if an interface is a loopback interface, +similar to AddInterfaceToList() in the MacOS implementation. +Also reorganizes SetupOneInterface() to use a const struct +rather than growing its parameter list again. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 37 ++++++++++++++++++------------------- + 1 file changed, 18 insertions(+), 19 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 3fc5451..798ab10 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -889,16 +889,14 @@ mDNSlocal void CleanRecentInterfaces(void) + + // Creates a PosixNetworkInterface for the interface whose IP address is + // intfAddr and whose name is intfName and registers it with mDNS core. +-mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask, const char *intfName, int intfIndex) ++mDNSlocal int SetupOneInterface(mDNS *const m, struct ifi_info *const ifi) + { + int err = 0; + PosixNetworkInterface *intf; + PosixNetworkInterface *alias = NULL; + + assert(m != NULL); +- assert(intfAddr != NULL); +- assert(intfName != NULL); +- assert(intfMask != NULL); ++ assert(ifi != NULL); + + // Allocate the interface structure itself. + intf = (PosixNetworkInterface*)calloc(1, sizeof(*intf)); +@@ -907,26 +905,27 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct + // And make a copy of the intfName. + if (err == 0) + { +- intf->intfName = strdup(intfName); ++ intf->intfName = strdup(ifi->ifi_name); + if (intf->intfName == NULL) { assert(0); err = ENOMEM; } + } + + if (err == 0) + { + // Set up the fields required by the mDNS core. +- SockAddrTomDNSAddr(intfAddr, &intf->coreIntf.ip, NULL); +- SockAddrTomDNSAddr(intfMask, &intf->coreIntf.mask, NULL); ++ SockAddrTomDNSAddr(ifi->ifi_addr, &intf->coreIntf.ip, NULL); ++ SockAddrTomDNSAddr(ifi->ifi_netmask, &intf->coreIntf.mask, NULL); + + //LogMsg("SetupOneInterface: %#a %#a", &intf->coreIntf.ip, &intf->coreIntf.mask); +- strncpy(intf->coreIntf.ifname, intfName, sizeof(intf->coreIntf.ifname)); ++ strncpy(intf->coreIntf.ifname, ifi->ifi_name, sizeof(intf->coreIntf.ifname)); + intf->coreIntf.ifname[sizeof(intf->coreIntf.ifname)-1] = 0; + intf->coreIntf.Advertise = m->AdvertiseLocalAddresses; + intf->coreIntf.McastTxRx = mDNStrue; ++ intf->coreIntf.Loopback = ((ifi->ifi_flags & IFF_LOOPBACK) != 0) ? mDNStrue : mDNSfalse; + + // Set up the extra fields in PosixNetworkInterface. + assert(intf->intfName != NULL); // intf->intfName already set up above +- intf->index = intfIndex; +- intf->sa_family = intfAddr->sa_family; ++ intf->index = ifi->ifi_index; ++ intf->sa_family = ifi->ifi_addr->sa_family; + intf->multicastSocket4 = -1; + #if HAVE_IPV6 + intf->multicastSocket6 = -1; +@@ -936,17 +935,17 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct + intf->coreIntf.InterfaceID = (mDNSInterfaceID)alias; + + if (alias != intf) +- debugf("SetupOneInterface: %s %#a is an alias of %#a", intfName, &intf->coreIntf.ip, &alias->coreIntf.ip); ++ debugf("SetupOneInterface: %s %#a is an alias of %#a", ifi->ifi_name, &intf->coreIntf.ip, &alias->coreIntf.ip); + } + + // Set up the multicast socket + if (err == 0) + { +- if (alias->multicastSocket4 == -1 && intfAddr->sa_family == AF_INET) +- err = SetupSocket(intfAddr, MulticastDNSPort, intf->index, &alias->multicastSocket4); ++ if (alias->multicastSocket4 == -1 && ifi->ifi_addr->sa_family == AF_INET) ++ err = SetupSocket(ifi->ifi_addr, MulticastDNSPort, intf->index, &alias->multicastSocket4); + #if HAVE_IPV6 +- else if (alias->multicastSocket6 == -1 && intfAddr->sa_family == AF_INET6) +- err = SetupSocket(intfAddr, MulticastDNSPort, intf->index, &alias->multicastSocket6); ++ else if (alias->multicastSocket6 == -1 && ifi->ifi_addr->sa_family == AF_INET6) ++ err = SetupSocket(ifi->ifi_addr, MulticastDNSPort, intf->index, &alias->multicastSocket6); + #endif + } + +@@ -973,8 +972,8 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct + } + else + { +- // Use intfName instead of intf->intfName in the next line to avoid dereferencing NULL. +- debugf("SetupOneInterface: %s %#a failed to register %d", intfName, &intf->coreIntf.ip, err); ++ // Use ifi->ifi_name instead of intf->intfName in the next line to avoid dereferencing NULL. ++ debugf("SetupOneInterface: %s %#a failed to register %d", ifi->ifi_name, &intf->coreIntf.ip, err); + if (intf) { FreePosixNetworkInterface(intf); intf = NULL; } + } + +@@ -1023,7 +1022,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m) + } + else + { +- if (SetupOneInterface(m, i->ifi_addr, i->ifi_netmask, i->ifi_name, i->ifi_index) == 0) ++ if (SetupOneInterface(m, i) == 0) + if (i->ifi_addr->sa_family == AF_INET) + foundav4 = mDNStrue; + } +@@ -1037,7 +1036,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m) + // In the interim, we skip loopback interface only if we found at least one v4 interface to use + // if ((m->HostInterfaces == NULL) && (firstLoopback != NULL)) + if (!foundav4 && firstLoopback) +- (void) SetupOneInterface(m, firstLoopback->ifi_addr, firstLoopback->ifi_netmask, firstLoopback->ifi_name, firstLoopback->ifi_index); ++ (void) SetupOneInterface(m, firstLoopback); + } + + // Clean up. +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch new file mode 100644 index 000000000..fdc5105cb --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch @@ -0,0 +1,39 @@ +From 0fcc0f210f3a9310a1963de640b384ce866410fd Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Wed, 9 Aug 2017 09:16:58 -0500 +Subject: [PATCH 08/11] Mark deleted interfaces as being changed + +Netlink notification handling ignores messages for deleted links, +RTM_DELLINK. It does handle RTM_GETLINK. According to libnl docu- +mentation (http://www.infradead.org/~tgr/libnl/doc/route.html) +RTM_DELLINK can be sent by the kernel, but RTM_GETLINK cannot. +There was likely a mixup in the original implementation, so this +change replaces handling for RTM_GETLINK with RTM_DELLINK. + +Testing and Verification Instructions: + 1. Use ip-link to add and remove a VLAN interface and verify + that mDNSResponder handles the deleted link. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 798ab10..a8a57df 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1163,7 +1163,7 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change + #endif + + // Process the NetLink message +- if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK) ++ if (pNLMsg->nlmsg_type == RTM_DELLINK || pNLMsg->nlmsg_type == RTM_NEWLINK) + AddInterfaceIndexToList(changedInterfaces, ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index); + else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR) + AddInterfaceIndexToList(changedInterfaces, ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index); +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch new file mode 100644 index 000000000..362d69768 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch @@ -0,0 +1,45 @@ +From 38cff19781f81586926b02f0fd1cb36c040395e0 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Thu, 10 Aug 2017 08:21:53 -0500 +Subject: [PATCH 09/11] Fix possible NULL dereference + +Fixes a possible NULL dereference if memory for +the PosixNetworkInterface could not be allocated. +Other logic seems to prevent dereferencing this +variable if NULL, but this instance seems to have +been overlooked. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index a8a57df..3243ed4 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -951,12 +951,15 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct ifi_info *const ifi) + + // If interface is a direct link, address record will be marked as kDNSRecordTypeKnownUnique + // and skip the probe phase of the probe/announce packet sequence. +- intf->coreIntf.DirectLink = mDNSfalse; ++ if (err == 0) ++ { ++ intf->coreIntf.DirectLink = mDNSfalse; + #ifdef DIRECTLINK_INTERFACE_NAME +- if (strcmp(intfName, STRINGIFY(DIRECTLINK_INTERFACE_NAME)) == 0) +- intf->coreIntf.DirectLink = mDNStrue; ++ if (strcmp(intfName, STRINGIFY(DIRECTLINK_INTERFACE_NAME)) == 0) ++ intf->coreIntf.DirectLink = mDNStrue; + #endif +- intf->coreIntf.SupportsUnicastMDNSResponse = mDNStrue; ++ intf->coreIntf.SupportsUnicastMDNSResponse = mDNStrue; ++ } + + // The interface is all ready to go, let's register it with the mDNS core. + if (err == 0) +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch new file mode 100644 index 000000000..b9b015727 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch @@ -0,0 +1,62 @@ +From 382b3b924e43abd1bdc5792918161d0922666691 Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Thu, 10 Aug 2017 08:27:32 -0500 +Subject: [PATCH 10/11] Handle errors from socket calls + +Adds handling for socket() or read() returning a +negative value (indicating an error has occurred). + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 3243ed4..84af26b 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -1129,7 +1129,7 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change + // Read through the messages on sd and if any indicate that any interface records should + // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0. + { +- ssize_t readCount; ++ ssize_t readVal, readCount; + char buff[4096]; + struct nlmsghdr *pNLMsg = (struct nlmsghdr*) buff; + +@@ -1138,7 +1138,10 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change + // enough to hold all pending data and so avoid message fragmentation. + // (Note that FIONREAD is not supported on AF_NETLINK.) + +- readCount = read(sd, buff, sizeof buff); ++ readVal = read(sd, buff, sizeof buff); ++ if (readVal < 0) return; ++ readCount = readVal; ++ + while (1) + { + // Make sure we've got an entire nlmsghdr in the buffer, and payload, too. +@@ -1154,7 +1157,9 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change + pNLMsg = (struct nlmsghdr*) buff; + + // read more data +- readCount += read(sd, buff + readCount, sizeof buff - readCount); ++ readVal = read(sd, buff + readCount, sizeof buff - readCount); ++ if (readVal < 0) return; ++ readCount += readVal; + continue; // spin around and revalidate with new readCount + } + else +@@ -1429,6 +1434,7 @@ mDNSlocal mDNSBool mDNSPlatformInit_CanReceiveUnicast(void) + int err; + int s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); + struct sockaddr_in s5353; ++ if (s < 0) return mDNSfalse; + s5353.sin_family = AF_INET; + s5353.sin_port = MulticastDNSPort.NotAnInteger; + s5353.sin_addr.s_addr = 0; +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch new file mode 100644 index 000000000..d64fb35db --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch @@ -0,0 +1,51 @@ +From 19de26db69408f02241e232b39224589a0f630df Mon Sep 17 00:00:00 2001 +From: Nate Karstens +Date: Thu, 10 Aug 2017 08:46:03 -0500 +Subject: [PATCH 11/11] Change a dynamic allocation to file-scope variable + +Changes a variable from being dynamically-allocated to being +statically-allocated at the file scope. Addresses a Coverity +issue where it appeared that the memory was being leaked. + +Upstream-Status: Submitted [dts@apple.com] + +Signed-off-by: Nate Karstens +--- + mDNSPosix/mDNSPosix.c | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 84af26b..b7795ed 100644 +--- a/mDNSPosix/mDNSPosix.c ++++ b/mDNSPosix/mDNSPosix.c +@@ -91,6 +91,7 @@ static sigset_t gEventSignalSet; // Signals which event loop list + static sigset_t gEventSignals; // Signals which were received while inside loop + + static PosixNetworkInterface *gRecentInterfaces; ++static IfChangeRec gChgRec; + + // *************************************************************************** + // Globals (for debugging) +@@ -1412,16 +1413,11 @@ cleanup: + mDNSlocal mStatus WatchForInterfaceChange(mDNS *const m) + { + mStatus err; +- IfChangeRec *pChgRec; + +- pChgRec = (IfChangeRec*) mDNSPlatformMemAllocate(sizeof *pChgRec); +- if (pChgRec == NULL) +- return mStatus_NoMemoryErr; +- +- pChgRec->mDNS = m; +- err = OpenIfNotifySocket(&pChgRec->NotifySD); ++ gChgRec.mDNS = m; ++ err = OpenIfNotifySocket(&gChgRec.NotifySD); + if (err == 0) +- err = mDNSPosixAddFDToEventLoop(pChgRec->NotifySD, InterfaceChangeCallback, pChgRec); ++ err = mDNSPosixAddFDToEventLoop(gChgRec.NotifySD, InterfaceChangeCallback, &gChgRec); + + return err; + } +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.260.1.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.260.1.bb deleted file mode 100644 index 017894531..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.260.1.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol" -DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks." -HOMEPAGE = "http://developer.apple.com/networking/bonjour/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf" - -COMPATIBLE_HOST_libc-musl = 'null' - -RPROVIDES_${PN} += "libdns_sd.so" - -SRC_URI = "https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \ - file://build.patch;patchdir=.. \ - file://mdns.service \ - " -SRC_URI[md5sum] = "aeb92d838a4aa2402ef128ed501484eb" -SRC_URI[sha256sum] = "3cc71582e8eee469c2de8ecae1d769e7f32b3468dfb7f2ca77f1dee1f30a7d1e" - -PARALLEL_MAKE = "" - -S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix" - -EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'" - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_install () { - install -d ${D}${sbindir} - install -m 0755 build/prod/mdnsd ${D}${sbindir} - - install -d ${D}${libdir} - cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1 - chmod 0644 ${D}${libdir}/libdns_sd.so.1 - ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so - - install -d ${D}${includedir} - install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir} - - install -d ${D}${mandir}/man8 - install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8 - - install -d ${D}${bindir} - install -m 0755 ../Clients/build/dns-sd ${D}${bindir} - - install -d ${D}${libdir} - oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir} - ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2 - - install -d ${D}${sysconfdir} - install -m 0644 nss_mdns.conf ${D}${sysconfdir} - - install -d ${D}${mandir}/man5 - install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5 - - install -d ${D}${mandir}/man8 - install -m 0644 libnss_mdns.8 ${D}${mandir}/man8 - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/ -} - -pkg_postinst_${PN} () { - sed -e '/^hosts:/s/\s*\//' \ - -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 mdns\3\4\5/' \ - -i $D/etc/nsswitch.conf -} - -pkg_prerm_${PN} () { - sed -e '/^hosts:/s/\s*\//' \ - -e '/^hosts:/s/\s*mdns//' \ - -i $D/etc/nsswitch.conf -} - -inherit systemd - -SYSTEMD_SERVICE_${PN} = "mdns.service" - -FILES_${PN} += "${systemd_unitdir}/system/mdns.service" -FILES_${PN} += "${libdir}/libdns_sd.so.1 \ - ${bindir}/dns-sd \ - ${libdir}/libnss_mdns-0.2.so \ - ${sysconfdir}/nss_mdns.conf" - -FILES_${PN}-dev += "${libdir}/libdns_sd.so \ - ${includedir}/dns_sd.h " - -FILES_${PN}-man += "${mandir}/man8/mdnsd.8 \ - ${mandir}/man5/nss_mdns.conf.5 \ - ${mandir}/man8/libnss_mdns.8" - -PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg" diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb new file mode 100644 index 000000000..0f8dc92df --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb @@ -0,0 +1,101 @@ +SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol" +DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks." +HOMEPAGE = "http://developer.apple.com/networking/bonjour/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf" + +COMPATIBLE_HOST_libc-musl = 'null' + +RPROVIDES_${PN} += "libdns_sd.so" + +SRC_URI = "https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \ + file://build.patch;patchdir=.. \ + file://mdns.service \ + file://0001-Create-subroutine-for-cleaning-recent-interfaces.patch;patchdir=.. \ + file://0002-Create-subroutine-for-tearing-down-an-interface.patch;patchdir=.. \ + file://0003-Track-interface-socket-family.patch;patchdir=.. \ + file://0004-Use-list-for-changed-interfaces.patch;patchdir=.. \ + file://0005-Handle-noisy-netlink-sockets.patch;patchdir=.. \ + file://0006-Remove-unneeded-function.patch;patchdir=.. \ + file://0007-Indicate-loopback-interface-to-mDNS-core.patch;patchdir=.. \ + file://0008-Mark-deleted-interfaces-as-being-changed.patch;patchdir=.. \ + file://0009-Fix-possible-NULL-dereference.patch;patchdir=.. \ + file://0010-Handle-errors-from-socket-calls.patch;patchdir=.. \ + file://0011-Change-a-dynamic-allocation-to-file-scope-variable.patch;patchdir=.. \ + " +SRC_URI[md5sum] = "4e139a8e1133349006b0436291c9e29b" +SRC_URI[sha256sum] = "2cef0ee9900504c5277fb81de0a28e6c0835fe482ebecf1067c6864f5c4eda74" + +PARALLEL_MAKE = "" + +S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix" + +EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install () { + install -d ${D}${sbindir} + install -m 0755 build/prod/mdnsd ${D}${sbindir} + + install -d ${D}${libdir} + cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1 + chmod 0644 ${D}${libdir}/libdns_sd.so.1 + ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so + + install -d ${D}${includedir} + install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir} + + install -d ${D}${mandir}/man8 + install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8 + + install -d ${D}${bindir} + install -m 0755 ../Clients/build/dns-sd ${D}${bindir} + + install -d ${D}${libdir} + oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir} + ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2 + + install -d ${D}${sysconfdir} + install -m 0644 nss_mdns.conf ${D}${sysconfdir} + + install -d ${D}${mandir}/man5 + install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5 + + install -d ${D}${mandir}/man8 + install -m 0644 libnss_mdns.8 ${D}${mandir}/man8 + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/ +} + +pkg_postinst_${PN} () { + sed -e '/^hosts:/s/\s*\//' \ + -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 mdns\3\4\5/' \ + -i $D/etc/nsswitch.conf +} + +pkg_prerm_${PN} () { + sed -e '/^hosts:/s/\s*\//' \ + -e '/^hosts:/s/\s*mdns//' \ + -i $D/etc/nsswitch.conf +} + +inherit systemd + +SYSTEMD_SERVICE_${PN} = "mdns.service" + +FILES_${PN} += "${systemd_unitdir}/system/mdns.service" +FILES_${PN} += "${libdir}/libdns_sd.so.1 \ + ${bindir}/dns-sd \ + ${libdir}/libnss_mdns-0.2.so \ + ${sysconfdir}/nss_mdns.conf" + +FILES_${PN}-dev += "${libdir}/libdns_sd.so \ + ${includedir}/dns_sd.h " + +FILES_${PN}-man += "${mandir}/man8/mdnsd.8 \ + ${mandir}/man5/nss_mdns.conf.5 \ + ${mandir}/man8/libnss_mdns.8" + +PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg" diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch new file mode 100644 index 000000000..6cb9588eb --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch @@ -0,0 +1,170 @@ +From aea8c2f0bf8004c8da8ca9acb04ab07798cd8068 Mon Sep 17 00:00:00 2001 +From: Hugh McMaster +Date: Wed, 3 Apr 2019 21:36:03 +1100 +Subject: [PATCH] Add pkg-config support for building applications and + sub-agents + +The netsnmp package should be used when building Net-SNMP applications. +The netsnmp-agent package should be used when building Net-SNMP subagents. + +Signed-off-by: Hugh McMaster +[ bvanassche: edited makefile code and .pc files; added ./configure changes ] + + +Upstream-Status: Backport +https://sourceforge.net/p/net-snmp/patches/_discuss/thread/a0d66e91dd/f940/attachment/0001-Add-pkg-config-support-for-building-applications-and.patch + +--- + Makefile.in | 2 ++ + Makefile.rules | 30 ++++++++++++++++++++++++++---- + configure | 4 ++++ + configure.ac | 1 + + netsnmp-agent.pc.in | 12 ++++++++++++ + netsnmp.pc.in | 12 ++++++++++++ + 6 files changed, 57 insertions(+), 4 deletions(-) + create mode 100644 netsnmp-agent.pc.in + create mode 100644 netsnmp.pc.in + +diff --git a/Makefile.in b/Makefile.in +index 9dbdde1353b1..ec972636c279 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -35,6 +35,7 @@ INSTALLBUILTHEADERS=include/net-snmp/net-snmp-config.h + INSTALLBUILTINCLUDEHEADERS=@FEATUREHEADERS@ + INSTALLBINSCRIPTS=net-snmp-config net-snmp-create-v3-user + INSTALLUCDHEADERS=ucd-snmp-config.h version.h mib_module_config.h ++INSTALL_PKGCONFIG=netsnmp.pc netsnmp-agent.pc + + # + # other install rules. +@@ -275,6 +276,7 @@ configclean: makefileclean + libtool include/net-snmp/net-snmp-config.h \ + net-snmp-config net-snmp-config-x configure-summary \ + net-snmp-create-v3-user net-snmp-create-v3-user-x ++ rm -f *.pc + rm -f mibs/.index + rm -f include/net-snmp/agent/mib_module_config.h \ + include/net-snmp/agent/agent_module_config.h \ +diff --git a/Makefile.rules b/Makefile.rules +index 9e9e9009e5d2..e714f91e725e 100644 +--- a/Makefile.rules ++++ b/Makefile.rules +@@ -85,12 +85,14 @@ subdirs: + # installlibs handles local, ucd and subdir libs. need to do subdir libs + # before bins, sinze those libs may be needed for successful linking + install: installlocalheaders @installucdheaders@ \ +- installlibs \ +- installlocalbin installlocalsbin \ ++ installlibs install_pkgconfig \ ++ installlocalbin installlocalsbin \ + installsubdirs $(OTHERINSTALL) + +-uninstall: uninstalllibs uninstallbin uninstallsbin uninstallheaders \ +- uninstallsubdirs $(OTHERUNINSTALL) ++uninstall: uninstalllibs uninstall_pkgconfig \ ++ uninstallbin uninstallsbin \ ++ uninstallheaders \ ++ uninstallsubdirs $(OTHERUNINSTALL) + + installprogs: installbin installsbin + +@@ -287,6 +289,26 @@ uninstalllibs: + done \ + fi + ++# ++# pkg-config files ++# ++install_pkgconfig: $(INSTALL_PKGCONFIG) ++ @if test "x$(INSTALL_PKGCONFIG)" != x; then \ ++ $(SHELL) $(top_srcdir)/mkinstalldirs $(INSTALL_PREFIX)$(libdir)/pkgconfig; \ ++ for i in $(INSTALL_PKGCONFIG); do \ ++ echo "installing $$i in $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \ ++ done; \ ++ $(INSTALL) $(INSTALL_PKGCONFIG) $(INSTALL_PREFIX)$(libdir)/pkgconfig; \ ++ fi ++ ++uninstall_pkgconfig: ++ @if test "x$(INSTALL_PKGCONFIG)" != x; then \ ++ for i in $(INSTALL_PKGCONFIG); do \ ++ echo "removing $$i from $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \ ++ $(UNINSTALL) $(INSTALL_PREFIX)$(libdir)/pkgconfig/$$i;\ ++ done; \ ++ fi ++ + # + # normal bin binaries + # +diff --git a/configure b/configure +index 5ec44f5ce082..5103a4dc9d88 100755 +--- a/configure ++++ b/configure +@@ -30422,6 +30422,8 @@ ac_config_files="$ac_config_files net-snmp-config:net-snmp-config.in" + + ac_config_files="$ac_config_files net-snmp-create-v3-user:net-snmp-create-v3-user.in" + ++ac_config_files="$ac_config_files netsnmp.pc:netsnmp.pc.in netsnmp-agent.pc:netsnmp-agent.pc.in" ++ + ac_config_files="$ac_config_files dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in" + + ac_config_files="$ac_config_files local/snmpconf" +@@ -31445,6 +31447,8 @@ do + "mibs/Makefile") CONFIG_FILES="$CONFIG_FILES mibs/Makefile:Makefile.top:mibs/Makefile.in:Makefile.rules" ;; + "net-snmp-config") CONFIG_FILES="$CONFIG_FILES net-snmp-config:net-snmp-config.in" ;; + "net-snmp-create-v3-user") CONFIG_FILES="$CONFIG_FILES net-snmp-create-v3-user:net-snmp-create-v3-user.in" ;; ++ "netsnmp.pc") CONFIG_FILES="$CONFIG_FILES netsnmp.pc:netsnmp.pc.in" ;; ++ "netsnmp-agent.pc") CONFIG_FILES="$CONFIG_FILES netsnmp-agent.pc:netsnmp-agent.pc.in" ;; + "dist/generation-scripts/gen-variables") CONFIG_FILES="$CONFIG_FILES dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in" ;; + "local/snmpconf") CONFIG_FILES="$CONFIG_FILES local/snmpconf" ;; + "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; +diff --git a/configure.ac b/configure.ac +index 4c4dce09d488..d62a02da5d88 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -136,6 +136,7 @@ AC_CONFIG_FILES([net-snmp-config:net-snmp-config.in], + [chmod +x net-snmp-config]) + AC_CONFIG_FILES([net-snmp-create-v3-user:net-snmp-create-v3-user.in], + [chmod +x net-snmp-create-v3-user]) ++AC_CONFIG_FILES([netsnmp.pc:netsnmp.pc.in netsnmp-agent.pc:netsnmp-agent.pc.in]) + AC_CONFIG_FILES([dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in]) + AC_CONFIG_FILES([local/snmpconf]) + +diff --git a/netsnmp-agent.pc.in b/netsnmp-agent.pc.in +new file mode 100644 +index 000000000000..3a1c77bbf814 +--- /dev/null ++++ b/netsnmp-agent.pc.in +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++includedir=@includedir@ ++libdir=@libdir@ ++ ++Name: netsnmp-agent (@PACKAGE_NAME@) ++Description: SNMP (Simple Network Management Protocol) sub-agent SDK. ++URL: http://www.net-snmp.org ++Version: @PACKAGE_VERSION@ ++Cflags: -I${includedir} ++Libs: -L${libdir} -lnetsnmpmibs -lnetsnmpagent -lnetsnmp ++Libs.private: @LDFLAGS@ @LMIBLIBS@ @LAGENTLIBS@ @PERLLDOPTS_FOR_APPS@ @LNETSNMPLIBS@ @LIBS@ +diff --git a/netsnmp.pc.in b/netsnmp.pc.in +new file mode 100644 +index 000000000000..0a1f5785a4f4 +--- /dev/null ++++ b/netsnmp.pc.in +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++includedir=@includedir@ ++libdir=@libdir@ ++ ++Name: netsnmp (@PACKAGE_NAME@) ++Description: SNMP (Simple Network Management Protocol) daemon and applications. ++URL: http://www.net-snmp.org ++Version: @PACKAGE_VERSION@ ++Cflags: -I${includedir} ++Libs: -L${libdir} -lnetsnmp ++Libs.private: @LDFLAGS@ @LNETSNMPLIBS@ @LIBS@ @PERLLDOPTS_FOR_APPS@ +-- +2.21.0.196.g041f5ea1cf98 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb index 192b6b506..5466649a8 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb @@ -27,6 +27,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \ file://reproducibility-have-printcap.patch \ file://reproducibility-accept-configure-options-from-env.patch \ file://0001-net-snmp-fix-compile-error-disable-des.patch \ + file://0001-Add-pkg-config-support-for-building-applications-and.patch \ " SRC_URI[md5sum] = "63bfc65fbb86cdb616598df1aff6458a" SRC_URI[sha256sum] = "b2fc3500840ebe532734c4786b0da4ef0a5f67e51ef4c86b3345d697e4976adf" @@ -34,7 +35,7 @@ SRC_URI[sha256sum] = "b2fc3500840ebe532734c4786b0da4ef0a5f67e51ef4c86b3345d697e4 UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/net-snmp/files/net-snmp/" UPSTREAM_CHECK_REGEX = "/net-snmp/(?P\d+(\.\d+)+)/" -inherit autotools-brokensep update-rc.d siteinfo systemd pkgconfig perlnative ptest +inherit autotools-brokensep update-rc.d siteinfo systemd pkgconfig perlnative ptest multilib_script multilib_header EXTRA_OEMAKE = "INSTALL_PREFIX=${D} OTHERLDFLAGS='${LDFLAGS}' HOST_CPPFLAGS='${BUILD_CPPFLAGS}'" @@ -123,11 +124,14 @@ do_install_append() { -i ${D}${bindir}/net-snmp-create-v3-user sed -e 's@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g' \ -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ -e 's@[^ ]*--sysroot=[^ "]*@@g' \ -e 's@[^ ]*--with-libtool-sysroot=[^ "]*@@g' \ -e 's@[^ ]*--with-install-prefix=[^ "]*@@g' \ -e 's@[^ ]*PKG_CONFIG_PATH=[^ "]*@@g' \ -e 's@[^ ]*PKG_CONFIG_LIBDIR=[^ "]*@@g' \ + -e 's@-L${STAGING_DIR_HOST}${libdir}@@g' \ + -e 's@-I${STAGING_DIR_HOST}${includedir}@@g' \ -i ${D}${bindir}/net-snmp-config if [ "${HAS_PERL}" = "1" ]; then @@ -135,6 +139,8 @@ do_install_append() { -e "s@^NSC_LIBDIR=-L.*@NSC_LIBDIR=-L\$\{libdir\}@g" \ -i ${D}${bindir}/net-snmp-config fi + + oe_multilib_header net-snmp/net-snmp-config.h } do_install_ptest() { @@ -267,3 +273,5 @@ RREPLACES_${PN}-server-snmptrapd += "${PN}-server-snmptrapd-systemd" RCONFLICTS_${PN}-server-snmptrapd += "${PN}-server-snmptrapd-systemd" LEAD_SONAME = "libnetsnmp.so" + +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/net-snmp-config" diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch new file mode 100644 index 000000000..40b082e77 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch @@ -0,0 +1,26 @@ +From a64e52f9b58519aa2b8a1073fa6c04da04933428 Mon Sep 17 00:00:00 2001 +From: Jonathan Richardson +Date: Wed, 26 Feb 2020 12:16:38 -0800 +Subject: [PATCH] Fix musl libc build issue + +clif.h should include sys/types.h for the definition of pid_t. It fails +to compile when using musl libc. + +Signed-off-by: Jonathan Richardson + +--- + include/clif.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/clif.h b/include/clif.h +index 648eedf..92f4fd8 100644 +--- a/include/clif.h ++++ b/include/clif.h +@@ -32,6 +32,7 @@ + #ifndef CLIF_H + #define CLIF_H + ++#include + #include + #include "clif_sock.h" + diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch new file mode 100644 index 000000000..b58fc104d --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch @@ -0,0 +1,29 @@ +From eb14aa66dc0384071af401cced8c02993b55502e Mon Sep 17 00:00:00 2001 +From: Jonathan Richardson +Date: Wed, 26 Feb 2020 15:54:51 -0800 +Subject: [PATCH] autotools: Add include path to generated version.h + +When the build dir isn't the same as source dir it fails to compile +because the generated version.h from AC_CONFIG_FILES is always in build +dir. Include the path to it in AM_CPPFLAGS. + +Signed-off-by: Jonathan Richardson + +--- + Makefile.am | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index 0fb9bb0..2952019 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -14,6 +14,9 @@ endif + AM_CPPFLAGS = -I${srcdir}/include -DSYSCONFDIR="\"${sysconfdir}\"" \ + -D_FORTIFY_SOURCE=2 + ++# Required for the generated version.h when build dir is not the same as srcdir. ++AM_CPPFLAGS += -I${top_builddir}/include ++ + ACLOCAL_AMFLAGS = -I m4 + + parse_cli.o: CFLAGS+=-U_FORTIFY_SOURCE -Wno-error diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch new file mode 100644 index 000000000..a26a5299a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch @@ -0,0 +1,57 @@ +From dc3f2250908587710f109c80ddf8a94f0bc40b82 Mon Sep 17 00:00:00 2001 +From: Jonathan Richardson +Date: Fri, 6 Apr 2018 10:49:04 -0700 +Subject: [PATCH] autotools: Add option to disable installation of systemd conf + files + +Add option to configure.ac to enable or disable install of systemd conf +files. If --with-systemdsystemunitdir is passed to configure then the +files will be installed to the provided directory. If the option isn't +provided then the value is determined from the systemd pkgconfig file, +if found in PKG_CONFIG_PATH. + +This change is required because Makefile.am always installed the files +to a hard coded path that couldn't be changed. + + +Signed-off-by: Jonathan Richardson +--- + Makefile.am | 3 ++- + configure.ac | 9 +++++++++ + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 292c0fd..0fb9bb0 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -138,8 +138,9 @@ install-data-hook: installdirs-local + pkgconfigdir = ${libdir}/pkgconfig + pkgconfig_DATA = lldpad.pc liblldp_clif.pc + +-systemdsystemunitdir = $(prefix)/lib/systemd/system ++if HAVE_SYSTEMD + dist_systemdsystemunit_DATA = lldpad.service lldpad.socket ++endif + + bashcompletiondir = $(sysconfdir)/bash_completion.d + dist_bashcompletion_DATA = contrib/bash_completion/lldpad contrib/bash_completion/lldptool +diff --git a/configure.ac b/configure.ac +index 0667446..f75f433 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -95,6 +95,15 @@ AC_TYPE_UINT16_T + AC_TYPE_UINT32_T + AC_TYPE_UINT8_T + ++# Support for systemd unit files. ++AC_ARG_WITH([systemdsystemunitdir], ++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), ++ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) ++if test "x$with_systemdsystemunitdir" != xno; then ++ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) ++fi ++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) ++ + AC_CONFIG_FILES([Makefile include/version.h lldpad.spec lldpad.pc liblldp_clif.pc]) + AC_CONFIG_MACRO_DIR([m4]) + AC_OUTPUT diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb b/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb new file mode 100644 index 000000000..5fbf0645e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb @@ -0,0 +1,33 @@ +SUMMARY = "Open-LLDP" +DESCRIPTION = "Link Layer Discovery Protocol for Linux that includes support for DCBX" +HOMEPAGE = "http://open-lldp.org/start" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162" + +S = "${WORKDIR}/git" + +inherit pkgconfig autotools +inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} + +DEPENDS = "libnl libconfig readline" + +SRCREV = "36d729de7ce5b56cf061d94d610cf0510154820c" +SRC_URI = "git://github.com/intel/openlldp.git;protocol=https;branch=master \ + file://0001-Fix-musl-libc-build-issue.patch \ + file://0001-autotools-Add-include-path-to-generated-version.h.patch \ + file://0001-autotools-Add-option-to-disable-installation-of-syst.patch \ + " + +# Makefile.am adds -Werror to AM_CFLAGS. There are warnings so disable it. +TARGET_CFLAGS += "-Wno-error" + +# Enable install of systemd conf files. +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_system_unitdir}', '', d)}" + +SYSTEMD_SERVICE_${PN} = "lldpad.service lldpad.socket" + +# To enable service at boot set to enable in local.conf. +SYSTEMD_AUTO_ENABLE ?= "disable" + +RRECOMMENDS_${PN} = "iproute2-tc" diff --git a/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb b/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb index 322158146..53a79af76 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb @@ -9,6 +9,8 @@ SECTION = "net" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +inherit perlnative + SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \ file://options.pptp \ " diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc index dfd6aa7eb..134a33d47 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc +++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc @@ -40,7 +40,7 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap" PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam" -inherit autotools update-rc.d useradd systemd pkgconfig +inherit autotools update-rc.d useradd systemd pkgconfig multilib_header SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service" @@ -106,6 +106,9 @@ do_install () { sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/* ${D}${sysconfdir}/default/watchquagga sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/* ${D}${sysconfdir}/default/volatiles/volatiles.03_quagga sed -i 's!^PATH=.*!PATH=${base_sbindir}:${sbindir}:${base_bindir}:${bindir}!' ${D}${sysconfdir}/init.d/* + sed -i 's!--with-libtool-sysroot=[^ "]*!!' ${D}${includedir}/quagga/version.h + + oe_multilib_header quagga/version.h # For PAM for feature in ${DISTRO_FEATURES}; do @@ -116,9 +119,9 @@ do_install () { done if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /var/run/quagga 0755 quagga quagga -" \ - > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + install -d ${D}${nonarch_libdir}/tmpfiles.d + echo "d /run/quagga 0755 quagga quagga -" \ + > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf fi # Remove sysinit script if sysvinit is not in DISTRO_FEATURES @@ -166,6 +169,8 @@ FILES_${PN}-ospfclient = "${sbindir}/ospfclient ${libdir}/libospfapiclient.so.* FILES_${PN}-watchquagga = "${sbindir}/watchquagga ${sysconfdir}/default/watchquagga \ ${sysconfdir}/init.d/watchquagga" +FILES_${PN} += "${nonarch_libdir}/tmpfiles.d/*.conf" + # Indicate that the default files are configuration files CONFFILES_${PN} = "${sysconfdir}/default/quagga \ ${sysconfdir}/quagga/bgpd.conf \ diff --git a/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb b/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb index a5a5605da..4f8e4d428 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb @@ -8,6 +8,8 @@ SRC_URI = "git://github.com/sctplab/usrsctp;protocol=https;branch=master \ S = "${WORKDIR}/git" +UPSTREAM_CHECK_COMMITS = "1" + inherit autotools pkgconfig DEPENDS += "openssl" diff --git a/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch b/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch index e8be45e6b..eb58389c3 100644 --- a/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch +++ b/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch @@ -8,24 +8,17 @@ which OE uses to pass tweaks Signed-off-by: Khem Raj --- - Makefile | 15 +++++++-------- - extensions/Makefile | 5 ++++- - 2 files changed, 11 insertions(+), 9 deletions(-) + Makefile | 10 ++++------ + extensions/Makefile | 4 ++++ + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile -index 7bead0d..336db6b 100644 +index 62ebdf2..cd06813 100644 --- a/Makefile +++ b/Makefile -@@ -7,15 +7,13 @@ LIBDIR:=$(PREFIX)/lib - BINDIR:=$(PREFIX)/sbin - MANDIR:=$(PREFIX)/man - man8dir=$(MANDIR)/man8 --INITDIR:=/etc/rc.d/init.d -+INITDIR:=/etc/init.d - SYSCONFIGDIR:=/etc/sysconfig - DESTDIR:= +@@ -12,9 +12,7 @@ DESTDIR:= - MANS = arptables.8 arptables-save.8 arptables-restore.8 + MANS = arptables-legacy.8 arptables-save.8 arptables-restore.8 -COPT_FLAGS:=-O2 -CFLAGS:=$(COPT_FLAGS) -Wall -Wunused -I$(KERNEL_DIR)/include/ -Iinclude/ -DARPTABLES_VERSION=\"$(ARPTABLES_VERSION)\" #-g -DDEBUG #-pg # -DARPTC_DEBUG @@ -34,8 +27,8 @@ index 7bead0d..336db6b 100644 ifndef ARPT_LIBDIR ARPT_LIBDIR:=$(LIBDIR)/arptables endif -@@ -25,13 +23,13 @@ include extensions/Makefile - all: arptables libarptc/libarptc.a +@@ -24,13 +22,13 @@ include extensions/Makefile + all: arptables-legacy libarptc/libarptc.a arptables.o: arptables.c - $(CC) $(CFLAGS) -c -o $@ $< @@ -51,29 +44,18 @@ index 7bead0d..336db6b 100644 libarptc/libarptc.a: libarptc/libarptc.o $(AR) rcs $@ $< -@@ -53,7 +51,8 @@ scripts: arptables-save arptables-restore arptables.sysv - install -m 0755 arptables-restore_ $(DESTDIR)$(BINDIR)/arptables-restore - cat arptables.sysv | sed 's/__EXEC_PATH__/$(tmp1)/g' | sed 's/__SYSCONFIG__/$(tmp2)/g' > arptables.sysv_ - if [ "$(DESTDIR)" != "" ]; then mkdir -p $(DESTDIR)$(INITDIR); fi -- if test -d $(DESTDIR)$(INITDIR); then install -m 0755 arptables.sysv_ $(DESTDIR)$(INITDIR)/arptables; fi -+ install -d $(DESTDIR)$(INITDIR) -+ install -m 0755 arptables.sysv_ $(DESTDIR)$(INITDIR)/arptables - rm -f arptables-save_ arptables-restore_ arptables.sysv_ - - .PHONY: install-man diff --git a/extensions/Makefile b/extensions/Makefile -index 0189cc9..b046425 100644 +index 0189cc9..e8af782 100644 --- a/extensions/Makefile +++ b/extensions/Makefile -@@ -4,4 +4,7 @@ EXT_FUNC+=standard mangle CLASSIFY MARK - EXT_OBJS+=$(foreach T,$(EXT_FUNC), extensions/arpt_$(T).o) +@@ -5,3 +5,7 @@ EXT_OBJS+=$(foreach T,$(EXT_FUNC), extensions/arpt_$(T).o) extensions/ebt_%.o: extensions/arpt_%.c include/arptables.h include/arptables_common.h -- $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< + $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< + $(CC) $(CFLAGS) $(ARPCFLAGS) $(PROGSPECS) -c -o $@ $< + +extensions/arpt_%.o: extensions/arpt_%.c include/arptables.h include/arptables_common.h + $(CC) $(CFLAGS) $(ARPCFLAGS) $(PROGSPECS) -c -o $@ $< -- -2.12.1 +2.17.1 diff --git a/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch b/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch deleted file mode 100644 index 24956c4ca..000000000 --- a/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch +++ /dev/null @@ -1,77 +0,0 @@ -Index: arptables-v0.0.3-4/arptables.sysv -=================================================================== ---- arptables-v0.0.3-4.orig/arptables.sysv 2010-03-22 16:28:03.000000000 +0300 -+++ arptables-v0.0.3-4/arptables.sysv 2010-03-22 16:27:51.000000000 +0300 -@@ -12,10 +12,10 @@ - # config: __SYSCONFIG__/arptables - - source /etc/init.d/functions --source /etc/sysconfig/network -+# source /etc/sysconfig/network - - # Check that networking is up. --[ ${NETWORKING} = "no" ] && exit 0 -+# [ ${NETWORKING} = "no" ] && exit 0 - - [ -x __EXEC_PATH__/arptables ] || exit 1 - [ -x __EXEC_PATH__/arptables-save ] || exit 1 -@@ -28,32 +28,30 @@ - desc="Arp filtering" - - start() { -- echo -n $"Starting $desc ($prog): " -+ echo -n "Starting $desc ($prog): " - __EXEC_PATH__/arptables-restore < __SYSCONFIG__/arptables || RETVAL=1 - - if [ $RETVAL -eq 0 ]; then -- success "$prog startup" -- rm -f /var/lock/subsys/$prog -+ echo "$prog ok" -+ touch /var/lock/subsys/$prog - else -- failure "$prog startup" -+ echo "$prog failed" - fi - -- echo - return $RETVAL - } - - stop() { -- echo -n $"Stopping $desc ($prog): " -+ echo -n "Stopping $desc ($prog): " - __EXEC_PATH__/arptables-restore < /dev/null || RETVAL=1 - - if [ $RETVAL -eq 0 ]; then -- success "$prog shutdown" -- rm -f %{_localstatedir}/lock/subsys/$prog -+ echo "$prog stopped" -+ rm -f /var/lock/subsys/$prog - else -- failure "$prog shutdown" -+ echo "$prog failed to stop" - fi - -- echo - return $RETVAL - } - -@@ -63,15 +61,14 @@ - } - - save() { -- echo -n $"Saving $desc ($prog): " -+ echo -n "Saving $desc ($prog): " - __EXEC_PATH__/arptables-save > __SYSCONFIG__/arptables || RETVAL=1 - - if [ $RETVAL -eq 0 ]; then -- success "$prog saved" -+ echo "$prog saved" - else -- failure "$prog saved" -+ echo "$prog is not saved" - fi -- echo - } - - case "$1" in diff --git a/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch b/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch deleted file mode 100644 index f332658bc..000000000 --- a/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cd312bc0e3686404428878d23b8888cba09a20e1 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Thu, 18 Sep 2014 19:46:58 -0700 -Subject: [PATCH] arptables.sysv: remove bashism - -Use "." to replace of "source", and change /bin/bash to /bin/sh, the -echo $"foo" works well in busybox. - -Upstream-Status: Pending - -Signed-off-by: Robert Yang ---- - arptables.sysv | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arptables.sysv b/arptables.sysv -index 7a90bd2..7710376 100644 ---- a/arptables.sysv -+++ b/arptables.sysv -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - # - # init script for arptables - # -@@ -11,7 +11,7 @@ - # - # config: __SYSCONFIG__/arptables - --source /etc/init.d/functions -+. /etc/init.d/functions - # source /etc/sysconfig/network - - # Check that networking is up. --- -1.7.9.5 - diff --git a/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb b/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb index cec1d1f77..c02a19944 100644 --- a/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb +++ b/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb @@ -2,15 +2,13 @@ SUMMARY = "Administration tool for arp packet filtering" SECTION = "net" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" -SRCREV = "f4ab8f63f11a72f14687a6646d04ae1bae3fa45f" -PV = "0.0.4+git${SRCPV}" +SRCREV = "efae8949e31f8b2eb6290f377a28384cecaf105a" +PV = "0.0.5+git${SRCPV}" SRC_URI = " \ git://git.netfilter.org/arptables \ file://0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch \ - file://arptables-init-busybox.patch \ file://arptables-arpt-get-target-fix.patch \ - file://arptables-remove-bashism.patch \ file://arptables.service \ " SRC_URI[arptables.md5sum] = "1d4ab05761f063b0751645d8f2b8f8e5" diff --git a/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch b/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch deleted file mode 100644 index 8cadb2bba..000000000 --- a/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch +++ /dev/null @@ -1,112 +0,0 @@ -From 12414304245cce6ef0e8b9547949be5109845353 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Tue, 24 Jul 2018 13:33:33 +0800 -Subject: [PATCH] cmake: Install libcares.pc - -Prepare and install libcares.pc file during cmake build, so libraries -using pkg-config to find libcares will not fail. - -Signed-off-by: Alexey Firago - -update to 1.14.0, fix patch warning - -Signed-off-by: Changqing Li ---- - CMakeLists.txt | 23 +++++++++++++++++++++++ - libcares.pc.cmakein | 20 ++++++++++++++++++++ - 2 files changed, 43 insertions(+) - create mode 100644 libcares.pc.cmakein - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 60a880c..71eaa53 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -193,22 +193,30 @@ ADD_DEFINITIONS(${SYSFLAGS}) - - - # Tell C-Ares about libraries to depend on -+# Also pass these libraries to pkg-config file -+SET(CARES_PRIVATE_LIBS_LIST) - IF (HAVE_LIBRESOLV) - LIST (APPEND CARES_DEPENDENT_LIBS resolv) -+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lresolv") - ENDIF () - IF (HAVE_LIBNSL) - LIST (APPEND CARES_DEPENDENT_LIBS nsl) -+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lnsl") - ENDIF () - IF (HAVE_LIBSOCKET) - LIST (APPEND CARES_DEPENDENT_LIBS socket) -+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lsocket") - ENDIF () - IF (HAVE_LIBRT) - LIST (APPEND CARES_DEPENDENT_LIBS rt) -+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lrt") - ENDIF () - IF (WIN32) - LIST (APPEND CARES_DEPENDENT_LIBS ws2_32) -+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lws2_32") - ENDIF () - -+string (REPLACE ";" " " CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS_LIST}") - - # When checking for symbols, we need to make sure we set the proper - # headers, libraries, and definitions for the detection to work properly -@@ -514,6 +522,15 @@ CONFIGURE_FILE (ares_build.h.cmake ${PROJECT_BINARY_DIR}/ares_build.h) - # Write ares_config.h configuration file. This is used only for the build. - CONFIGURE_FILE (ares_config.h.cmake ${PROJECT_BINARY_DIR}/ares_config.h) - -+# Pass required CFLAGS to pkg-config in case of static library -+IF (CARES_STATIC) -+ SET (CPPFLAG_CARES_STATICLIB "-DCARES_STATICLIB") -+ENDIF() -+ -+# Write ares_config.h configuration file. This is used only for the build. -+CONFIGURE_FILE (libcares.pc.cmakein ${PROJECT_BINARY_DIR}/libcares.pc @ONLY) -+ -+ - - # TRANSFORM_MAKEFILE_INC - # -@@ -664,6 +681,12 @@ IF (CARES_INSTALL) - INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - ENDIF () - -+# pkg-config file -+IF (CARES_INSTALL) -+ SET (PKGCONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig") -+ INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" DESTINATION ${PKGCONFIG_INSTALL_DIR}) -+ENDIF () -+ - # Legacy chain-building variables (provided for compatibility with old code). - # Don't use these, external code should be updated to refer to the aliases directly (e.g., Cares::cares). - SET (CARES_FOUND 1 CACHE INTERNAL "CARES LIBRARY FOUND") -diff --git a/libcares.pc.cmakein b/libcares.pc.cmakein -new file mode 100644 -index 0000000..3579256 ---- /dev/null -+++ b/libcares.pc.cmakein -@@ -0,0 +1,20 @@ -+#*************************************************************************** -+# Project ___ __ _ _ __ ___ ___ -+# / __|____ / _` | '__/ _ \/ __| -+# | (_|_____| (_| | | | __/\__ \ -+# \___| \__,_|_| \___||___/ -+# -+prefix=@CMAKE_INSTALL_PREFIX@ -+exec_prefix=@CMAKE_INSTALL_PREFIX@ -+libdir=@CMAKE_INSTALL_FULL_LIBDIR@ -+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ -+ -+Name: c-ares -+URL: http://daniel.haxx.se/projects/c-ares/ -+Description: asynchronous DNS lookup library -+Version: @VERSION@ -+Requires: -+Requires.private: -+Cflags: -I${includedir} @CPPFLAG_CARES_STATICLIB@ -+Libs: -L${libdir} -lcares -+Libs.private: @CARES_PRIVATE_LIBS@ --- -2.7.4 - diff --git a/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb b/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb deleted file mode 100644 index d437529dc..000000000 --- a/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright (c) 2012-2014 LG Electronics, Inc. -SUMMARY = "c-ares is a C library that resolves names asynchronously." -HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fb997454c8d62aa6a47f07a8cd48b006" - -PV = "1.15.0+gitr${SRCPV}" - -SRC_URI = "\ - git://github.com/c-ares/c-ares.git \ - file://cmake-install-libcares.pc.patch \ -" -SRCREV = "e982924acee7f7313b4baa4ee5ec000c5e373c30" - -UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P\d+_(\d_?)+)" - -S = "${WORKDIR}/git" - -inherit cmake pkgconfig - -PACKAGES =+ "${PN}-utils" - -FILES_${PN}-utils = "${bindir}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils/0001-Bugfix-Modify-the-dir-of-install-exec-hook-and.patch b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils/0001-Bugfix-Modify-the-dir-of-install-exec-hook-and.patch new file mode 100644 index 000000000..233ae40ce --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils/0001-Bugfix-Modify-the-dir-of-install-exec-hook-and.patch @@ -0,0 +1,43 @@ +From f61f5f8a328207867b5c523b1c6bef6aaecaab88 Mon Sep 17 00:00:00 2001 +From: Wang Mingyu +Date: Sat, 15 Feb 2020 16:05:58 +0800 +Subject: [PATCH] Bugfix: Modify the dir of install-exec-hook and + install-data-hook + +Error message: +(cd /sbin && ln -sf mount.cifs mount.smb3) + /yocto/work001/fnst/wangmy/build/tmp/hosttools/install -c mount.cifs +'/yocto/work001/fnst/wangmy/build/tmp/work/core2-64-poky-linux/cifs-utils/6.10-r0/image/sbin' +make install-data-hook +ln: failed to create symbolic link 'mount.smb3': Permission denied + +Upstream-Status: Pending + +Signed-off-by: Wang Mingyu +--- + Makefile.am | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index fe9cd34..e9be6b3 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -119,11 +119,11 @@ endif + SUBDIRS = contrib + + install-exec-hook: +- (cd $(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3) ++ (cd $(DESTDIR)$(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3) + + install-data-hook: +- (cd $(man8dir) && ln -sf mount.cifs.8 mount.smb3.8) ++ (test -n "$(man_MANS)" || exit 0; cd $(DESTDIR)$(man8dir) && ln -sf mount.cifs.8 mount.smb3.8) + + uninstall-hook: +- (cd $(ROOTSBINDIR) && rm -f $(ROOTSBINDIR)/mount.smb3) +- (cd $(man8dir) && rm -f $(man8dir)/mount.smb3.8) ++ (cd $(DESTDIR)$(ROOTSBINDIR) && rm -f $(DESTDIR)$(ROOTSBINDIR)/mount.smb3) ++ (test -n "$(man_MANS)" || exit 0; cd $(DESTDIR)$(man8dir) && rm -f $(DESTDIR)$(man8dir)/mount.smb3.8) +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.10.bb b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.10.bb new file mode 100644 index 000000000..8d82ee454 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.10.bb @@ -0,0 +1,39 @@ +DESCRIPTION = "A a package of utilities for doing and managing mounts of the Linux CIFS filesystem." +HOMEPAGE = "http://wiki.samba.org/index.php/LinuxCIFS_utils" +SECTION = "otherosfs" +LICENSE = "GPLv3 & LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +PV = "6.10" + +SRCREV = "5ff5fc2ecc10353fd39ad508db5c2828fd2d8d9a" +SRC_URI = "git://git.samba.org/cifs-utils.git" + +S = "${WORKDIR}/git" +DEPENDS += "libtalloc" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[cap] = "--with-libcap,--without-libcap,libcap" +# when enabled, it creates ${bindir}/cifscreds and --ignore-fail-on-non-empty in do_install_append is needed +PACKAGECONFIG[cifscreds] = "--enable-cifscreds,--disable-cifscreds,keyutils" +# when enabled, it creates ${sbindir}/cifs.upcall and --ignore-fail-on-non-empty in do_install_append is needed +PACKAGECONFIG[cifsupcall] = "--enable-cifsupcall,--disable-cifsupcall,krb5 libtalloc keyutils" +PACKAGECONFIG[cifsidmap] = "--enable-cifsidmap,--disable-cifsidmap,keyutils samba" +PACKAGECONFIG[cifsacl] = "--enable-cifsacl,--disable-cifsacl,samba" +PACKAGECONFIG[pam] = "--enable-pam --with-pamdir=${base_libdir}/security,--disable-pam,libpam keyutils" + +SRC_URI += " \ + file://0001-Bugfix-Modify-the-dir-of-install-exec-hook-and.patch \ + " + +inherit autotools pkgconfig + +do_install_append() { + # Remove empty /usr/bin and /usr/sbin directories since the mount helper + # is installed to /sbin + rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir} +} + +FILES_${PN} += "${base_libdir}/security" +FILES_${PN}-dbg += "${base_libdir}/security/.debug" +RRECOMMENDS_${PN} = "kernel-module-cifs" diff --git a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.9.bb b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.9.bb deleted file mode 100644 index 51dcb23d1..000000000 --- a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.9.bb +++ /dev/null @@ -1,35 +0,0 @@ -DESCRIPTION = "A a package of utilities for doing and managing mounts of the Linux CIFS filesystem." -HOMEPAGE = "http://wiki.samba.org/index.php/LinuxCIFS_utils" -SECTION = "otherosfs" -LICENSE = "GPLv3 & LGPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -PV = "6.9" - -SRCREV = "9a8c21ad9e4510a83a3a41f7a04f763a4fe9ec09" -SRC_URI = "git://git.samba.org/cifs-utils.git" - -S = "${WORKDIR}/git" -DEPENDS += "libtalloc" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[cap] = "--with-libcap,--without-libcap,libcap" -# when enabled, it creates ${bindir}/cifscreds and --ignore-fail-on-non-empty in do_install_append is needed -PACKAGECONFIG[cifscreds] = "--enable-cifscreds,--disable-cifscreds,keyutils" -# when enabled, it creates ${sbindir}/cifs.upcall and --ignore-fail-on-non-empty in do_install_append is needed -PACKAGECONFIG[cifsupcall] = "--enable-cifsupcall,--disable-cifsupcall,krb5 libtalloc keyutils" -PACKAGECONFIG[cifsidmap] = "--enable-cifsidmap,--disable-cifsidmap,keyutils samba" -PACKAGECONFIG[cifsacl] = "--enable-cifsacl,--disable-cifsacl,samba" -PACKAGECONFIG[pam] = "--enable-pam --with-pamdir=${base_libdir}/security,--disable-pam,libpam keyutils" - -inherit autotools pkgconfig - -do_install_append() { - # Remove empty /usr/bin and /usr/sbin directories since the mount helper - # is installed to /sbin - rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir} -} - -FILES_${PN} += "${base_libdir}/security" -FILES_${PN}-dbg += "${base_libdir}/security/.debug" -RRECOMMENDS_${PN} = "kernel-module-cifs" diff --git a/meta-openembedded/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb b/meta-openembedded/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb deleted file mode 100644 index ca59bd217..000000000 --- a/meta-openembedded/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "DNSSEC and DLV configuration and priming tool" -DESCRIPTION = "\ -DNSSEC configuration and priming tool. Keys are required until the root \ -is signed, as well as for local unpublished DNSSEC keys to be preloaded \ -into the recursive nameserver. These DNSSEC configuration files can be \ -directly included in the bind or unbound nameserver configuration files. \ -dnssec-conf includes a commandline configuration client for Bind and \ -Unbound, known DNSSEC keys, URL's to official publication pages of keys, \ -and harvested keys, as well a script to harvest DNSKEY's from DNS. \ -See also: system-config-dnssec" -HOMEPAGE = "https://github.com/xelerance/dnssec-conf" -SECTION = "net" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0636e73ff0215e8d672dc4c32c317bb3" -DEPENDS += "xmlto-native docbook-xml-dtd4-native \ - docbook-xsl-stylesheets-native libxslt-native" - -SRC_URI = "git://github.com/xelerance/dnssec-conf.git" -SRCREV = "8e799683736b4a7b5e5e78f98fba0a6f48393537" - -S = "${WORKDIR}/git" - -do_install () { - rm -rf ${D} - make PREFIX=${prefix} DESTDIR=${D} ETCDIR=${D}${sysconfdir} install - # We no longer ship trust anchors. Most of these are in the DLV Registry now. - # and it prevents the problem of shipping outdated trust anchors. - # For DLV, we ship the ISC DLV Registry key - rm -rf ${D}${sysconfdir}/pki/dnssec-keys/harvest/* - rm -rf ${D}${sysconfdir}/pki/dnssec-keys/production/reverse/* - install -d -m 0755 ${D}${sysconfdir}/sysconfig - install -m 0644 packaging/fedora/dnssec.sysconfig ${D}${sysconfdir}/sysconfig/dnssec -} - -RDEPENDS_${PN} = "python" diff --git a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.4.bb b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.4.bb index 239a25273..0f7fad2b2 100644 --- a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.4.bb +++ b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.4.bb @@ -19,7 +19,7 @@ DEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc" CFLAGS += "-I${STAGING_INCDIR}/tirpc" LDFLAGS += "-ltirpc" -inherit autotools pkgconfig systemd useradd +inherit autotools pkgconfig systemd useradd gettext PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ldap pam', d)}" diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.11.0.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.11.0.bb deleted file mode 100644 index 286b0f606..000000000 --- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.11.0.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "Distributed block device driver for Linux" -DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\ -DRBD mirrors a block device over the network to another machine.\ -Think of it as networked raid 1. It is a building block for\ -setting up high availability (HA) clusters." -HOMEPAGE = "http://www.drbd.org/" -SECTION = "admin" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018" - -SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils \ - git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers \ - ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \ - " -# v9.11.0 -SRCREV_drbd-utils = "63092751e76e1fba397e53df4be5c1161b83a223" -SRCREV_drbd-headers = "d100ee01bf5aa8d5220767e4e35c4224faa8d865" - -S = "${WORKDIR}/git" - -UPSTREAM_CHECK_URI = "https://github.com/LINBIT/drbd-utils/releases" - -SYSTEMD_SERVICE_${PN} = "drbd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -inherit autotools-brokensep systemd - -EXTRA_OECONF = " \ - --with-initdir=/etc/init.d \ - --without-pacemaker \ - --without-rgmanager \ - --without-bashcompletion \ - --with-distro debian \ - --with-initscripttype=both \ - --with-systemdunitdir=${systemd_unitdir}/system \ - --without-manual \ - " - -# If we have inherited reproducible_build, we want to use it. -export WANT_DRBD_REPRODUCIBLE_BUILD = "yes" - -do_install_append() { - # don't install empty /var/lock and /var/run to avoid conflict with base-files - rm -rf ${D}${localstatedir}/lock - rm -rf ${D}${localstatedir}/run -} - -RDEPENDS_${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy" - -# The drbd items are explicitly put under /lib when installed. -# -FILES_${PN} += "/run" -FILES_${PN} += "${nonarch_base_libdir}/drbd \ - ${nonarch_libdir}/drbd \ - ${nonarch_libdir}/tmpfiles.d" -FILES_${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug" diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.12.0.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.12.0.bb new file mode 100644 index 000000000..b83f68f8c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.12.0.bb @@ -0,0 +1,58 @@ +SUMMARY = "Distributed block device driver for Linux" +DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\ +DRBD mirrors a block device over the network to another machine.\ +Think of it as networked raid 1. It is a building block for\ +setting up high availability (HA) clusters." +HOMEPAGE = "http://www.drbd.org/" +SECTION = "admin" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018" + +SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils \ + git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers \ + ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \ + " +# v9.12.0 +SRCREV_drbd-utils = "91629a4cce49ca0d4f917fe0bffa25cfe8db3052" +SRCREV_drbd-headers = "233006b4d26cf319638be0ef6d16ec7dee287b66" + +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_URI = "https://github.com/LINBIT/drbd-utils/releases" + +SYSTEMD_SERVICE_${PN} = "drbd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +DEPENDS = "flex-native" + +inherit autotools-brokensep systemd + +EXTRA_OECONF = " \ + --with-initdir=/etc/init.d \ + --without-pacemaker \ + --without-rgmanager \ + --without-bashcompletion \ + --with-distro debian \ + --with-initscripttype=both \ + --with-systemdunitdir=${systemd_unitdir}/system \ + --without-manual \ + " + +# If we have inherited reproducible_build, we want to use it. +export WANT_DRBD_REPRODUCIBLE_BUILD = "yes" + +do_install_append() { + # don't install empty /var/lock and /var/run to avoid conflict with base-files + rm -rf ${D}${localstatedir}/lock + rm -rf ${D}${localstatedir}/run +} + +RDEPENDS_${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy" + +# The drbd items are explicitly put under /lib when installed. +# +FILES_${PN} += "/run" +FILES_${PN} += "${nonarch_base_libdir}/drbd \ + ${nonarch_libdir}/drbd \ + ${nonarch_libdir}/tmpfiles.d" +FILES_${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug" diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.1.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.1.bb deleted file mode 100644 index 21caa918a..000000000 --- a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP" -HOMEPAGE = "http://www.fetchmail.info/" -DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC." -SECTION = "mail" -LICENSE = "GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=ca53985c1fd053ae0bffffaa89ed49f1" - -DEPENDS = "openssl" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \ - " -SRC_URI[md5sum] = "c2b836a919cdd4ec53b06b70e0aa3e63" -SRC_URI[sha256sum] = "3f33f11dd08c3e8cc3e9d18eec686b1626d4818f4d5a72791507bbc4dce6a9a0" - -inherit autotools gettext python-dir pythonnative - -EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}" - -PACKAGES =+ "fetchmail-python" -FILES_fetchmail-python = "${libdir}/${PYTHON_DIR}/*" diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.3.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.3.bb new file mode 100644 index 000000000..5e2d1be1e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.3.bb @@ -0,0 +1,20 @@ +SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP" +HOMEPAGE = "http://www.fetchmail.info/" +DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC." +SECTION = "mail" +LICENSE = "GPLv2 & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=ca53985c1fd053ae0bffffaa89ed49f1" + +DEPENDS = "openssl" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \ + " +SRC_URI[md5sum] = "614d5a05ac9a042bfc9317e5499bafd4" +SRC_URI[sha256sum] = "b0360e14b9aa5d065eef8ff99ad0347ef6cbbfc934c8114908295a402a09d3e4" + +inherit autotools gettext python3-dir python3native + +EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}" + +PACKAGES =+ "fetchmail-python" +FILES_fetchmail-python = "${libdir}/${PYTHON_DIR}/*" diff --git a/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc b/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc index d9a821d10..319ab29ce 100644 --- a/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc +++ b/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc @@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=865490941c91ba790f0ea78dec93bd60" SRC_URI = "http://launchpad.net/libmemcached/1.0/${PV}/+download/libmemcached-${PV}.tar.gz" +UPSTREAM_CHECK_URI = "https://launchpad.net/libmemcached" + TARGET_LDFLAGS += "-luuid" TARGET_CFLAGS += "-D__USE_GNU -D_GNU_SOURCE" diff --git a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch deleted file mode 100644 index e20c9a2c2..000000000 --- a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Fri, 25 Jan 2019 15:00:59 +0800 -Subject: [PATCH] waf: add support of cross_compile - -After upgrade libtdb from 1.3.16 to 1.3.17, waf build system -which used by libtdb upgrade from 1.5.19 to 2.0.8 - -on 1.5.19, for cross_compile, subprocess.Popen is set to be -samba_cross.cross_Popen, which will not execute testprog on -host, but only read result from cross-answers.txt which is -passed by option --cross-answer - -part of old code: - args = Utils.to_list(kw.get('exec_args', [])) - proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE) - -but on 2.0.8, exec_args is not used and cause do_configure -failed with Exec format error - -fixed by append cross anser related args to cmd - -Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211] - -Signed-off-by: Changqing Li ---- - third_party/waf/waflib/Tools/c_config.py | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py -index 7608215..767cf33 100644 ---- a/third_party/waf/waflib/Tools/c_config.py -+++ b/third_party/waf/waflib/Tools/c_config.py -@@ -660,20 +660,21 @@ class test_exec(Task.Task): - """ - color = 'PINK' - def run(self): -+ args = self.generator.bld.kw.get('exec_args', []) - if getattr(self.generator, 'rpath', None): - if getattr(self.generator, 'define_ret', False): -- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()]) -- else: -- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()]) -+ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args) -+ else: -+ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args) - else: - env = self.env.env or {} - env.update(dict(os.environ)) - for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'): - env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '') - if getattr(self.generator, 'define_ret', False): -- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env) -+ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env) - else: -- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env) -+ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env) - - @feature('test_exec') - @after_method('apply_link') --- -2.7.4 - diff --git a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch index 481fd68a4..c35cab7c2 100644 --- a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch +++ b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch @@ -78,7 +78,7 @@ index 1d01e1e..2336dc3 100644 + conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h') + conf.CHECK_HEADERS('attr/xattr.h compat.h ctype.h dustat.h') conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h') -- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h') +- conf.CHECK_HEADERS('locale.h ndir.h pwd.h') - conf.CHECK_HEADERS('shadow.h sys/acl.h') - conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h') + conf.CHECK_HEADERS('locale.h ndir.h pwd.h') diff --git a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.2.bb b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.2.bb deleted file mode 100644 index 4973e80ca..000000000 --- a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.2.bb +++ /dev/null @@ -1,57 +0,0 @@ -SUMMARY = "The tdb library" -HOMEPAGE = "http://tdb.samba.org/" -SECTION = "libs" -LICENSE = "LGPL-3.0+ & GPL-3.0+" - -LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c98f48018c4 \ - file://include/tdb.h;endline=27;md5=f5bb544641d3081821bcc1dd58310be6" - -SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \ - file://tdb-Add-configure-options-for-packages.patch \ - file://0001-waf-add-support-of-cross_compile.patch \ -" - -SRC_URI[md5sum] = "b2c05ad68334368d3258a63db709f254" -SRC_URI[sha256sum] = "9040b2cce4028e392f063f91bbe76b8b28fecc2b7c0c6071c67b5eb3168e004a" - -PACKAGECONFIG ??= "\ - ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \ -" - -PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" -PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" -PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio" -PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd" -PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" -PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind" - -S = "${WORKDIR}/tdb-${PV}" - -inherit waf-samba - -#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen -#to cross Popen -export WAF_NO_PREFORK="yes" - -EXTRA_OECONF += "--disable-rpath \ - --bundled-libraries=NONE \ - --builtin-libraries=replace \ - --with-libiconv=${STAGING_DIR_HOST}${prefix}\ - " - -do_install_append() { - # add this link for cross check python module existence. eg: on x86-64 host, check python module - # under recipe-sysroot which is mips64. - cd ${D}${PYTHON_SITEPACKAGES_DIR}; ln -s tdb.*.so tdb.so -} - -PACKAGES += "tdb-tools python3-tdb" - -RPROVIDES_${PN}-dbg += "python3-tdb-dbg" - -FILES_${PN} = "${libdir}/*.so.*" -FILES_tdb-tools = "${bindir}/*" -FILES_python3-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*" -RDEPENDS_python3-tdb = "python3" -INSANE_SKIP_${MLPREFIX}python3-tdb = "dev-so" diff --git a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb new file mode 100644 index 000000000..c131014ff --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb @@ -0,0 +1,56 @@ +SUMMARY = "The tdb library" +HOMEPAGE = "http://tdb.samba.org/" +SECTION = "libs" +LICENSE = "LGPL-3.0+ & GPL-3.0+" + +LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c98f48018c4 \ + file://include/tdb.h;endline=27;md5=f5bb544641d3081821bcc1dd58310be6" + +SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \ + file://tdb-Add-configure-options-for-packages.patch \ +" + +SRC_URI[md5sum] = "e638e8890f743624a754304b3f994f4d" +SRC_URI[sha256sum] = "c8058393dfa15f47e11ebd2f1d132693f0b3b3b8bf22d0201bfb305026f88a1b" + +PACKAGECONFIG ??= "\ + ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \ +" + +PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" +PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" +PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio" +PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd" +PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" +PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind" + +S = "${WORKDIR}/tdb-${PV}" + +inherit waf-samba + +#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen +#to cross Popen +export WAF_NO_PREFORK="yes" + +EXTRA_OECONF += "--disable-rpath \ + --bundled-libraries=NONE \ + --builtin-libraries=replace \ + --with-libiconv=${STAGING_DIR_HOST}${prefix}\ + " + +do_install_append() { + # add this link for cross check python module existence. eg: on x86-64 host, check python module + # under recipe-sysroot which is mips64. + cd ${D}${PYTHON_SITEPACKAGES_DIR}; ln -s tdb.*.so tdb.so +} + +PACKAGES += "tdb-tools python3-tdb" + +RPROVIDES_${PN}-dbg += "python3-tdb-dbg" + +FILES_${PN} = "${libdir}/*.so.*" +FILES_tdb-tools = "${bindir}/*" +FILES_python3-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*" +RDEPENDS_python3-tdb = "python3" +INSANE_SKIP_${MLPREFIX}python3-tdb = "dev-so" diff --git a/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb b/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb index 585968f83..5917cfb3e 100644 --- a/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb +++ b/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb @@ -21,7 +21,7 @@ SRCREV = "1c2d8674cc6f4b1166a066e8822e295c105ae7a2" S = "${WORKDIR}/git" -inherit autotools python-dir pkgconfig +inherit autotools python3-dir pkgconfig CACHED_CONFIGUREVARS += "am_cv_python_pythondir=${PYTHON_SITEPACKAGES_DIR}/lowpan-tools" diff --git a/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb b/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb index 37a77c364..feb4f3f14 100644 --- a/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb +++ b/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb @@ -26,7 +26,7 @@ SRC_URI[md5sum] = "4b64296ea0eeccdee9168c035e0488ab" SRC_URI[sha256sum] = "cfd7b023a9cefe7ae8a67184f51d841dbbf97994ed0e8a55e31ee092320ea1e4" # set the same COMPATIBLE_HOST as libhugetlbfs -COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64|arm).*-linux' +COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" python __anonymous () { endianness = d.getVar('SITEINFO_ENDIANNESS') diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch new file mode 100644 index 000000000..c7ec41eb9 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch @@ -0,0 +1,39 @@ +From 28f07715ab4d670ce81e12776bbece043305bd83 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 11 Apr 2020 15:08:39 -0700 +Subject: [PATCH] server: Fix build when printf is a macro + +clang complains on x86 when building + +main.c:116:2: error: embedding a #include directive within macro arguments is not supported + ^ + +convert nesting include into a string assignment, to same effect but +making it compatible with clang as well + +Upstream-Status: Submitted [https://github.com/libguestfs/nbdkit/pull/3] +Signed-off-by: Khem Raj +--- + server/main.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/server/main.c b/server/main.c +index 748122f..c0ac874 100644 +--- a/server/main.c ++++ b/server/main.c +@@ -112,9 +112,10 @@ static void + usage (void) + { + /* --{short,long}-options remain undocumented */ +- printf ( ++ char const *opt_list = + #include "synopsis.c" +- ); ++ ; ++ printf ("%s\n", opt_list); + printf ("\n" + "Please read the nbdkit(1) manual page for full usage.\n"); + } +-- +2.26.0 + diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb new file mode 100644 index 000000000..a63e49ec5 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb @@ -0,0 +1,36 @@ +SUMMARY = "nbdkit is a toolkit for creating NBD servers." +DESCRIPTION = "NBD — Network Block Device — is a protocol \ +for accessing Block Devices (hard disks and disk-like things) \ +over a Network. \ +\ +nbdkit is a toolkit for creating NBD servers." + +HOMEPAGE = "https://github.com/libguestfs/nbdkit" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4332a97808994cf2133a65b6c6f33eaf" + +SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \ + file://0001-server-Fix-build-when-printf-is-a-macro.patch \ +" + +PV = "1.19.6+git${SRCPV}" +SRCREV = "257561bc9f2f01eb9f21686bcec4b863d17a26c4" + +S = "${WORKDIR}/git" + +DEPENDS = "curl xz e2fsprogs zlib" + +# autotools-brokensep is needed as nbdkit does not support build in external directory +inherit pkgconfig python3native perlnative bash-completion autotools-brokensep + +# Those are required to build standalone +EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" + +# Disable some extended support (not desired for small embedded systems) +#EXTRA_OECONF += " --disable-python" +#EXTRA_OECONF += " --disable-ocaml" +#EXTRA_OECONF += " --disable-rust" +#EXTRA_OECONF += " --disable-ruby" +#EXTRA_OECONF += " --disable-tcl" +#EXTRA_OECONF += " --disable-lua" +#EXTRA_OECONF += " --disable-vddk" diff --git a/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb b/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb index 24f413555..d2f4df78e 100644 --- a/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb +++ b/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb @@ -26,4 +26,6 @@ do_install() { MAN3DIR=${mandir}/man3 } +ALLOW_EMPTY_${PN} = "1" + BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb b/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb index ec4879752..5f866052c 100644 --- a/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb +++ b/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb @@ -15,6 +15,8 @@ SRC_URI = "git://git.remlab.net/git/ndisc6.git;protocol=http \ S = "${WORKDIR}/git" +DEPENDS = "coreutils-native" + inherit autotools gettext EXTRA_OECONF += "PERL=${USRBINPATH}/perl" diff --git a/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb b/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb index c57e7d471..a180571f2 100644 --- a/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb +++ b/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb @@ -20,7 +20,7 @@ do_configure[depends] += "${MLPREFIX}gnulib:do_populate_sysroot" S = "${WORKDIR}/git" -inherit gettext autotools pkgconfig systemd +inherit gettext autotools perlnative pkgconfig systemd EXTRA_OECONF_append_class-target = " --with-driver=redhat" diff --git a/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb b/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb index f1f62df06..d48f3aeab 100644 --- a/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb +++ b/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb @@ -19,7 +19,7 @@ SRCREV = "f482bab49fcedee46fc5b755da127f608325cd13" S = "${WORKDIR}/git" -inherit update-rc.d autotools +inherit update-rc.d autotools texinfo # cpu_set.patch plus _GNU_SOURCE makes src/netlib.c compile with CPU_ macros CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE" diff --git a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb index f37e9b746..9ed8c5642 100644 --- a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb +++ b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb @@ -14,7 +14,7 @@ SRC_URI = "\ SRC_URI[md5sum] = "8d1a6b96760254e4dd142d7176e8fb7c" SRC_URI[sha256sum] = "09fc43d428ff237138733c737b29fb1a7e49d49de06d2edbed3bc4cdcee69073" -inherit cmake manpages pythonnative +inherit cmake manpages python3native PACKAGECONFIG[manpages] = "" # examples are never installed, and don't need to be built in the diff --git a/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb b/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb index 4f7f8aa3e..03b98c9c2 100644 --- a/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb +++ b/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb @@ -45,7 +45,7 @@ INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ." CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true" -CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/nss3" +CFLAGS_append = " -I${STAGING_INCDIR}/nss3 -I${STAGING_INCDIR}/nspr" do_install_append () { install -d ${D}${sysconfdir}/init.d diff --git a/meta-openembedded/meta-networking/recipes-support/ntop/ntop/embed-libs.patch b/meta-openembedded/meta-networking/recipes-support/ntop/ntop/embed-libs.patch new file mode 100644 index 000000000..2d1ab7371 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/ntop/ntop/embed-libs.patch @@ -0,0 +1,20 @@ +Use --embed option so that it can return libpython as well + +% ../recipe-sysroot-native/usr/bin/python3-native/python3-config --libs --embed +-lpython3.8 -lcrypt -lpthread -ldl -lutil -lm -lm +[kraj@apollo /mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/ntop/5.0.1-r0/ntop-5.0.1] +% ../recipe-sysroot-native/usr/bin/python3-native/python3-config --libs +-lcrypt -lpthread -ldl -lutil -lm -lm + +Signed-off-by: Khem Raj +--- a/configure.in ++++ b/configure.in +@@ -1463,7 +1463,7 @@ dnl> + fi + + if test "x$PYTHON_CONFIG" != "x"; then +- PYTHON_LIBS="`$PYTHON_CONFIG --libs`" ++ PYTHON_LIBS="`$PYTHON_CONFIG --libs --embed`" + if test "x$PYTHON_LIBS" = "x"; then + AC_MSG_RESULT(Python[-devel] support is present but misconfigured) + else diff --git a/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb b/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb index 80f009b7c..d835e399b 100644 --- a/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb +++ b/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb @@ -19,15 +19,16 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/ntop/ntop-${PV}.tar.gz \ file://0001-nDPI-Include-sys-types.h.patch \ file://0001-plugins-Makefile.am-fix-for-automake-1.16.1.patch \ file://fix-missing-return-from-non-void-function.patch \ + file://embed-libs.patch \ " SRC_URI[md5sum] = "01710b6925a8a5ffe1a41b8b512ebd69" SRC_URI[sha256sum] = "7e8e84cb14d2173beaca4d4cb991a14d84a4bef84ec37b2276bc363f45c52ef8" UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/ntop/files/ntop/Stable" -inherit autotools-brokensep useradd pythonnative pkgconfig systemd +inherit autotools-brokensep useradd python3native pkgconfig systemd -DEPENDS = "geoip rrdtool python zlib libpcap gdbm" +DEPENDS = "geoip rrdtool python3 zlib libpcap gdbm" PACKAGECONFIG ??= "openssl snmp plugins" PACKAGECONFIG[openssl] = "--with-ssl, --without-ssl, openssl, openssl" @@ -35,7 +36,7 @@ PACKAGECONFIG[snmp] = "--enable-snmp=yes NETSNMP=${STAGING_BINDIR_CROSS}/net-snm --disable-snmp,net-snmp," PACKAGECONFIG[plugins] = "--enable-plugins=yes, --disable-plugins, ," -EXTRA_OECONF += "ac_cv_file_aclocal_m4=yes ac_cv_file_depcomp=no" +EXTRA_OECONF += "ac_cv_file_aclocal_m4=yes ac_cv_file_depcomp=no PYTHON_CONFIG=python3-config" do_configure() { cp ${STAGING_DATADIR_NATIVE}/aclocal/libtool.m4 libtool.m4.in diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch b/meta-openembedded/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch deleted file mode 100644 index 58e71c3b8..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- ntp-4.2.8p12.original/scripts/build/mkver.in 2018-11-12 14:06:49.333020430 +1300 -+++ ntp-4.2.8p12/scripts/build/mkver.in 2018-11-12 14:15:04.947480167 +1300 -@@ -15,7 +15,12 @@ - *) ConfStr="${ConfStr}-@VER_SUFFIX@" ;; - esac - --ConfStr="$ConfStr `LC_TIME=C TZ=UTC date`" -+if [ -n "$SOURCE_DATE_EPOCH" ]; then -+ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date -d@$SOURCE_DATE_EPOCH 2>/dev/null`" || -+ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date -r $SOURCE_DATE_EPOCH`" -+else -+ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date`" -+fi - - if [ ! -f .version ]; then - echo 0 > .version diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb deleted file mode 100644 index e950fabe3..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb +++ /dev/null @@ -1,179 +0,0 @@ -SUMMARY = "Network Time Protocol daemon and utilities" -DESCRIPTION = "The Network Time Protocol (NTP) is used to \ -synchronize the time of a computer client or server to \ -another server or reference time source, such as a radio \ -or satellite receiver or modem." -HOMEPAGE = "http://support.ntp.org" -SECTION = "net" -LICENSE = "NTP" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4cee33257467509e498f4cd9a6a4bd53" - -DEPENDS = "libevent" - -SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \ - file://ntp-4.2.4_p6-nano.patch \ - file://reproducibility-fixed-path-to-posix-shell.patch \ - file://reproducibility-respect-source-date-epoch.patch \ - file://ntpd \ - file://ntp.conf \ - file://ntpdate \ - file://ntpdate.default \ - file://ntpdate.service \ - file://ntpd.service \ - file://sntp.service \ - file://sntp \ - file://ntpd.list \ -" - -SRC_URI[md5sum] = "ea040ab9b4ca656b5229b89d6b822f13" -SRC_URI[sha256sum] = "288772cecfcd9a53694ffab108d1825a31ba77f3a8466b0401baeca3bc232a38" - -inherit autotools update-rc.d useradd systemd pkgconfig - -# The ac_cv_header_readline_history is to stop ntpdc depending on either -# readline or curses -EXTRA_OECONF += "--with-net-snmp-config=no \ - --without-ntpsnmpd \ - ac_cv_header_readline_history_h=no \ - --with-yielding_select=yes \ - --with-locfile=redhat \ - --without-rpath \ - " -CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED" - -USERADD_PACKAGES = "${PN}" -NTP_USER_HOME ?= "/var/lib/ntp" -USERADD_PARAM_${PN} = "--system --home-dir ${NTP_USER_HOME} \ - --no-create-home \ - --shell /bin/false --user-group ntp" - -# NB: debug is default-enabled by NTP; keep it default-enabled here. -PACKAGECONFIG ??= "cap debug refclocks openssl \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \ - --with-openssl-incdir=${STAGING_INCDIR} \ - --with-crypto, \ - --without-openssl --without-crypto, \ - openssl" -PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap" -PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline" -PACKAGECONFIG[refclocks] = "--enable-all-clocks,--disable-all-clocks,pps-tools" -PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging" -PACKAGECONFIG[mdns] = "ac_cv_header_dns_sd_h=yes,ac_cv_header_dns_sd_h=no,mdns" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," - -do_install_append() { - install -d ${D}${sysconfdir}/init.d - install -m 644 ${WORKDIR}/ntp.conf ${D}${sysconfdir} - install -m 755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d - install -d ${D}${bindir} - install -m 755 ${WORKDIR}/ntpdate ${D}${bindir}/ntpdate-sync - - install -m 755 -d ${D}${NTP_USER_HOME} - chown ntp:ntp ${D}${NTP_USER_HOME} - - # Fix hardcoded paths in scripts - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync - sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync - sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync - sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync - sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${bindir}/ntpdate-sync - sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntptrace - sed -i '/use/i use warnings;' ${D}${sbindir}/ntptrace - sed -i '1s,#!.*perl,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait - sed -i '/use/i use warnings;' ${D}${sbindir}/ntp-wait - sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/calc_tickadj - sed -i '/use/i use warnings;' ${D}${sbindir}/calc_tickadj - - install -d ${D}/${sysconfdir}/default - install -m 644 ${WORKDIR}/ntpdate.default ${D}${sysconfdir}/default/ntpdate - install -m 0644 ${WORKDIR}/sntp ${D}${sysconfdir}/default/ - - install -d ${D}/${sysconfdir}/network/if-up.d - ln -s ${bindir}/ntpdate-sync ${D}/${sysconfdir}/network/if-up.d - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/ntpdate.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/ntpd.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/sntp.service ${D}${systemd_unitdir}/system/ - - install -d ${D}${systemd_unitdir}/ntp-units.d - install -m 0644 ${WORKDIR}/ntpd.list ${D}${systemd_unitdir}/ntp-units.d/60-ntpd.list - - # Remove an empty libexecdir. - rmdir --ignore-fail-on-non-empty ${D}${libexecdir} -} - -PACKAGES += "ntpdate sntp ntpdc ntpq ${PN}-tickadj ${PN}-utils" -# NOTE: you don't need ntpdate, use "ntpd -q -g -x" - -# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms -# with wonky clocks (e.g. OpenSlug) -RDEPENDS_${PN} = "${PN}-tickadj" -# ntpd require libgcc for execution -RDEPENDS_${PN} += "libgcc" -# Handle move from bin to utils package -RPROVIDES_${PN}-utils = "${PN}-bin" -RREPLACES_${PN}-utils = "${PN}-bin" -RCONFLICTS_${PN}-utils = "${PN}-bin" -# ntpdc and ntpq were split out of ntp-utils -RDEPENDS_${PN}-utils = "ntpdc ntpq" - -SYSTEMD_PACKAGES = "${PN} ntpdate sntp" -SYSTEMD_SERVICE_${PN} = "ntpd.service" -SYSTEMD_SERVICE_ntpdate = "ntpdate.service" -SYSTEMD_SERVICE_sntp = "sntp.service" -SYSTEMD_AUTO_ENABLE_sntp = "disable" - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" - -RPROVIDES_ntpdate += "ntpdate-systemd" -RREPLACES_ntpdate += "ntpdate-systemd" -RCONFLICTS_ntpdate += "ntpdate-systemd" - -RSUGGESTS_${PN} = "iana-etc" - -FILES_${PN} = "${sbindir}/ntpd.ntp ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd \ - ${NTP_USER_HOME} \ - ${systemd_unitdir}/ntp-units.d/60-ntpd.list \ -" -FILES_${PN}-tickadj = "${sbindir}/tickadj" -FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib" -RDEPENDS_${PN}-utils += "perl" -FILES_ntpdate = "${sbindir}/ntpdate \ - ${sysconfdir}/network/if-up.d/ntpdate-sync \ - ${bindir}/ntpdate-sync \ - ${sysconfdir}/default/ntpdate \ - ${systemd_unitdir}/system/ntpdate.service \ -" -FILES_sntp = "${sbindir}/sntp \ - ${sysconfdir}/default/sntp \ - ${systemd_unitdir}/system/sntp.service \ - " -FILES_ntpdc = "${sbindir}/ntpdc" -FILES_ntpq = "${sbindir}/ntpq" - -CONFFILES_${PN} = "${sysconfdir}/ntp.conf" -CONFFILES_ntpdate = "${sysconfdir}/default/ntpdate" - -INITSCRIPT_NAME = "ntpd" -# No dependencies, so just go in at the standard level (20) -INITSCRIPT_PARAMS = "defaults" - -pkg_postinst_ntpdate() { - if ! grep -q -s ntpdate $D/var/spool/cron/root; then - echo "adding crontab" - test -d $D/var/spool/cron || mkdir -p $D/var/spool/cron - echo "30 * * * * ${bindir}/ntpdate-sync silent" >> $D/var/spool/cron/root - fi -} - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE_${PN} = "ntpd" -ALTERNATIVE_LINK_NAME[ntpd] = "${sbindir}/ntpd" diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p14.bb b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p14.bb new file mode 100644 index 000000000..cdf66082f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p14.bb @@ -0,0 +1,178 @@ +SUMMARY = "Network Time Protocol daemon and utilities" +DESCRIPTION = "The Network Time Protocol (NTP) is used to \ +synchronize the time of a computer client or server to \ +another server or reference time source, such as a radio \ +or satellite receiver or modem." +HOMEPAGE = "http://support.ntp.org" +SECTION = "net" +LICENSE = "NTP" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4190b39435611e92a4da74e682623f19" + +DEPENDS = "libevent" + +SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \ + file://ntp-4.2.4_p6-nano.patch \ + file://reproducibility-fixed-path-to-posix-shell.patch \ + file://ntpd \ + file://ntp.conf \ + file://ntpdate \ + file://ntpdate.default \ + file://ntpdate.service \ + file://ntpd.service \ + file://sntp.service \ + file://sntp \ + file://ntpd.list \ +" + +SRC_URI[md5sum] = "783edaf1d68ddf651bde64eda54a579d" +SRC_URI[sha256sum] = "1960e4f081f6aafd108d721bc3ab15f9e8dfd08dc08339aa95bca9d2545e4eb7" + +inherit autotools update-rc.d useradd systemd pkgconfig + +# The ac_cv_header_readline_history is to stop ntpdc depending on either +# readline or curses +EXTRA_OECONF += "--with-net-snmp-config=no \ + --without-ntpsnmpd \ + ac_cv_header_readline_history_h=no \ + --with-yielding_select=yes \ + --with-locfile=redhat \ + --without-rpath \ + " +CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED" + +USERADD_PACKAGES = "${PN}" +NTP_USER_HOME ?= "/var/lib/ntp" +USERADD_PARAM_${PN} = "--system --home-dir ${NTP_USER_HOME} \ + --no-create-home \ + --shell /bin/false --user-group ntp" + +# NB: debug is default-enabled by NTP; keep it default-enabled here. +PACKAGECONFIG ??= "cap debug refclocks openssl \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \ + --with-openssl-incdir=${STAGING_INCDIR} \ + --with-crypto, \ + --without-openssl --without-crypto, \ + openssl" +PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap" +PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline" +PACKAGECONFIG[refclocks] = "--enable-all-clocks,--disable-all-clocks,pps-tools" +PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging" +PACKAGECONFIG[mdns] = "ac_cv_header_dns_sd_h=yes,ac_cv_header_dns_sd_h=no,mdns" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + +do_install_append() { + install -d ${D}${sysconfdir}/init.d + install -m 644 ${WORKDIR}/ntp.conf ${D}${sysconfdir} + install -m 755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d + install -d ${D}${bindir} + install -m 755 ${WORKDIR}/ntpdate ${D}${bindir}/ntpdate-sync + + install -m 755 -d ${D}${NTP_USER_HOME} + chown ntp:ntp ${D}${NTP_USER_HOME} + + # Fix hardcoded paths in scripts + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync + sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync + sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync + sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${bindir}/ntpdate-sync + sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntptrace + sed -i '/use/i use warnings;' ${D}${sbindir}/ntptrace + sed -i '1s,#!.*perl,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait + sed -i '/use/i use warnings;' ${D}${sbindir}/ntp-wait + sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/calc_tickadj + sed -i '/use/i use warnings;' ${D}${sbindir}/calc_tickadj + + install -d ${D}/${sysconfdir}/default + install -m 644 ${WORKDIR}/ntpdate.default ${D}${sysconfdir}/default/ntpdate + install -m 0644 ${WORKDIR}/sntp ${D}${sysconfdir}/default/ + + install -d ${D}/${sysconfdir}/network/if-up.d + ln -s ${bindir}/ntpdate-sync ${D}/${sysconfdir}/network/if-up.d + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/ntpdate.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/ntpd.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/sntp.service ${D}${systemd_unitdir}/system/ + + install -d ${D}${systemd_unitdir}/ntp-units.d + install -m 0644 ${WORKDIR}/ntpd.list ${D}${systemd_unitdir}/ntp-units.d/60-ntpd.list + + # Remove an empty libexecdir. + rmdir --ignore-fail-on-non-empty ${D}${libexecdir} +} + +PACKAGES += "ntpdate sntp ntpdc ntpq ${PN}-tickadj ${PN}-utils" +# NOTE: you don't need ntpdate, use "ntpd -q -g -x" + +# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms +# with wonky clocks (e.g. OpenSlug) +RDEPENDS_${PN} = "${PN}-tickadj" +# ntpd require libgcc for execution +RDEPENDS_${PN} += "libgcc" +# Handle move from bin to utils package +RPROVIDES_${PN}-utils = "${PN}-bin" +RREPLACES_${PN}-utils = "${PN}-bin" +RCONFLICTS_${PN}-utils = "${PN}-bin" +# ntpdc and ntpq were split out of ntp-utils +RDEPENDS_${PN}-utils = "ntpdc ntpq" + +SYSTEMD_PACKAGES = "${PN} ntpdate sntp" +SYSTEMD_SERVICE_${PN} = "ntpd.service" +SYSTEMD_SERVICE_ntpdate = "ntpdate.service" +SYSTEMD_SERVICE_sntp = "sntp.service" +SYSTEMD_AUTO_ENABLE_sntp = "disable" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" + +RPROVIDES_ntpdate += "ntpdate-systemd" +RREPLACES_ntpdate += "ntpdate-systemd" +RCONFLICTS_ntpdate += "ntpdate-systemd" + +RSUGGESTS_${PN} = "iana-etc" + +FILES_${PN} = "${sbindir}/ntpd.ntp ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd \ + ${NTP_USER_HOME} \ + ${systemd_unitdir}/ntp-units.d/60-ntpd.list \ +" +FILES_${PN}-tickadj = "${sbindir}/tickadj" +FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib" +RDEPENDS_${PN}-utils += "perl" +FILES_ntpdate = "${sbindir}/ntpdate \ + ${sysconfdir}/network/if-up.d/ntpdate-sync \ + ${bindir}/ntpdate-sync \ + ${sysconfdir}/default/ntpdate \ + ${systemd_unitdir}/system/ntpdate.service \ +" +FILES_sntp = "${sbindir}/sntp \ + ${sysconfdir}/default/sntp \ + ${systemd_unitdir}/system/sntp.service \ + " +FILES_ntpdc = "${sbindir}/ntpdc" +FILES_ntpq = "${sbindir}/ntpq" + +CONFFILES_${PN} = "${sysconfdir}/ntp.conf" +CONFFILES_ntpdate = "${sysconfdir}/default/ntpdate" + +INITSCRIPT_NAME = "ntpd" +# No dependencies, so just go in at the standard level (20) +INITSCRIPT_PARAMS = "defaults" + +pkg_postinst_ntpdate() { + if ! grep -q -s ntpdate $D/var/spool/cron/root; then + echo "adding crontab" + test -d $D/var/spool/cron || mkdir -p $D/var/spool/cron + echo "30 * * * * ${bindir}/ntpdate-sync silent" >> $D/var/spool/cron/root + fi +} + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN} = "ntpd" +ALTERNATIVE_LINK_NAME[ntpd] = "${sbindir}/ntpd" diff --git a/meta-openembedded/meta-networking/recipes-support/nvmetcli/nvmetcli_0.7.bb b/meta-openembedded/meta-networking/recipes-support/nvmetcli/nvmetcli_0.7.bb new file mode 100644 index 000000000..31f55e358 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/nvmetcli/nvmetcli_0.7.bb @@ -0,0 +1,39 @@ +SUMMARY = "NVM-Express target user space configuration utility." +DESCRIPTION = "This package contains the command line interface to the NVMe \ +over Fabrics nvmet in the Linux kernel. It allows configuring the nvmet \ +interactively as well as saving / restoring the configuration to / from a json \ +file." +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=1dece7821bf3fd70fe1309eaa37d52a2" + +inherit systemd setuptools3 + +# nvmet service will start and stop the NVMe Target configuration on boot and +# shutdown from a saved NVMe Target configuration in the /etc/nvmet/config.json +# file. This file is not installed by default since the configuration will vary +# on real systems. Example configuration files are provided by including the +# nvmetcli-examples package. +SYSTEMD_SERVICE_${PN} = "nvmet.service" + +SYSTEMD_AUTO_ENABLE ?= "disable" + +RDEPENDS_${PN} += "python3 python3-six python3-pyparsing python3-configshell-fb" + +SRCREV = "0a6b088db2dc2e5de11e6f23f1e890e4b54fee64" +SRC_URI = "git://git.infradead.org/users/hch/nvmetcli.git;branch=master" + +S = "${WORKDIR}/git" + +do_install_append() { + # Install example configuration scripts. + install -d ${D}${datadir}/nvmet + cp -fr ${S}/examples ${D}${datadir}/nvmet/ + + # Install systemd service file. + install -d ${D}${systemd_unitdir}/system + cp -fr ${S}/nvmet.service ${D}${systemd_unitdir}/system +} + +# Examples package contains example json files used to configure nvmet. +PACKAGES += "${PN}-examples" +FILES_${PN}-examples = "${datadir}/nvmet/examples/*" diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch deleted file mode 100644 index e208de8b2..000000000 --- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch +++ /dev/null @@ -1,31 +0,0 @@ -From bebfb3c24582ec4e45d79c5b52135197bf7373da Mon Sep 17 00:00:00 2001 -From: Yi Zhao -Date: Fri, 14 Jun 2019 14:17:34 +0800 -Subject: [PATCH] ipmi_serial_bmc_emu.c: include readline.h from readline - -The libedit had been removed and swithed to readline. -We need to include readline.h from readline rather than editline. - -Upstream-Status: Pending - -Signed-off-by: Yi Zhao ---- - sample/ipmi_serial_bmc_emu.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sample/ipmi_serial_bmc_emu.c b/sample/ipmi_serial_bmc_emu.c -index e0ae019..1b8bb9a 100644 ---- a/sample/ipmi_serial_bmc_emu.c -+++ b/sample/ipmi_serial_bmc_emu.c -@@ -42,7 +42,7 @@ - #include - #include - #include --#include -+#include - - #define _GNU_SOURCE - #include --- -2.7.4 - diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb deleted file mode 100644 index f09278039..000000000 --- a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb +++ /dev/null @@ -1,113 +0,0 @@ -SUMMARY = "IPMI (Intelligent Platform Management Interface) library and tools" -DESCRIPTION = "OpenIPMI is an effort to create a full-function IPMI system, \ -to allow full access to all IPMI information on a server \ -and to abstract it to a level that will make it easy to use" - -HOMEPAGE = "http://openipmi.sourceforge.net" - -DEPENDS = " \ - glib-2.0 \ - ncurses \ - net-snmp \ - openssl \ - popt \ - python \ - swig-native \ - readline \ - " - -LICENSE = "GPLv2 & LGPLv2.1 & BSD" - -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499 \ - file://COPYING.BSD;md5=4b318d4160eb69c8ee53452feb1b4cdf \ - " - -SRC_URI = "${SOURCEFORGE_MIRROR}/openipmi/OpenIPMI-${PV}.tar.gz \ - file://fix-symlink-install-error-in-cmdlang.patch \ - file://openipmi-no-openipmigui-man.patch \ - file://openipmi-remove-host-path-from-la_LDFLAGS.patch \ - file://ipmi-init-fix-the-arguments.patch \ - file://include_sys_types.patch \ - file://ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch \ - file://openipmi-helper \ - file://ipmi.service \ - " - -S = "${WORKDIR}/OpenIPMI-${PV}" - -SRC_URI[md5sum] = "d525ceaa07df5440674e7e68a6772fe7" -SRC_URI[sha256sum] = "f3b1fafaaec2e2bac32fec5a86941ad8b8cb64543470bd6d819d7b166713d20b" - -inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd cpan-base - -EXTRA_OECONF = "--disable-static \ - --with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \ - --with-python='${STAGING_BINDIR_NATIVE}/python-native/python' \ - --with-pythoninstall='${PYTHON_SITEPACKAGES_DIR}' \ - --with-glibver=2.0" - -PACKAGECONFIG ??= "gdbm" -PACKAGECONFIG[gdbm] = "ac_cv_header_gdbm_h=yes,ac_cv_header_gdbm_h=no,gdbm," - -PACKAGES += "${PN}-perl ${PN}-python" -PRIVATE_LIBS_${PN}-perl = "libOpenIPMI.so.0" - -FILES_${PN}-perl = " \ - ${libdir}/perl/vendor_perl/*/OpenIPMI.pm \ - ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/OpenIPMI.so \ - " - -FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" - -FILES_${PN}-dbg += " \ - ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/.debug \ - ${PYTHON_SITEPACKAGES_DIR}/.debug \ - " - -do_configure () { - - # Let's perform regular configuration first then handle perl issues. - autotools_do_configure - - perl_ver=`perl -V:version | cut -d\' -f 2` - - # Force openipmi perl bindings to be compiled using perl-native instead of - # the host's perl. Set the proper install directory for the resulting - # openipmi.pm and openipmi.so - for i in ${S}/swig/Makefile ${S}/swig/perl/Makefile; do - echo "SAL: i = $i" - echo "SAL: STAGING_INCDIR_NATIVE = $STAGING_INCDIR_NATIVE" - echo "SAL: libdir = $libdir" - sed -i -e "/^PERL_CFLAGS/s:-I/usr/local/include:-I${STAGING_INCDIR_NATIVE}:g" $i - sed -i -e "/^PERL_CFLAGS/s:-I .* :-I ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE :g" $i - sed -i -e "/^PERL_INSTALL_DIR/s:^PERL_INSTALL_DIR = .*:PERL_INSTALL_DIR = ${libdir}/perl/vendor_perl/$perl_ver:g" $i - done -} - -do_install_append () { - echo "SAL: D = $D" - echo "SAL: libdir = $libdir" - install -m 0755 -d ${D}${sysconfdir}/sysconfig ${D}${sysconfdir}/init.d - install -m 0755 ${S}/ipmi.init ${D}${sysconfdir}/init.d/ipmi - install -m 0644 ${S}/ipmi.sysconf ${D}${sysconfdir}/sysconfig/ipmi - # SAL: mv: cannot stat `/localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/openipmi-2.0.19-r4/image/usr/lib64/perl5': No such file or directory - # SAL: real path to perl is /localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/perl-5.14.2-r8.3/package/usr/lib64/perl5 and it is a symlink to perl so no need to mv. - if [ -d ${D}${libdir}/perl5 ] - then - mv ${D}${libdir}/perl5 ${D}${libdir}/perl - fi - - # for systemd - install -d ${D}${systemd_unitdir}/system - install -m 0664 ${WORKDIR}/ipmi.service ${D}${systemd_unitdir}/system - sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" ${D}${systemd_unitdir}/system/ipmi.service - install -d ${D}${libexecdir} - install -m 0755 ${WORKDIR}/openipmi-helper ${D}${libexecdir} -} - -INITSCRIPT_NAME = "ipmi" -INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ." - -SYSTEMD_SERVICE_${PN} = "ipmi.service" -SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.28.bb b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.28.bb new file mode 100644 index 000000000..f196eb992 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.28.bb @@ -0,0 +1,112 @@ +SUMMARY = "IPMI (Intelligent Platform Management Interface) library and tools" +DESCRIPTION = "OpenIPMI is an effort to create a full-function IPMI system, \ +to allow full access to all IPMI information on a server \ +and to abstract it to a level that will make it easy to use" + +HOMEPAGE = "http://openipmi.sourceforge.net" + +DEPENDS = " \ + glib-2.0 \ + ncurses \ + net-snmp \ + openssl \ + popt \ + python3 \ + swig-native \ + readline \ + " + +LICENSE = "GPLv2 & LGPLv2.1 & BSD" + +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499 \ + file://COPYING.BSD;md5=4b318d4160eb69c8ee53452feb1b4cdf \ + " + +SRC_URI = "${SOURCEFORGE_MIRROR}/openipmi/OpenIPMI-${PV}.tar.gz \ + file://fix-symlink-install-error-in-cmdlang.patch \ + file://openipmi-no-openipmigui-man.patch \ + file://openipmi-remove-host-path-from-la_LDFLAGS.patch \ + file://ipmi-init-fix-the-arguments.patch \ + file://include_sys_types.patch \ + file://openipmi-helper \ + file://ipmi.service \ + " + +S = "${WORKDIR}/OpenIPMI-${PV}" + +SRC_URI[md5sum] = "ba37f08e306062ec73c7ed2a2bd4d5f4" +SRC_URI[sha256sum] = "8e8b1de2a9a041b419133ecb21f956e999841cf2e759e973eeba9a36f8b40996" + +inherit autotools-brokensep pkgconfig python3native perlnative update-rc.d systemd cpan-base + +EXTRA_OECONF = "--disable-static \ + --with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \ + --with-python='${STAGING_BINDIR_NATIVE}/python3-native/python3' \ + --with-pythoninstall='${PYTHON_SITEPACKAGES_DIR}' \ + --with-glibver=2.0" + +PACKAGECONFIG ??= "gdbm" +PACKAGECONFIG[gdbm] = "ac_cv_header_gdbm_h=yes,ac_cv_header_gdbm_h=no,gdbm," + +PACKAGES += "${PN}-perl ${PN}-python" +PRIVATE_LIBS_${PN}-perl = "libOpenIPMI.so.0" + +FILES_${PN}-perl = " \ + ${libdir}/perl/vendor_perl/*/OpenIPMI.pm \ + ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/OpenIPMI.so \ + " + +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" + +FILES_${PN}-dbg += " \ + ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/.debug \ + ${PYTHON_SITEPACKAGES_DIR}/.debug \ + " + +do_configure () { + + # Let's perform regular configuration first then handle perl issues. + autotools_do_configure + + perl_ver=`perl -V:version | cut -d\' -f 2` + + # Force openipmi perl bindings to be compiled using perl-native instead of + # the host's perl. Set the proper install directory for the resulting + # openipmi.pm and openipmi.so + for i in ${S}/swig/Makefile ${S}/swig/perl/Makefile; do + echo "SAL: i = $i" + echo "SAL: STAGING_INCDIR_NATIVE = $STAGING_INCDIR_NATIVE" + echo "SAL: libdir = $libdir" + sed -i -e "/^PERL_CFLAGS/s:-I/usr/local/include:-I${STAGING_INCDIR_NATIVE}:g" $i + sed -i -e "/^PERL_CFLAGS/s:-I .* :-I ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE :g" $i + sed -i -e "/^PERL_INSTALL_DIR/s:^PERL_INSTALL_DIR = .*:PERL_INSTALL_DIR = ${libdir}/perl/vendor_perl/$perl_ver:g" $i + done +} + +do_install_append () { + echo "SAL: D = $D" + echo "SAL: libdir = $libdir" + install -m 0755 -d ${D}${sysconfdir}/sysconfig ${D}${sysconfdir}/init.d + install -m 0755 ${S}/ipmi.init ${D}${sysconfdir}/init.d/ipmi + install -m 0644 ${S}/ipmi.sysconf ${D}${sysconfdir}/sysconfig/ipmi + # SAL: mv: cannot stat `/localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/openipmi-2.0.19-r4/image/usr/lib64/perl5': No such file or directory + # SAL: real path to perl is /localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/perl-5.14.2-r8.3/package/usr/lib64/perl5 and it is a symlink to perl so no need to mv. + if [ -d ${D}${libdir}/perl5 ] + then + mv ${D}${libdir}/perl5 ${D}${libdir}/perl + fi + + # for systemd + install -d ${D}${systemd_unitdir}/system + install -m 0664 ${WORKDIR}/ipmi.service ${D}${systemd_unitdir}/system + sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" ${D}${systemd_unitdir}/system/ipmi.service + install -d ${D}${libexecdir} + install -m 0755 ${WORKDIR}/openipmi-helper ${D}${libexecdir} +} + +INITSCRIPT_NAME = "ipmi" +INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ." + +SYSTEMD_SERVICE_${PN} = "ipmi.service" +SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.7.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.7.bb deleted file mode 100644 index 2a4eb2528..000000000 --- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.7.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "A full-featured SSL VPN solution via tun device." -HOMEPAGE = "https://openvpn.net/" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=7aee596ed2deefe3e8a861e24292abba" -DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" - -inherit autotools systemd update-rc.d - -SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \ - file://openvpn \ - file://openvpn@.service \ - file://openvpn-volatile.conf" - -SRC_URI[md5sum] = "9d67cabc9b0441062ebd4e12bb7dfedb" -SRC_URI[sha256sum] = "73dce542ed3d6f0553674f49025dfbdff18348eb8a25e6215135d686b165423c" - -SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service" -SYSTEMD_AUTO_ENABLE = "disable" - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME_${PN} = "openvpn" -INITSCRIPT_PARAMS_${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ." - -CFLAGS += "-fno-inline" - -# I want openvpn to be able to read password from file (hrw) -EXTRA_OECONF += "--enable-iproute2" -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" - -# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host. -EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip" - -do_install_append() { - install -d ${D}/${sysconfdir}/init.d - install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d - - install -d ${D}/${sysconfdir}/openvpn - install -d ${D}/${sysconfdir}/openvpn/sample - install -m 755 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf - install -m 755 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf - install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys - install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}/${systemd_unitdir}/system - install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system - install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service - install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service - - install -d ${D}/${localstatedir} - install -d ${D}/${localstatedir}/lib - install -d -m 710 ${D}/${localstatedir}/lib/openvpn - - install -d ${D}${sysconfdir}/tmpfiles.d - install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf - sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf - fi -} - -PACKAGES =+ " ${PN}-sample " - -RRECOMMENDS_${PN} = "kernel-module-tun" - -FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug" -FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \ - ${sysconfdir}/tmpfiles.d \ - " -FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \ - ${systemd_unitdir}/system/openvpn@loopback-client.service \ - ${sysconfdir}/openvpn/sample/" diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.8.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.8.bb new file mode 100644 index 000000000..09efa5700 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.8.bb @@ -0,0 +1,73 @@ +SUMMARY = "A full-featured SSL VPN solution via tun device." +HOMEPAGE = "https://openvpn.net/" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=7aee596ed2deefe3e8a861e24292abba" +DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +inherit autotools systemd update-rc.d + +SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \ + file://openvpn \ + file://openvpn@.service \ + file://openvpn-volatile.conf" + +UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads" + +SRC_URI[md5sum] = "e9cb40542e17ce295d80860690710aab" +SRC_URI[sha256sum] = "65e1da3f3a08e7e900c175e7fc30d834881fd2dea0eb39b25325a861a9da0bc5" + +SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service" +SYSTEMD_AUTO_ENABLE = "disable" + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME_${PN} = "openvpn" +INITSCRIPT_PARAMS_${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ." + +CFLAGS += "-fno-inline" + +# I want openvpn to be able to read password from file (hrw) +EXTRA_OECONF += "--enable-iproute2" +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" + +# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host. +EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip" + +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d + + install -d ${D}/${sysconfdir}/openvpn + install -d ${D}/${sysconfdir}/openvpn/sample + install -m 755 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf + install -m 755 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf + install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys + install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service + install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service + + install -d ${D}/${localstatedir} + install -d ${D}/${localstatedir}/lib + install -d -m 710 ${D}/${localstatedir}/lib/openvpn + + install -d ${D}${sysconfdir}/tmpfiles.d + install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf + sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf + fi +} + +PACKAGES =+ " ${PN}-sample " + +RRECOMMENDS_${PN} = "kernel-module-tun" + +FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug" +FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \ + ${sysconfdir}/tmpfiles.d \ + " +FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \ + ${systemd_unitdir}/system/openvpn@loopback-client.service \ + ${sysconfdir}/openvpn/sample/" diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch index f1437a0fb..feed0213c 100644 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch +++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch @@ -254,9 +254,10 @@ diff --git a/providers/mlx5/man/CMakeLists.txt b/providers/mlx5/man/CMakeLists.t index 0bd9eba1..876b6fcf 100644 --- a/providers/mlx5/man/CMakeLists.txt +++ b/providers/mlx5/man/CMakeLists.txt -@@ -1,72 +1,7 @@ +@@ -1,81 +1,7 @@ rdma_man_pages( - mlx5dv_alloc_dm.3.md +- mlx5dv_alloc_var.3.md - mlx5dv_create_cq.3.md - mlx5dv_create_flow.3.md - mlx5dv_create_flow_action_modify_header.3.md @@ -274,6 +275,7 @@ index 0bd9eba1..876b6fcf 100644 - mlx5dv_devx_subscribe_devx_event.3.md - mlx5dv_devx_umem_reg.3.md - mlx5dv_dr_flow.3.md +- mlx5dv_dump.3.md - mlx5dv_flow_action_esp.3.md mlx5dv_get_clock_info.3 mlx5dv_init_obj.3 @@ -285,6 +287,7 @@ index 0bd9eba1..876b6fcf 100644 mlx5dv.7 ) -rdma_alias_man_pages( +- mlx5dv_alloc_var.3 mlx5dv_free_var.3 - mlx5dv_create_mkey.3 mlx5dv_destroy_mkey.3 - mlx5dv_devx_alloc_uar.3 mlx5dv_devx_free_uar.3 - mlx5dv_devx_create_cmd_comp.3 mlx5dv_devx_destroy_cmd_comp.3 @@ -311,10 +314,12 @@ index 0bd9eba1..876b6fcf 100644 - mlx5dv_dr_flow.3 mlx5dv_dr_action_create_dest_vport.3 - mlx5dv_dr_flow.3 mlx5dv_dr_action_create_flow_counter.3 - mlx5dv_dr_flow.3 mlx5dv_dr_action_create_drop.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_flow_meter.3 - mlx5dv_dr_flow.3 mlx5dv_dr_action_create_modify_header.3 - mlx5dv_dr_flow.3 mlx5dv_dr_action_create_packet_reformat.3 - mlx5dv_dr_flow.3 mlx5dv_dr_action_create_tag.3 - mlx5dv_dr_flow.3 mlx5dv_dr_action_destroy.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_modify_flow_meter.3 - mlx5dv_dr_flow.3 mlx5dv_dr_domain_create.3 - mlx5dv_dr_flow.3 mlx5dv_dr_domain_destroy.3 - mlx5dv_dr_flow.3 mlx5dv_dr_domain_sync.3 @@ -324,6 +329,10 @@ index 0bd9eba1..876b6fcf 100644 - mlx5dv_dr_flow.3 mlx5dv_dr_rule_destroy.3 - mlx5dv_dr_flow.3 mlx5dv_dr_table_create.3 - mlx5dv_dr_flow.3 mlx5dv_dr_table_destroy.3 +- mlx5dv_dump.3 mlx5dv_dump_dr_domain.3 +- mlx5dv_dump.3 mlx5dv_dump_dr_matcher.3 +- mlx5dv_dump.3 mlx5dv_dump_dr_rule.3 +- mlx5dv_dump.3 mlx5dv_dump_dr_table.3 - mlx5dv_wr_post.3 mlx5dv_wr_set_dc_addr.3 - mlx5dv_wr_post.3 mlx5dv_qp_ex_from_ibv_qp_ex.3 -) diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Use-overloadable-attribute-with-clang.patch b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Use-overloadable-attribute-with-clang.patch deleted file mode 100644 index 1ba6847d2..000000000 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Use-overloadable-attribute-with-clang.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 42976ed0a0160864b41680604ea9cdb3c175cb94 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 15 Jan 2020 17:48:28 -0800 -Subject: [PATCH] Use overloadable attribute with clang - -This is overriding the libc implementation - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - librdmacm/preload.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/librdmacm/preload.c b/librdmacm/preload.c -index d46beb1b..b451de50 100644 ---- a/librdmacm/preload.c -+++ b/librdmacm/preload.c -@@ -59,6 +59,12 @@ - #include "cma.h" - #include "indexer.h" - -+#ifdef __clang__ -+#define OVERLOAD __attribute__((overloadable)) -+#else -+#define OVERLOAD -+#endif -+ - struct socket_calls { - int (*socket)(int domain, int type, int protocol); - int (*bind)(int socket, const struct sockaddr *addr, socklen_t addrlen); -@@ -793,7 +799,7 @@ ssize_t recv(int socket, void *buf, size_t len, int flags) - rrecv(fd, buf, len, flags) : real.recv(fd, buf, len, flags); - } - --ssize_t recvfrom(int socket, void *buf, size_t len, int flags, -+ssize_t OVERLOAD recvfrom(int socket, void *buf, size_t len, int flags, - struct sockaddr *src_addr, socklen_t *addrlen) - { - int fd; --- -2.25.0 - diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch deleted file mode 100644 index 80abd3313..000000000 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 6ac9562d756d42592994aeaac7a5e7b2bbce5cab Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 14 Dec 2019 14:07:57 -0800 -Subject: [PATCH] librdmacm: Use sched_yield instead of pthread_yield - -glibc redirects pthread_yield to sched_yield additionally we get it -working with musl on linux - -Upstream-Status: Submitted [https://github.com/linux-rdma/rdma-core/pull/635] -Signed-off-by: Khem Raj ---- - librdmacm/rsocket.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/librdmacm/rsocket.c b/librdmacm/rsocket.c -index 89ae2139..7fc5b266 100644 ---- a/librdmacm/rsocket.c -+++ b/librdmacm/rsocket.c -@@ -3038,7 +3038,7 @@ static int rs_poll_enter(void) - pthread_mutex_lock(&mut); - if (suspendpoll) { - pthread_mutex_unlock(&mut); -- pthread_yield(); -+ sched_yield(); - return -EBUSY; - } - --- -2.24.1 - diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb deleted file mode 100644 index 417979dc3..000000000 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "Userspace support for InfiniBand/RDMA verbs" -DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." -SECTION = "libs" - -DEPENDS = "libnl" -RDEPENDS_${PN} = "bash perl" - -BRANCH = "stable-v${@d.getVar('PV').split('.')[0]}" -SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=${BRANCH} \ - file://0001-Remove-man-files-which-cant-be-built.patch \ - file://0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch \ - file://0001-Use-overloadable-attribute-with-clang.patch \ - " -SRCREV = "84caf035ae6123e2296b72006cd2cf698c65eb46" -S = "${WORKDIR}/git" - -#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md -LICENSE = "BSD-2-Clause | GPLv2" -LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ - file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -EXTRA_OECMAKE = " \ - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ - -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ -" - -FILES_SOLIBSDEV = "" -FILES_${PN} += "${libdir}/*" -INSANE_SKIP_${PN} += "dev-so" - -inherit cmake cpan-base systemd - -SYSTEMD_SERVICE_${PN} = " \ - srp_daemon.service \ - iwpmd.service \ - ibacm.socket \ - rdma-load-modules@.service \ - srp_daemon_port@.service \ - rdma-hw.target \ - ibacm.service \ -" -SYSTEMD_AUTO_ENABLE = "disable" - -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_28.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_28.0.bb new file mode 100644 index 000000000..15fd7ff66 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_28.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Userspace support for InfiniBand/RDMA verbs" +DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." +SECTION = "libs" + +DEPENDS = "libnl" +RDEPENDS_${PN} = "bash perl" + +BRANCH = "stable-v${@d.getVar('PV').split('.')[0]}" +SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=${BRANCH} \ + file://0001-Remove-man-files-which-cant-be-built.patch \ + " +SRCREV = "f12c953f0864691eacc9fcc4cda489b92ffd5a85" +S = "${WORKDIR}/git" + +#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md +LICENSE = "BSD-2-Clause | GPLv2" +LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ + file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +EXTRA_OECMAKE = " \ + -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ + -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ +" + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/*" +INSANE_SKIP_${PN} += "dev-so" + +inherit cmake cpan-base systemd + +SYSTEMD_SERVICE_${PN} = " \ + srp_daemon.service \ + iwpmd.service \ + ibacm.socket \ + rdma-load-modules@.service \ + srp_daemon_port@.service \ + rdma-hw.target \ + ibacm.service \ +" +SYSTEMD_AUTO_ENABLE = "disable" + +OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb index 966ca41c9..1d56bea17 100644 --- a/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb +++ b/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb @@ -13,9 +13,9 @@ architectures." LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=b37311cb5604f3e5cc2fb0fd23527e95" -PV = "0.14.0+git${SRCPV}" +PV = "0.14.1+git${SRCPV}" -SRCREV = "f72ece993aeaf23f77e2845562b20e5563e52ba0" +SRCREV = "e0ec178a72aa33e307ee5ac02b63bf336da921a5" SRC_URI = " \ git://anongit.freedesktop.org/spice/spice-protocol \ diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb index 06a79c500..9d3a0e6cb 100644 --- a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb +++ b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb @@ -29,13 +29,12 @@ SRC_URI = " \ S = "${WORKDIR}/git" -inherit autotools gettext pythonnative python-dir pkgconfig +inherit autotools gettext python3native python3-dir pkgconfig -DEPENDS += "spice-protocol jpeg pixman alsa-lib glib-2.0 python-pyparsing-native python-six-native glib-2.0-native" +DEPENDS += "spice-protocol jpeg pixman alsa-lib glib-2.0 python3-pyparsing-native python3-six-native glib-2.0-native" DEPENDS_append_class-nativesdk = "nativesdk-openssl" -export PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" -export PYTHONPATH="${PKG_CONFIG_SYSROOT_DIR}${libdir}/python2.7/site-packages" +export PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3" CFLAGS_append = " -Wno-error" diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.2.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.2.bb deleted file mode 100644 index f05d69669..000000000 --- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.2.bb +++ /dev/null @@ -1,135 +0,0 @@ -DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \ -Linux operating system." -SUMMARY = "strongSwan is an OpenSource IPsec implementation" -HOMEPAGE = "http://www.strongswan.org" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "gmp openssl flex-native flex bison-native" - -SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ - file://fix-funtion-parameter.patch \ - file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \ - " - -SRC_URI[md5sum] = "d94eac2caed51b0cc776e5887b10bace" -SRC_URI[sha256sum] = "86900ddbe7337c923dadf2c8339ae8ed2b9158e3691745884d08ae534677430e" - -UPSTREAM_CHECK_REGEX = "strongswan-(?P\d+(\.\d+)+)\.tar" - -EXTRA_OECONF = " \ - --without-lib-prefix \ - --with-dev-headers=${includedir}/strongswan \ -" - -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" - -PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \ -" -PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni" -PACKAGECONFIG[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils" -PACKAGECONFIG[charon] = "--enable-charon,--disable-charon," -PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl" -PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp" -PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap" -PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql" -PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl" -PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient," -PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup" -PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite" -PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke" -PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc" - -# requires swanctl -PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd," - -inherit autotools systemd pkgconfig - -RRECOMMENDS_${PN} = "kernel-module-ipsec" - -FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}" -FILES_${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug" -FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h" -FILES_${PN}-staticdev += "${libdir}/ipsec/*.a" - -CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf" - -PACKAGES += "${PN}-plugins" -ALLOW_EMPTY_${PN}-plugins = "1" - -PACKAGES_DYNAMIC += "^${PN}-plugin-.*$" -NOAUTOPACKAGEDEBUG = "1" - -python split_strongswan_plugins () { - sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon') - libdir = d.expand('${libdir}/ipsec/plugins') - dbglibdir = os.path.join(libdir, '.debug') - - def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename): - dvar = d.getVar('PKGD') - oldfiles = d.getVar('CONFFILES_' + pkg) - newfile = '/' + os.path.relpath(f, dvar) - - if not oldfiles: - d.setVar('CONFFILES_' + pkg, newfile) - else: - d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile) - - split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True) - do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf) - - split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg') - split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev') - split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev') - - if split_packages: - pn = d.getVar('PN') - d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages)) - d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) - d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages)) - d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages)) -} - -PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins " - -# Install some default plugins based on default strongSwan ./configure options -# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist -RDEPENDS_${PN} += "\ - ${PN}-plugin-aes \ - ${PN}-plugin-attr \ - ${PN}-plugin-cmac \ - ${PN}-plugin-constraints \ - ${PN}-plugin-des \ - ${PN}-plugin-dnskey \ - ${PN}-plugin-hmac \ - ${PN}-plugin-kernel-netlink \ - ${PN}-plugin-md5 \ - ${PN}-plugin-nonce \ - ${PN}-plugin-pem \ - ${PN}-plugin-pgp \ - ${PN}-plugin-pkcs1 \ - ${PN}-plugin-pkcs7 \ - ${PN}-plugin-pkcs8 \ - ${PN}-plugin-pkcs12 \ - ${PN}-plugin-pubkey \ - ${PN}-plugin-random \ - ${PN}-plugin-rc2 \ - ${PN}-plugin-resolve \ - ${PN}-plugin-revocation \ - ${PN}-plugin-sha1 \ - ${PN}-plugin-sha2 \ - ${PN}-plugin-socket-default \ - ${PN}-plugin-sshkey \ - ${PN}-plugin-updown \ - ${PN}-plugin-vici \ - ${PN}-plugin-x509 \ - ${PN}-plugin-xauth-generic \ - ${PN}-plugin-xcbc \ - ${PN}-plugin-curve25519 \ - " - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} ${BPN}-starter.service" diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.4.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.4.bb new file mode 100644 index 000000000..0a2733195 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.4.bb @@ -0,0 +1,135 @@ +DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \ +Linux operating system." +SUMMARY = "strongSwan is an OpenSource IPsec implementation" +HOMEPAGE = "http://www.strongswan.org" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "gmp openssl flex-native flex bison-native" + +SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ + file://fix-funtion-parameter.patch \ + file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \ + " + +SRC_URI[md5sum] = "0634e7f40591bd3f6770e583c3f27d29" +SRC_URI[sha256sum] = "2d9a57e33813b62d58cba07531c4d5a35c6b823dfe9b8ff7c623b6571f02553c" + +UPSTREAM_CHECK_REGEX = "strongswan-(?P\d+(\.\d+)+)\.tar" + +EXTRA_OECONF = " \ + --without-lib-prefix \ + --with-dev-headers=${includedir}/strongswan \ +" + +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" + +PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \ +" +PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni" +PACKAGECONFIG[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils" +PACKAGECONFIG[charon] = "--enable-charon,--disable-charon," +PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl" +PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp" +PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap" +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql" +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl" +PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient," +PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup" +PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite" +PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke" +PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc" + +# requires swanctl +PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd," + +inherit autotools systemd pkgconfig + +RRECOMMENDS_${PN} = "kernel-module-ipsec" + +FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}" +FILES_${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug" +FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h" +FILES_${PN}-staticdev += "${libdir}/ipsec/*.a" + +CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf" + +PACKAGES += "${PN}-plugins" +ALLOW_EMPTY_${PN}-plugins = "1" + +PACKAGES_DYNAMIC += "^${PN}-plugin-.*$" +NOAUTOPACKAGEDEBUG = "1" + +python split_strongswan_plugins () { + sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon') + libdir = d.expand('${libdir}/ipsec/plugins') + dbglibdir = os.path.join(libdir, '.debug') + + def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename): + dvar = d.getVar('PKGD') + oldfiles = d.getVar('CONFFILES_' + pkg) + newfile = '/' + os.path.relpath(f, dvar) + + if not oldfiles: + d.setVar('CONFFILES_' + pkg, newfile) + else: + d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile) + + split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True) + do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf) + + split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg') + split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev') + split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev') + + if split_packages: + pn = d.getVar('PN') + d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages)) + d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) + d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages)) + d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages)) +} + +PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins " + +# Install some default plugins based on default strongSwan ./configure options +# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist +RDEPENDS_${PN} += "\ + ${PN}-plugin-aes \ + ${PN}-plugin-attr \ + ${PN}-plugin-cmac \ + ${PN}-plugin-constraints \ + ${PN}-plugin-des \ + ${PN}-plugin-dnskey \ + ${PN}-plugin-hmac \ + ${PN}-plugin-kernel-netlink \ + ${PN}-plugin-md5 \ + ${PN}-plugin-nonce \ + ${PN}-plugin-pem \ + ${PN}-plugin-pgp \ + ${PN}-plugin-pkcs1 \ + ${PN}-plugin-pkcs7 \ + ${PN}-plugin-pkcs8 \ + ${PN}-plugin-pkcs12 \ + ${PN}-plugin-pubkey \ + ${PN}-plugin-random \ + ${PN}-plugin-rc2 \ + ${PN}-plugin-resolve \ + ${PN}-plugin-revocation \ + ${PN}-plugin-sha1 \ + ${PN}-plugin-sha2 \ + ${PN}-plugin-socket-default \ + ${PN}-plugin-sshkey \ + ${PN}-plugin-updown \ + ${PN}-plugin-vici \ + ${PN}-plugin-x509 \ + ${PN}-plugin-xauth-generic \ + ${PN}-plugin-xcbc \ + ${PN}-plugin-curve25519 \ + " + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} ${BPN}-starter.service" diff --git a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.2.bb b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.2.bb new file mode 100644 index 000000000..8e35ee133 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.2.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Encrypted UDP based FTP with multicast" +HOMEPAGE = "https://sourceforge.net/projects/uftp-multicast" +SECTION = "libs/network" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504" + +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/uftp-multicast/files/source-tar/" + +SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz" +SRC_URI[md5sum] = "db0519bf7b1e0329449e81c1e68262f8" +SRC_URI[sha256sum] = "ecab6ab07fe0ebaf7bfe35d99fe2da28ede3ddc6f21f825d3b259cf171258505" + +DEPENDS = "openssl" + +do_install () { + oe_runmake install DESTDIR=${D} +} diff --git a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.bb b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.bb deleted file mode 100644 index 86c0c222c..000000000 --- a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "Encrypted UDP based FTP with multicast" -HOMEPAGE = "https://sourceforge.net/projects/uftp-multicast" -SECTION = "libs/network" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504" - -UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/uftp-multicast/files/source-tar/" - -SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz" -SRC_URI[md5sum] = "df6407af3a0067b881431b3dad149ef3" -SRC_URI[sha256sum] = "91ba8aae80c7c9ccaf04600b628cbeca4699ed48268fe43d2bf539a41083f292" - -DEPENDS = "openssl" - -do_install () { - oe_runmake install DESTDIR=${D} -} diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.4.bb b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.4.bb index 03eb2faec..6200214ac 100644 --- a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.4.bb +++ b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.4.bb @@ -23,7 +23,7 @@ S = "${WORKDIR}/git" EXTRA_OECONF = "--with-libexpat=${STAGING_EXECPREFIXDIR} \ --with-ssl=${STAGING_EXECPREFIXDIR} \ - libtool=${TARGET_PREFIX}libtool \ + libtool=${HOST_SYS}-libtool \ " diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.0.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.0.bb deleted file mode 100644 index df46b3326..000000000 --- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.0.bb +++ /dev/null @@ -1,81 +0,0 @@ -DESCRIPTION = "wireshark - a popular network protocol analyzer" -HOMEPAGE = "http://www.wireshark.org" -SECTION = "net" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" - -DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native" - -DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native " - -SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz" - -UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" - -SRC_URI[md5sum] = "259915adbbaded15de075afe7b4b03b6" -SRC_URI[sha256sum] = "4cfd33a19a454ff4002243e9d04d6afd64280a109a21ae652a192f2be2b1b66c" - -PE = "1" - -inherit cmake pkgconfig python3native perlnative upstream-version-is-even - -PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5 plugins', '', d)}" - -PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh" - -PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" -PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" -PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" -PACKAGECONFIG[libnl] = ",,libnl" -PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" -PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" -PACKAGECONFIG[ssl] = ",,openssl" -PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" -PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" -PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" -PACKAGECONFIG[geoip] = ",, geoip" -PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" -PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" -PACKAGECONFIG[libssh] = ",,libssh2" -PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" - -# these next two options require addional layers -PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares" -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ - -DBUILD_mmdbresolve=OFF \ - -DBUILD_randpktdump=OFF \ - -DBUILD_androiddump=OFF \ - -DBUILD_dcerpcidl2wrs=OFF \ - -DM_INCLUDE_DIR=${includedir} \ - -DM_LIBRARY=${libdir} \ - " -CFLAGS_append = " -lm" - -do_install_append_class-native() { - install -d ${D}${bindir} - for f in lemon - do - install -m 0755 ${B}/run/$f ${D}${bindir} - done -} - -do_install_append_class-target() { - for f in `find ${D}${libdir} ${D}${bindir} -type f -executable` - do - chrpath --delete $f - done -} - -PACKAGE_BEFORE_PN += "tshark" - -FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" - -FILES_${PN} += "${datadir}*" - -RDEPENDS_tshark = "wireshark" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.2.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.2.bb new file mode 100644 index 000000000..db545028f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.2.bb @@ -0,0 +1,81 @@ +DESCRIPTION = "wireshark - a popular network protocol analyzer" +HOMEPAGE = "http://www.wireshark.org" +SECTION = "net" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" + +DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native" + +DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native " + +SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz" + +UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" + +SRC_URI[md5sum] = "e468b78e1176e0212b13ef809f59dcbb" +SRC_URI[sha256sum] = "5f5923ef4c3fee370ed0ca1bb324f37c246015eba4a7e74ab95d9208feeded79" + +PE = "1" + +inherit cmake pkgconfig python3native perlnative upstream-version-is-even mime mime-xdg + +PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" + +PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh" + +PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" +PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" +PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" +PACKAGECONFIG[libnl] = ",,libnl" +PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" +PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" +PACKAGECONFIG[ssl] = ",,openssl" +PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" +PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" +PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" +PACKAGECONFIG[geoip] = ",, geoip" +PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" +PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" +PACKAGECONFIG[libssh] = ",,libssh2" +PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" + +# these next two options require addional layers +PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares" +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ + -DBUILD_mmdbresolve=OFF \ + -DBUILD_randpktdump=OFF \ + -DBUILD_androiddump=OFF \ + -DBUILD_dcerpcidl2wrs=OFF \ + -DM_INCLUDE_DIR=${includedir} \ + -DM_LIBRARY=${libdir} \ + " +CFLAGS_append = " -lm" + +do_install_append_class-native() { + install -d ${D}${bindir} + for f in lemon + do + install -m 0755 ${B}/run/$f ${D}${bindir} + done +} + +do_install_append_class-target() { + for f in `find ${D}${libdir} ${D}${bindir} -type f -executable` + do + chrpath --delete $f + done +} + +PACKAGE_BEFORE_PN += "tshark" + +FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" + +FILES_${PN} += "${datadir}*" + +RDEPENDS_tshark = "wireshark" + +BBCLASSEXTEND = "native" -- cgit v1.2.3