From 748a483a8f515f7aa0ce999ebeeebed4ed17ae10 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 24 Jul 2020 16:24:21 -0500 Subject: meta-openembedded: subtree update:e93d527a33..76b83194b3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alejandro Enedino Hernandez Samaniego (1): Remmina: Upgrade to 1.4.7 Alistair Francis (1): python3-obd: Add missing setuptools RDEPENDS Andreas Müller (3): xfce4-whiskermenu-plugin: upgrade 2.4.4 -> 2.4.5 xfce4-time-out-plugin: upgrade 1.1.0 -> 1.1.1 graphene: upgrade 1.10.0 -> 1.10.2 Andrej Valek (1): python3-xlsxwriter: add recipe for v 1.2.9 Aníbal Limón (1): recipes-graphics: Add parallel-deqp-runner recipe Armin Kuster (10): python3-flask-babel: update to 1.0.0 and consolidate python3-fastnumbers: Add new package python3-icu: add new package python3-natsort: add new package python3-croniter: Fix missing rdep python3-gmpy2: add new package python3-ecdsa: add package python3-rsa: add new package python3-gnupg: add new package python3-qrcode: add package Changqing Li (2): rsyslog: get alias of syslog back radvd: add /etc/radvd.conf Christian Eggers (2): networkmanager: Package nmcli separately networkmanager: Fix udev dependency Colin McAllister (4): python3-cantools: Added recipe python3-dateparser: Added recipe python3-diskcache: Added recipe python3-bitstruct: Added recipe Dmitry Baryshkov (1): recipes-graphics: add Khronos OpenGL ES and Vulkan CTS recipes Julius Hemanth Pitti (1): netkit-telnetd: Fix buffer overflow in netoprintf Kai Kang (1): python3-pykickstart: 3.22 -> 3.26 Khem Raj (4): ace: Upgrade to 6.5.10 network-manager-applet: Add missing dependency on libgudev memcached: Upgrade to 1.6.6 samba: Fix conflicts with nss.h from glibc Leon Anavi (12): python3-cbor2: Upgrade 5.1.0 -> 5.1.1 python3-psutil: Upgrade 5.7.0 -> 5.7.2 python3-isort: Upgrade 4.3.21 -> 5.1.0 python3-netaddr: Upgrade 0.7.20 -> 0.8.0 python3-bitarray: Upgrade 1.2.2 -> 1.4.1 python3-pymysql: Upgrade 0.9.3 -> 0.10.0 python3-simplejson: Upgrade 3.17.0 -> 3.17.2 python3-isort: Upgrade 5.1.0 -> 5.1.4 python3-stevedore: Upgrade 2.0.1 -> 3.2.0 python3-mock: Upgrade 4.0.1 -> 4.0.2 python3-pychromecast: Upgrade 7.1.1 -> 7.1.2 python3-coverage: Upgrade 5.1 -> 5.2 Matt Hoosier (1): glmark2: don't build full OpenGL backends by default Mingde (Matthew) Zeng (1): net-snmp, openjpeg: add proper CVE tags to patches Mingli Yu (1): freeradius: fix the existed certificate error Ovidiu Panait (1): nss: upgrade 3.51.1 -> 3.54 Philip Balister (1): python3-pybind11: Use cmake to build and add -native version Ryan Rowe (2): python3-packaging: add -native version python3-pint: add setuptools and packaging to RDEPENDS Sakib Sajal (4): python3-mock: add recipe for v4.0.1 python3-pep8: add recipe for v1.7.1 python3-mccabe: add recipe for v0.2.1 python3-requests-toolbelt: add ptest Slater, Joseph (2): lvm2: reproducible binaries toybox-inittab: unpack to S Wang Mingyu (2): python3-idna: upgrade 2.9 -> 2.10 python3-pytz: upgrade 2019.3 -> 2020.1 Zang Ruochen (5): python3-requests-file: Enable ptest python3-semver: Enable ptest python3-smpplib: Enable ptest python3-soupsieve: Enable ptest python3-typeguard: Enable ptest Zheng Ruoqin (3): babeld: upgrade 1.9.1 -> 1.9.2 wireguard-module: upgrade 1.0.20200401 -> 1.0.20200712 wireguard-tools: upgrade 1.0.20200319 -> 1.0.20200513 Signed-off-by: Andrew Geissler Change-Id: I7d02cff7fbd61a6f8e1a96354e169f5f19edf023 --- .../wireguard/wireguard-module_1.0.20200712.bb | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200712.bb (limited to 'meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200712.bb') diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200712.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200712.bb new file mode 100644 index 000000000..bc94e29ea --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200712.bb @@ -0,0 +1,35 @@ +require wireguard.inc + +SRCREV = "d553aa7c52ac78c1963886afb74ba861b0b7b0fc" + +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 +} -- cgit v1.2.3 From d688a01edf38bfee9e20fd4765d304c529dd3db3 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 18 Sep 2020 13:36:00 -0500 Subject: meta-openembedded: subtree update:ae39f2e711..bccd3277e4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alejandro Enedino Hernandez Samaniego (2): emacs: Create a new recipe for emacs weechat: Upgrade to 2.9 Andreas Müller (3): Initial add source-code-pro-fonts 2.030_1.050 gedit: add source-code-pro-fonts to RRECOMMENDS geany: add source-code-pro-fonts to RRECOMMENDS Andrej Valek (1): squid: upgrade 4.12 -> 4.13 Armin Kuster (3): log4cplus: pkg moved to core kea: pkg moved to core dhcpcd: pkg moved to core Arthur She (1): xmlrpc-c: fix Makefile macro error Arturo Buzarra (1): byacc: add nativesdk support Bartosz Golaszewski (1): libgpiod: update v1.4.3 -> v1.4.4 Bjarne Michelsen (1): asio: extend recipe to add native support Diego Rondini (4): libeigen: update SRC_URI to download from gitlab gvfs: adjust fuse packageconfig to fuse3 libeigen: update SRC_URI to use gitlab git hplip: use libexecdir Fabio Berton (2): libqmi: Update 1.26.0 -> 1.26.4 modemmanager: Update 1.12.12 -> 1.14.2 Gianfranco Costamagna (3): dlt-daemon: superseed upstream pr #238 patch with pr #245 due to unexpected behaviour brotli: update to 1.0.9 brotli: set upstream-status for the patch backported from upstream Haiqing Bai (1): rsyslog: fix wrong option of PACKAGECONFIG[valgrind] Hongxu Jia (1): python3-texttable: add recipe Jack Mitchell (1): meta-networking: dhcpcd: backport ALIGN compile error fix Jens Rehsack (1): bearssl: fix missing install Jose Dapena Paz (1): xmlsec1: do not use system libraries for non nss Jugurtha BELKALEM (1): recipe/ettercap : new ettercap recipe Khem Raj (67): valijson: Move it to networking-layer under BBFILES_DYNAMIC linuxptp: Fix cross build kernel-selftest: Tests in 5.8 depend on libhugetlbfs.h wireguard-module: Exlude from world builds Revert "iwd: Module load dir should be relative to root_dir" vboxguestdrivers: Fix build with kernel 5.8 kernel-selftest: Disable vm tests for mips/arm vulkan-cts: Update to 1.2.3.2 nss: Avoid converting enum to void* nss: Disable Werror across all recipe types nss: Upgrade to 3.56 mini-iconv: Remove wvstreams: Update SRC_URI to a fetchable location wvdial: Update SRC_URI to an accessible location packagegroup-meta-oe: Overhaul so it can build meta-oe-image mime-support: Use update-alternatives canutils: Use update-alternatives libusbgx: Use update-alternatives ttf-liberation-sans-narrow: Do not install normal liberation fonts mutter: Add a comment to remove pipewire-0.2 dependency with 3.36 sblim-sfcb: Fix target postinst hexedit: Define update alternatives lmbench: Use update alternatives for stream uml-utilities: Use update alternatives for tunctl imagemagick: Create symlinks for magick-script sharutils: Use update alternatives for uudecode/uuencode layer.conf: fixes icon-theme signature changes layer.conf: Fix for signature change for allarch icon themes properties-cpp: Add recipe packagegroup-meta-filesystems: Update to add new recipes packagegroup-meta-webserver: Update to include new recipes monkey: Remove /var/run monkey: Correct the install path in init services packagegroup-meta-oe: Exclude from world builds networkmanager: Depend on dhcpcd packagegroup-meta-networking: Add new packages bearssl: fix GNU_HASH link error autossh: Depend on ssh instead of hardcoding openssh quagga,pimd: Use update-alternatives for pimd netkit-rpc: Use update alternatives for rpcinfo ssmtp: Use update alternatives for conflicts with esmtp netkit-rwho: Use update-alternatives for tftp netkit-ftp: Use update-alternatives for ftp netkit-rwho: Convert to ontarget postinst schroedinger: Update SRC_URI packagegroup-meta-multimedia: Add new recipes mycroft: rdep on procps imapfilter: Fix linker flags toybox: Add packageconfigs for iconv and getconf tmux: Add -p option to mkdir packagegroup-meta-networking: Remove dhcpcd and kea packagegroup-meta-oe: Remove log4cplus packagegroup-meta-multimedia: Remove projucer on musl packagegroup-meta-perl: Update to represent latest recipes po4a: Switch to github for SRC_URI as alioth one seems to be gone libdata-hexdump-perl: Use update alternatives for hexdump meta-perl-image: Add packagegroup-meta-perl-extended meta-perl-ptest-image: Depend on ptest DISTRO_FEATURE iwd: Upgrade to 1.9 packagegroup-meta-python: Add new packages meta-python-image,meta-python-ptest-image: Use python3 packagegroups android-tools: Support libselinux to build with musl which now has gettid packagegroup-meta-oe.bb: Add cukinia to test packagegroups packagegroup-meta-oe: Add source-code-pro-fonts mongodb: Pass OBJCOPY to scons so it does not use it from host mongodb: Fix libunwind build with -fno-common mongodb: Fix i386 builds for non-glibc systems Leon Anavi (134): python3-pywbem: Upgrade 0.17.4 -> 1.0.2 python3-pydicti: Add recipe python3-yamlloader: Add recipe python3-tabulate: Add recipe python3-asciitree: Add recipe python3-custom-inherit: Add recipe python3-nocasedict: Add recipe python3-nocaselist: Add recipe python3-click-repl: Add recipe python3-click-spinner: Add recipe python3-pywbemtools: Add recipe python3-diskcache: Upgrade 4.1.0 -> 5.0.1 python3-langtable: Upgrade 0.0.51 -> 0.0.52 python3-pint: Upgrade 0.14 -> 0.15 python3-networkx: Upgrade 2.4 -> 2.5 python3-attrs: Upgrade 19.3.0 -> 20.1.0 python3-pychromecast: Upgrade 7.2.0 -> 7.2.1 python3-dominate: Upgrade 2.5.1 -> 2.5.2 python3-pymisp: Upgrade 2.4.128 -> 2.4.130 python3-inflection: Upgrade 0.5.0 -> 0.5.1 python3-typing-extensions: Upgrade 3.7.4.2 -> 3.7.4.3 python3-pandas: Upgrade 1.1.0 -> 1.1.1 python3-msm: Upgrade 0.8.7 -> 0.8.8 lshw: Upgrade 2.18 -> 2.19 mercurial: Upgrade 5.4 -> 5.5 doxygen: Upgrade 1.8.17 -> 1.8.20 python3-bitarray: Upgrade 1.5.2 -> 1.5.3 python3-cryptography-vectors: Upgrade 2.9.2 -> 3.0 python3-openpyxl: Upgrade 3.0.4 -> 3.0.5 python3-cmd2: Upgrade 1.3.3 -> 1.3.4 python3-sentry-sdk: Upgrade 0.16.5 -> 0.17.0 python3-flask: Consolidate in a single file python3-flask: Upgrade 1.1.1 -> 1.1.2 python3-diskcache: Upgrade 5.0.1 -> 5.0.2 python3-cmd2: Upgrade 1.3.4 -> 1.3.5 python3-flask-wtf: Consolidate in a single file python3-flask-wtf: Upgrade 0.14.2 -> 0.14.3 python3-flask-socketio: Consolidate in a single file python3-flask-socketio: Upgrade 4.2.1 -> 4.3.1 python3-google-api-python-client: Upgrade 1.10.0 -> 1.10.1 python3-cryptography: Upgrade 3.0 -> 3.1 python3-twitter: Upgrade 3.8.0 -> 3.9.0 python3-ntplib: Upgrade 0.3.3 -> 0.3.4 python3-flask-babel: Upgrade 1.0.0 -> 2.0.0 python3-flask-migrate: Consolidate in a single file python3-flask-migrate: Upgrade 2.5.2 -> 2.5.3 python3-flask-restful: Consolidate in a single file python3-flask-restful: Upgrade 0.3.7 -> 0.3.8 python3-flask-sqlalchemy: Consolidate in a single file python3-flask-sqlalchemy: Upgrade 2.4.1 -> 2.4.4 php: Upgrade 7.4.4 -> 7.4.9 python3-ecdsa: Upgrade 0.15 -> 0.16.0 python3-luma-core: Upgrade 1.15.0 -> 1.16.0 python3-cryptography-vectors: Upgrade 3.0 -> 3.1 python3-google-api-python-client: Upgrade 1.10.1 -> 1.11.0 python3-flask-user: Consolidate in a single file python3-cmd2: Upgrade 1.3.5 -> 1.3.8 python3-sh: Upgrade 1.13.1 -> 1.14.0 python3-paramiko: Upgrade 2.7.1 - 2.7.2 python3-parse: Upgrade 1.16.0 -> 1.17.0 python3-prompt-toolkit: Upgrade 3.0.6 -> 3.0.7 python3-more-itertools: Upgrade 8.4.0 -> 8.5.0 python3-ipython: Upgrade 7.17.0 -> 7.18.1 python3-hpack: Consolidate in a single file python3-hpack: Upgrade 3.0.0 -> 4.0.0 python3-sentry-sdk: Upgrade 0.17.0 -> 0.17.1 python3-luma-core: Upgrade 1.16.0 -> 1.16.1 python3-traitlets: Upgrade 4.3.3 -> 5.0.0 python3-flask-nav: Consolidate in a single file python3-flask-mail: Consolidate in a single file python3-flask-pymongo: Consolidate in a single file python3-pillow: Upgrade 6.2.1 -> 7.2.0 znc: Upgrade 1.7.5 -> 1.8.1 mosquitto: Upgrade 1.6.11 -> 1.6.12 fping: Upgrade 4.4 -> 5.0 nano: Upgrade 5.1 -> 5.2 hwdata: Upgrade 0.336 -> 0.339 xscreensaver: Add HOMEPAGE python3-meh: Upgrade 0.48 -> 0.49 python3-stevedore: Upgrade 3.2.0 -> 3.2.1 python3-robotframework: Upgrade 3.2.1 -> 3.2.2 python3-sentry-sdk: Upgrade 0.17.1 -> 0.17.2 python3-pycurl: Upgrade 7.43.0.5 -> 7.43.0.6 python3-pyzmq: Upgrade 17.1.0 -> 19.0.2 python3-mccabe: Upgrade 0.2.1 -> 0.6.1 python3-nmap: Upgrade 1.4.7 -> 1.4.8 python3-absl: Upgrade 0.9.0 -> 0.10.0 python3-systemd: Consolidate in a single file python3-gevent: Consolidate in a single file python3-gevent: Upgrade 1.4.0 -> 20.6.2 python3-ruamel-yaml: Upgrade 0.16.10 -> 0.16.11 python3-cmd2: Upgrade 1.3.8 -> 1.3.9 python3-traitlets: 5.0.0 -> 5.0.3 python3-priority: Consolidate in a single file python3-hyperframe: Consolidate in a single file python3-mprpc: Consolidate in a single file python3-gsocketpool: Consolidate in a single file gyp: Consolidate in a single file gyp: Upgrade to latest version python3-fann2: Consolidate in a single file python3-isort: Upgrade 5.4.2 -> 5.5.0 python3-sentry-sdk: Upgrade 0.17.2 -> 0.17.3 python3-hyperframe: Upgrade 5.2.0 -> 6.0.0 python3-traitlets: Upgrade 5.0.3 -> 5.0.4 python3-texttable: Upgrade 1.6.2 -> 1.6.3 python3-iso8601: Upgrade 0.1.12 -> 0.1.13 python3-dbus-next: Upgrade 0.1.3 -> 0.1.4 python3-ujson: Upgrade 3.1.0 -> 3.2.0 python3-trafaret: Upgrade 2.0.2 -> 2.1.0 python3-tqdm: Upgrade 4.48.2 -> 4.49.0 python3-isort: Upgrade 5.5.0 -> 5.5.2 python3-coverage: Upgrade 5.2.1 -> 5.3 python3-diskcache: Upgrade 5.0.2 -> 5.0.3 python3-haversine: Upgrade 2.2.0 -> 2.3.0 python3-pymysql: Upgrade 0.10.0 -> 0.10.1 python3-alembic: Upgrade 1.4.2 -> 1.4.3 python3-nocasedict: Upgrade 0.5.0 -> 1.0.0 python3-pyroute2: Upgrade 0.5.13 -> 0.5.14 python3-pyusb: Upgrade 1.0.2 -> 1.1.0 python3-pandas: Upgrade 1.1.1 -> 1.1.2 python3-pint: Upgrade 0.15 -> 0.16 python3-parse: Upgrade 1.17.0 -> 1.18.0 python3-cffi: Upgrade 1.14.2 -> 1.14.3 python3-google-api-python-client: Upgrade 1.11.0 -> 1.12.1 python3-sentry-sdk: Upgrade 0.17.3 -> 0.17.5 python3-attrs: Upgrade 20.1.0 -> 20.2.0 python3-nocaselist: Upgrade 1.0.1 -> 1.0.2 python3-pymisp: Upgrade 2.4.130 -> 2.4.131 python3-stevedore: Upgrade 3.2.1 -> 3.2.2 python3-matplotlib: Upgrade 3.3.1 -> 3.3.2 python3-pychromecast: Upgrade 7.2.1 -> 7.3.0 python3-pyrsistent: Upgrade 0.16.0 -> 0.17.3 python3-ruamel-yaml: Upgrade 0.16.11 -> 0.16.12 python3-msk: Upgrade 0.3.15 -> 0.3.16 Madhavan Krishnan (1): libcamera: Bumped to latest revision and added pkgconfig to enable gstreamer Marc (1): openocd: Update to latest git version Marek Vasut (1): freerdp: Add missing libxkbcommon WL dependency Martin Jansa (5): fbida: require opengl in DISTRO_FEATURES nss: fix postinst in do_rootfs for target nss: remove signlibs.sh st: add x11 to REQUIRED_DISTRO_FEATURES to suck less st: fix indentation Michael Fitz-Payne (1): python3-greenstalk: add recipe for greenstalk python package. Michael Vetter (2): jasper: Use new repo URL README: Use quotation marks for subject prefix Mikko Rapeli (4): nss: fix postinst script for nativesdk build mdns: update to version 1096.40.7 mdns: set CVE_PRODUCT to "apple:mdnsresponder" mdns: add BSD-3-Clause to LICENSE Mingli Yu (2): mariadb: package executables named with mariadb opencv: improve reproducibility Ola X Nilsson (1): syslog-ng: Drop obsolete variable ONLINE_PACKAGE_MANAGEMENT Oleksandr Kravchuk (1): tesseract: update to 4.1.1 Ovidiu Panait (1): net-snmp: upgrade 5.8 -> 5.9 Richard Leitner (1): liburing: add v0.7 Robert Joslyn (3): postgresql: Update to 12.4 htop: Update to 3.0.1 consolation: Add recipe Sakib Sajal (1): apache2: upgrade v2.4.43 -> v2.4.46 Slater, Joseph (2): openjpeg: fix CVE-2020-15389 luajit: advance SRCREV to fix two CVE's Stanislav Angelovic (1): Bump sdbus-c++ version to v0.8.3 Trevor Gamblin (3): packagegroup-meta-python: fix PACKAGES and default ptest recipe name python3-django: upgrade 2.2.13 -> 2.2.16 python3-django: add recipe for 3.1.1 Vincent Prince (1): mongodb: bump to r4.4.1 version Wenlin Kang (2): lua: fix CVE-2020-15945 lua: fix CVE-2020-24371 Yann Dirson (5): New terminal emulator: st 0.8.4 libcec: workaround wrong choice of PYTHON_PKG_DIR when building on Debian libcec: build with Linux CEC API libcec: rename libcec-tools to libcec-examples libcec: split the python example into a separate package Zang Ruochen (38): lftp: upgrade 4.9.1 -> 4.9.2 wireshark: upgrade 3.2.5 -> 3.2.6 leptonica: upgrade 1.79.0 -> 1.80.0 links: upgrade 2.20.2 -> 2.21 nano: upgrade 5.0 -> 5.1 nlohmann-json: upgrade 3.9.0 -> 3.9.1 openldap: upgrade 2.4.50 -> 2.4.51 protobuf: upgrade 3.12.3 -> 3.13.0 sanlock: upgrade 3.8.1 -> 3.8.2 libnet-dns-perl: upgrade 1.25 -> 1.26 libidn: upgrade 1.35 -> 1.36 satyr: upgrade 0.30 -> 0.31 spitools: upgrade 0.8.4 -> 0.8.5 fio: upgrade 3.21 -> 3.22 iperf3: upgrade 3.7 -> 3.9 paho-mqtt-c: upgrade 1.3.4 -> 1.3.5 purple-skypeweb: upgrade 1.6 -> 1.7 libdbd-sqlite-perl: upgrade 1.64 -> 1.66 libencode-perl: upgrade 3.06 -> 3.07 dash: upgrade 0.5.11.1 -> 0.5.11.2 fuse3: upgrade 3.9.2 -> 3.9.3 gperftools: upgrade 2.7.90 -> 2.8 xfsprogs: upgrade 5.7.0 -> 5.8.0 cifs-utils: upgrade 6.10 -> 6.11 libdnet: upgrade 1.12 -> 1.14 asio: upgrade 1.16.1 -> 1.18.0 collectd: upgrade 5.11.0 -> 5.12.0 cryptsetup: upgrade 2.3.3 -> 2.3.4 gsoap: upgrade 2.0.105 -> 2.0.106 jasper: upgrade 2.0.19 -> 2.0.20 lcms: upgrade 2.9 -> 2.11 libhugetlbfs: upgrade 2.22 -> 2.23 ostree: upgrade 2020.5 -> 2020.6 poppler: upgrade 20.08.0 -> 20.09.0 redis: upgrade 6.0.6 -> 6.0.7 spdlog: upgrade 1.7.0 -> 1.8.0 zeromq: upgrade 4.3.2 -> 4.3.3 python3-test-generator: Enable ptest leckijakub (1): cukinia: new package Signed-off-by: Andrew Geissler Change-Id: I8382b605a3c059a037b8f4db53608f505da642ed --- .../packagegroup-meta-filesystems.bb | 34 +- .../recipes-support/fuse/fuse3_3.9.2.bb | 61 - .../recipes-support/fuse/fuse3_3.9.3.bb | 61 + .../recipes-utils/xfsprogs/xfsprogs_5.7.0.bb | 73 - .../recipes-utils/xfsprogs/xfsprogs_5.8.0.bb | 73 + meta-openembedded/meta-gnome/conf/layer.conf | 6 + .../meta-gnome/recipes-gnome/gedit/gedit_3.36.2.bb | 1 + .../meta-gnome/recipes-gnome/gvfs/gvfs_1.44.1.bb | 2 +- .../recipes-gnome/mutter/mutter_3.34.6.bb | 1 + .../recipes-multimedia/libcamera/libcamera.bb | 11 +- .../recipes-multimedia/mycroft/mycroft_19.8.1.bb | 3 + .../packagegroups/packagegroup-meta-multimedia.bb | 98 +- .../schroedinger/schroedinger_1.0.11.bb | 2 +- .../recipes-connectivity/autossh/autossh_1.4g.bb | 2 +- ...Pass-LDFLAGS-when-building-shared-objects.patch | 32 + .../recipes-connectivity/bearssl/bearssl_0.6.bb | 11 + .../recipes-connectivity/dhcpcd/dhcpcd_9.1.4.bb | 28 - ...remove-INCLUDEDIR-to-prevent-build-issues.patch | 45 - .../kea/files/0001-remove-AC_TRY_RUN.patch | 34 - .../kea/files/kea-dhcp-ddns.service | 13 - .../kea/files/kea-dhcp4.service | 13 - .../kea/files/kea-dhcp6.service | 13 - .../recipes-connectivity/kea/kea_1.7.7.bb | 67 - .../recipes-connectivity/lftp/lftp_4.9.1.bb | 31 - .../recipes-connectivity/lftp/lftp_4.9.2.bb | 31 + .../recipes-connectivity/libdnet/libdnet_1.12.bb | 20 - .../recipes-connectivity/libdnet/libdnet_1.14.bb | 20 + .../mosquitto/mosquitto_1.6.11.bb | 89 - .../mosquitto/mosquitto_1.6.12.bb | 89 + .../networkmanager/networkmanager_1.22.14.bb | 2 +- .../packagegroups/packagegroup-meta-networking.bb | 244 +- .../recipes-daemons/squid/squid_4.12.bb | 117 - .../recipes-daemons/squid/squid_4.13.bb | 117 + .../recipes-irc/weechat/weechat_2.8.bb | 32 - .../recipes-irc/weechat/weechat_2.9.bb | 33 + .../meta-networking/recipes-irc/znc/znc_1.7.5.bb | 32 - .../meta-networking/recipes-irc/znc/znc_1.8.1.bb | 32 + .../wireguard/wireguard-module_1.0.20200712.bb | 5 + .../wireguard/wireguard-tools_1.0.20200513.bb | 5 +- .../recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb | 6 +- .../recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb | 7 + .../recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb | 3 +- .../recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb | 6 +- ...subroutine-for-cleaning-recent-interfaces.patch | 21 +- .../0001-mdns-include-stddef.h-for-NULL.patch | 40 + ...-mdns-cross-compilation-fixes-for-bitbake.patch | 145 + .../0004-Use-list-for-changed-interfaces.patch | 28 +- .../files/0005-Handle-noisy-netlink-sockets.patch | 212 - ...-Indicate-loopback-interface-to-mDNS-core.patch | 129 - ...dynamic-allocation-to-file-scope-variable.patch | 20 +- .../recipes-protocols/mdns/files/build.patch | 167 - .../recipes-protocols/mdns/mdns_1096.40.7.bb | 102 + .../recipes-protocols/mdns/mdns_878.270.2.bb | 101 - ...fig-support-for-building-applications-and.patch | 168 - .../0001-config_os_headers-Error-Fix.patch | 10 +- .../0001-get_pid_from_inode-Include-limit.h.patch | 2 +- ...01-net-snmp-fix-compile-error-disable-des.patch | 62 - ...tools.c-Don-t-check-for-return-from-EVP_M.patch | 21 +- .../0002-configure-fix-a-cc-check-issue.patch | 4 +- .../0004-configure-fix-incorrect-variable.patch | 8 +- .../net-snmp/net-snmp/CVE-2019-20892.patch | 120 - .../net-snmp/net-snmp/fix-libtool-finish.patch | 4 +- ...nmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch | 10 +- ...snmp-add-knob-whether-nlist.h-are-checked.patch | 16 +- .../net-snmp/net-snmp-fix-for-disable-des.patch | 6 +- ...p-testing-add-the-output-format-for-ptest.patch | 2 +- ...ibility-accept-configure-options-from-env.patch | 15 - .../net-snmp/reproducibility-have-printcap.patch | 17 +- .../recipes-protocols/net-snmp/net-snmp_5.8.bb | 278 -- .../recipes-protocols/net-snmp/net-snmp_5.9.bb | 273 ++ .../recipes-protocols/quagga/quagga.inc | 6 +- .../recipes-support/cifs/cifs-utils_6.10.bb | 39 - .../recipes-support/cifs/cifs-utils_6.11.bb | 39 + .../recipes-support/ettercap/ettercap_0.8.3.1.bb | 42 + .../recipes-support/fping/fping_4.4.bb | 24 - .../recipes-support/fping/fping_5.0.bb | 24 + .../recipes-support/pimd/pimd_2.3.2.bb | 6 +- .../recipes-support/ssmtp/ssmtp_2.64.bb | 15 +- .../recipes-support/wireshark/wireshark_3.2.5.bb | 80 - .../recipes-support/wireshark/wireshark_3.2.6.bb | 80 + meta-openembedded/meta-oe/README | 2 +- meta-openembedded/meta-oe/conf/layer.conf | 2 + .../0001-Fix-compilation-with-fno-common.patch | 448 ++ ...to-use-build-settings-from-environment-va.patch | 25 +- ...__-to-control-use-of-gnu_get_libc_version.patch | 8 +- .../0001-Use-long-long-instead-of-int64_t.patch | 15 +- ...kms-message-bump-libmongocrypto-to-v1.0.4.patch | 714 +++ .../0001-stacktrace-Define-ARCH_BITS-for-x86.patch | 29 + ...finition-for-the-macro-__ELF_NATIVE_CLASS.patch | 13 +- .../mongodb/0003-Fix-unknown-prefix-env.patch | 2 +- .../recipes-dbs/mongodb/mongodb/1296.patch | 12 +- .../mongodb/mongodb/arm64-support.patch | 14 +- .../meta-python/recipes-dbs/mongodb/mongodb_git.bb | 65 +- .../packagegroups/packagegroup-meta-oe.bbappend | 3 + .../recipes-devtools/valijson/valijson_0.3.bb | 36 + .../meta-oe/recipes-benchmark/fio/fio_3.21.bb | 45 - .../meta-oe/recipes-benchmark/fio/fio_3.22.bb | 45 + .../meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb | 29 - .../meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb | 29 + ...sts-add-explicit-permissions-to-open-call.patch | 41 - .../libhugetlbfs/libhugetlbfs_git.bb | 5 +- .../recipes-benchmark/lmbench/lmbench_3.0-a9.bb | 6 +- .../meta-oe/recipes-connectivity/iwd/iwd_1.8.bb | 54 - .../meta-oe/recipes-connectivity/iwd/iwd_1.9.bb | 54 + .../recipes-connectivity/libqmi/libqmi_1.26.0.bb | 22 - .../recipes-connectivity/libqmi/libqmi_1.26.4.bb | 21 + .../linuxptp/Use-cross-cpp-in-incdefs.patch | 26 + .../linuxptp/no-incdefs-using-host-headers.patch | 29 - .../recipes-connectivity/linuxptp/linuxptp_3.0.bb | 7 +- .../modemmanager/modemmanager_1.12.12.bb | 54 - .../modemmanager/modemmanager_1.14.2.bb | 53 + .../files/0001-Fix-bug-of-free-with-musl.patch | 39 - .../paho-mqtt-c/paho-mqtt-c_1.3.4.bb | 35 - .../paho-mqtt-c/paho-mqtt-c_1.3.5.bb | 34 + .../recipes-connectivity/wvdial/wvdial_1.61.bb | 2 +- .../recipes-connectivity/wvdial/wvstreams_4.6.1.bb | 2 +- ...txt-Avoid-host-specific-path-to-libsodium.patch | 19 +- .../recipes-connectivity/zeromq/zeromq_4.3.2.bb | 29 - .../recipes-connectivity/zeromq/zeromq_4.3.3.bb | 29 + .../packagegroups/packagegroup-meta-oe.bb | 999 +++- .../sdbus-c++/sdbus-c++-0.8.1/run-ptest | 15 - .../sdbus-c++/sdbus-c++-0.8.3/run-ptest | 15 + .../sdbus-c++/sdbus-c++-tools_0.8.1.bb | 16 - .../sdbus-c++/sdbus-c++-tools_0.8.3.bb | 16 + .../recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb | 37 - .../recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb | 37 + .../meta-oe/recipes-core/toybox/toybox_0.8.3.bb | 13 +- .../recipes-crypto/cryptsetup/cryptsetup_2.3.3.bb | 92 - .../recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb | 92 + .../meta-oe/recipes-dbs/mysql/mariadb.inc | 52 +- .../meta-oe/recipes-dbs/postgresql/postgresql.inc | 4 +- .../recipes-dbs/postgresql/postgresql_12.3.bb | 12 - .../recipes-dbs/postgresql/postgresql_12.4.bb | 11 + ...Do-not-define-gettid-if-glibc-2.30-is-use.patch | 21 +- .../doxygen-native-only-check-python3.patch | 359 +- .../recipes-devtools/doxygen/doxygen_1.8.17.bb | 18 - .../recipes-devtools/doxygen/doxygen_1.8.20.bb | 18 + .../meta-oe/recipes-devtools/geany/geany_1.36.bb | 2 + .../recipes-devtools/log4cplus/log4cplus_2.0.5.bb | 19 - .../lshw/files/0001-Fix-musl-build.patch | 125 + .../0001-Makefile-Fix-cross-compilation.patch | 57 - ...e-supplied-LDFLAGS-to-silence-OE-GNU_HASH.patch | 34 - .../0003-sysfs-Fix-basename-build-with-musl.patch | 92 - .../meta-oe/recipes-devtools/lshw/lshw_02.18.bb | 34 - .../meta-oe/recipes-devtools/lshw/lshw_02.19.2.bb | 32 + ...ug-barriers-cannot-be-active-during-sweep.patch | 90 + .../recipes-devtools/lua/lua/CVE-2020-15945.patch | 167 + .../meta-oe/recipes-devtools/lua/lua_5.3.5.bb | 2 + .../meta-oe/recipes-devtools/luajit/luajit_git.bb | 6 +- .../recipes-devtools/mercurial/mercurial_5.4.bb | 38 - .../recipes-devtools/mercurial/mercurial_5.5.bb | 38 + .../nlohmann-json/nlohmann-json_3.9.0.bb | 28 - .../nlohmann-json/nlohmann-json_3.9.1.bb | 28 + .../0001-Do-not-include-syscrtl.h-with-glibc.patch | 33 - ...itbang-Make-bitbang_swd-extern-definition.patch | 42 - .../recipes-devtools/openocd/openocd_git.bb | 8 +- .../php/php/debian-php-fixheader.patch | 27 +- .../meta-oe/recipes-devtools/php/php_7.4.4.bb | 276 -- .../meta-oe/recipes-devtools/php/php_7.4.9.bb | 277 ++ .../recipes-devtools/protobuf/protobuf_3.12.3.bb | 90 - .../recipes-devtools/protobuf/protobuf_3.13.0.bb | 90 + .../recipes-devtools/valijson/valijson_0.3.bb | 36 - ...003-src-Makefile-Fix-Makefile-macro-error.patch | 29 + .../recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb | 1 + .../recipes-extended/brotli/brotli/838.patch | 48 + .../recipes-extended/brotli/brotli_1.0.7.bb | 22 - .../recipes-extended/brotli/brotli_1.0.9.bb | 23 + .../meta-oe/recipes-extended/byacc/byacc.inc | 2 +- .../recipes-extended/collectd/collectd_5.11.0.bb | 88 - .../recipes-extended/collectd/collectd_5.12.0.bb | 88 + .../dlt-daemon/dlt-daemon/238.patch | 35 - .../dlt-daemon/dlt-daemon/245.patch | 74 + .../dlt-daemon/dlt-daemon_2.18.5.bb | 2 +- .../recipes-extended/hexedit/hexedit_1.4.2.bb | 6 +- .../recipes-extended/hplip/hplip_3.19.12.bb | 14 +- ...move-buggy-test-confusing-host-and-target.patch | 31 + .../recipes-extended/libcec/libcec_6.0.2.bb | 14 +- .../libidn/0001-idn-format-security-warnings.patch | 45 +- .../meta-oe/recipes-extended/libidn/libidn_1.35.bb | 40 - .../meta-oe/recipes-extended/libidn/libidn_1.36.bb | 40 + .../recipes-extended/ostree/ostree_2020.5.bb | 189 - .../recipes-extended/ostree/ostree_2020.6.bb | 189 + .../properties-cpp/properties-cpp_git.bb | 22 + .../meta-oe/recipes-extended/redis/redis_6.0.6.bb | 66 - .../meta-oe/recipes-extended/redis/redis_6.0.7.bb | 66 + .../recipes-extended/rsyslog/rsyslog_8.2006.0.bb | 8 +- .../recipes-extended/sanlock/sanlock_3.8.1.bb | 45 - .../recipes-extended/sanlock/sanlock_3.8.2.bb | 45 + .../sblim-sfcb/sblim-sfcb_1.4.9.bb | 6 +- .../recipes-extended/socketcan/can-utils_git.bb | 6 +- .../recipes-extended/socketcan/canutils_4.0.6.bb | 7 + .../meta-oe/recipes-extended/tmux/tmux_3.1b.bb | 2 +- .../uml-utilities/uml-utilities_20040406.bb | 5 + .../meta-oe/recipes-graphics/fbida/fbida_2.14.bb | 5 +- .../recipes-graphics/jasper/jasper_2.0.19.bb | 24 - .../recipes-graphics/jasper/jasper_2.0.20.bb | 24 + .../recipes-graphics/leptonica/leptonica_1.79.0.bb | 20 - .../recipes-graphics/leptonica/leptonica_1.80.0.bb | 20 + .../openjpeg/openjpeg/CVE-2020-15389.patch | 51 + .../recipes-graphics/openjpeg/openjpeg_2.3.1.bb | 1 + .../meta-oe/recipes-graphics/suckless/st_0.8.4.bb | 25 + .../tesseract/0001-include-sys-time.h.patch | 34 + .../recipes-graphics/tesseract/tesseract_4.1.1.bb | 24 + .../recipes-graphics/tesseract/tesseract_git.bb | 21 - .../44-source-code-pro-fonts-fontconfig.conf | 17 + .../ttf-fonts/source-code-pro-fonts_2.030_1.050.bb | 29 + .../ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb | 2 + .../recipes-graphics/vk-gl-cts/khronos-cts.inc | 4 +- .../vk-gl-cts/opengl-es-cts_3.2.6.1.bb | 3 +- .../vk-gl-cts/vulkan-cts_1.2.3.0.bb | 23 - .../vk-gl-cts/vulkan-cts_1.2.3.2.bb | 24 + .../xscreensaver/xscreensaver_5.44.bb | 2 +- .../kernel-selftest/kernel-selftest.bb | 10 +- .../meta-oe/recipes-shells/dash/dash_0.5.11.1.bb | 27 - .../meta-oe/recipes-shells/dash/dash_0.5.11.2.bb | 27 + .../meta-oe/recipes-support/asio/asio_1.16.1.bb | 27 - .../meta-oe/recipes-support/asio/asio_1.18.0.bb | 29 + .../consolation/consolation_0.0.8.bb | 29 + .../meta-oe/recipes-support/emacs/emacs_27.1.bb | 261 + .../emacs/files/usemake-docfile-native.patch | 85 + .../recipes-support/freerdp/freerdp_2.2.0.bb | 2 +- .../gperftools/gperftools_2.7.90.bb | 49 - .../recipes-support/gperftools/gperftools_2.8.bb | 49 + .../meta-oe/recipes-support/gsoap/gsoap_2.8.105.bb | 42 - .../meta-oe/recipes-support/gsoap/gsoap_2.8.106.bb | 42 + .../files/0001-Ask-for-python3-specifically.patch | 26 - .../recipes-support/htop/files/htop-gcc10.patch | 31 - .../meta-oe/recipes-support/htop/htop_2.2.0.bb | 38 - .../meta-oe/recipes-support/htop/htop_3.0.1.bb | 31 + .../meta-oe/recipes-support/hwdata/hwdata_git.bb | 4 +- .../imagemagick/imagemagick_7.0.10.bb | 7 +- .../imapfilter/imapfilter/ldflags.patch | 16 + .../imapfilter/imapfilter_2.6.16.bb | 6 +- .../meta-oe/recipes-support/lcms/lcms_2.11.bb | 16 + .../meta-oe/recipes-support/lcms/lcms_2.9.bb | 16 - .../recipes-support/libeigen/libeigen_3.3.7.bb | 8 +- .../recipes-support/libgpiod/libgpiod_1.4.3.bb | 21 - .../recipes-support/libgpiod/libgpiod_1.4.4.bb | 21 + .../recipes-support/liburing/liburing_0.7.bb | 24 + .../meta-oe/recipes-support/libusbg/libusbg_git.bb | 5 +- .../recipes-support/libusbgx/libusbgx_git.bb | 7 +- .../meta-oe/recipes-support/links/links_2.20.2.bb | 15 - .../meta-oe/recipes-support/links/links_2.21.bb | 15 + .../recipes-support/mailcap/mailcap_2.1.49.bb | 5 + .../mime-support/mime-support_3.48.bb | 6 + .../recipes-support/mini-iconv/mini-iconv.bb | 20 - .../meta-oe/recipes-support/nano/nano_5.0.bb | 21 - .../meta-oe/recipes-support/nano/nano_5.2.bb | 21 + ...a-configure-option-to-disable-ARM-HW-cryp.patch | 33 +- ...01-pkix-Do-not-use-NULL-where-0-is-needed.patch | 46 + .../meta-oe/recipes-support/nss/nss/signlibs.sh | 20 - .../meta-oe/recipes-support/nss/nss_3.54.bb | 277 -- .../meta-oe/recipes-support/nss/nss_3.56.bb | 272 ++ .../meta-oe/recipes-support/opencv/opencv_4.4.0.bb | 7 + .../recipes-support/openldap/openldap_2.4.50.bb | 254 - .../recipes-support/openldap/openldap_2.4.51.bb | 254 + .../recipes-support/pidgin/purple-skypeweb_git.bb | 4 +- .../recipes-support/poppler/poppler_20.08.0.bb | 51 - .../recipes-support/poppler/poppler_20.09.0.bb | 51 + .../meta-oe/recipes-support/satyr/satyr_0.30.bb | 34 - .../meta-oe/recipes-support/satyr/satyr_0.31.bb | 34 + .../recipes-support/sharutils/sharutils_4.15.2.bb | 6 +- .../meta-oe/recipes-support/spdlog/spdlog_1.7.0.bb | 21 - .../meta-oe/recipes-support/spdlog/spdlog_1.8.0.bb | 21 + .../recipes-support/spitools/spitools_git.bb | 4 +- .../recipes-support/syslog-ng/syslog-ng.inc | 4 - .../0001-fixes_for_mm_struct.patch | 176 - .../0002-fixes_for_module_memory.patch | 65 - .../0003-fixes_for_changes_in_cpu_tlbstate.patch | 39 - .../vboxguestdrivers/021-linux-5-8.patch | 5046 ++++++++++++++++++++ .../vboxguestdrivers/kernel-5.8-4.patch | 19 - .../vboxguestdrivers/vboxguestdrivers_6.1.12.bb | 5 +- .../recipes-support/xmlsec1/xmlsec1_1.2.30.bb | 2 +- .../meta-oe/recipes-test/cukinia/cukinia_0.5.1.bb | 19 + .../recipes-perl/images/meta-perl-image.bb | 2 +- .../recipes-perl/images/meta-perl-ptest-image.bb | 4 + .../libdata/libdata-hexdump-perl_0.02.bb | 7 +- .../recipes-perl/libdb/libdbd-sqlite-perl_1.64.bb | 56 - .../recipes-perl/libdb/libdbd-sqlite-perl_1.66.bb | 56 + .../recipes-perl/libencode/libencode-perl_3.06.bb | 106 - .../recipes-perl/libencode/libencode-perl_3.07.bb | 106 + .../recipes-perl/libnet/libnet-dns-perl_1.25.bb | 66 - .../recipes-perl/libnet/libnet-dns-perl_1.26.bb | 66 + .../packagegroups/packagegroup-meta-perl.bb | 102 +- .../meta-perl/recipes-perl/po4a/po4a_0.49.bb | 2 +- meta-openembedded/meta-python/licenses/WTFPL | 14 + .../python-gsocketpool/python-gsocketpool.inc | 12 - .../python3-gsocketpool_0.1.6.bb | 14 +- .../python-hpack/python-hpack.inc | 10 - .../python-hpack/python3-hpack_3.0.0.bb | 3 - .../python-hpack/python3-hpack_4.0.0.bb | 10 + .../python-hyperframe/python-hyperframe.inc | 10 - .../python-hyperframe/python3-hyperframe_5.2.0.bb | 3 - .../python-hyperframe/python3-hyperframe_6.0.0.bb | 10 + .../python-mprpc/python-mprpc.inc | 13 - .../python-mprpc/python3-mprpc_0.1.17.bb | 15 +- .../python-priority/python-priority.inc | 10 - .../python-priority/python3-priority_1.3.0.bb | 11 +- .../recipes-core/images/meta-python-image.bb | 3 +- .../recipes-core/images/meta-python-ptest-image.bb | 2 +- .../packagegroups/packagegroup-meta-python.bb | 471 +- .../meta-python/recipes-devtools/gyp/gyp.inc | 13 - .../meta-python/recipes-devtools/gyp/gyp_git.bb | 15 +- .../recipes-devtools/python/python-fann2.inc | 9 - .../recipes-devtools/python/python-flask-mail.inc | 12 - .../python/python-flask-migrate.inc | 14 - .../recipes-devtools/python/python-flask-nav.inc | 13 - .../python/python-flask-pymongo.inc | 15 - .../python/python-flask-restful.inc | 16 - .../python/python-flask-socketio.inc | 18 - .../python/python-flask-sqlalchemy.inc | 10 - .../recipes-devtools/python/python-flask-user.inc | 17 - .../recipes-devtools/python/python-flask-wtf.inc | 15 - .../recipes-devtools/python/python-flask.inc | 16 - .../recipes-devtools/python/python-gevent.inc | 35 - ...002-setup.py-do-not-query-for-include-dir.patch | 26 - .../recipes-devtools/python/python-systemd.inc | 20 - .../recipes-devtools/python/python3-absl_0.10.0.bb | 14 + .../recipes-devtools/python/python3-absl_0.9.0.bb | 14 - .../python/python3-alembic_1.4.2.bb | 17 - .../python/python3-alembic_1.4.3.bb | 17 + .../python/python3-asciitree_0.3.3.bb | 9 + .../python/python3-attrs_19.3.0.bb | 20 - .../python/python3-attrs_20.2.0.bb | 20 + .../python/python3-bitarray_1.5.2.bb | 11 - .../python/python3-bitarray_1.5.3.bb | 11 + .../recipes-devtools/python/python3-cffi_1.14.2.bb | 19 - .../recipes-devtools/python/python3-cffi_1.14.3.bb | 19 + .../python/python3-click-repl_0.1.6.bb | 9 + .../python/python3-click-spinner_0.1.10.bb | 9 + .../recipes-devtools/python/python3-cmd2_1.3.3.bb | 20 - .../recipes-devtools/python/python3-cmd2_1.3.9.bb | 20 + .../python/python3-coverage_5.2.1.bb | 10 - .../python/python3-coverage_5.3.bb | 10 + .../python/python3-cryptography-vectors_2.9.2.bb | 20 - .../python/python3-cryptography-vectors_3.1.bb | 20 + .../python/python3-cryptography_3.0.bb | 66 - .../python/python3-cryptography_3.1.bb | 66 + .../python/python3-custom-inherit_2.3.0.bb | 12 + .../python/python3-dbus-next_0.1.3.bb | 13 - .../python/python3-dbus-next_0.1.4.bb | 13 + .../python/python3-diskcache_4.1.0.bb | 14 - .../python/python3-diskcache_5.0.3.bb | 14 + .../python/python3-django_2.2.13.bb | 9 - .../python/python3-django_2.2.16.bb | 9 + .../python/python3-django_3.1.1.bb | 14 + .../python/python3-dominate_2.5.1.bb | 26 - .../python/python3-dominate_2.5.2.bb | 26 + .../recipes-devtools/python/python3-ecdsa_0.15.bb | 13 - .../python/python3-ecdsa_0.16.0.bb | 14 + .../recipes-devtools/python/python3-fann2_1.1.2.bb | 13 +- .../python/python3-flask-babel_1.0.0.bb | 15 - .../python/python3-flask-babel_2.0.0.bb | 16 + .../python/python3-flask-mail_0.9.1.bb | 14 +- .../python/python3-flask-migrate_2.5.2.bb | 2 - .../python/python3-flask-migrate_2.5.3.bb | 16 + .../python/python3-flask-nav_0.6.bb | 15 +- .../python/python3-flask-pymongo_2.3.0.bb | 17 +- .../python/python3-flask-restful_0.3.7.bb | 2 - .../python/python3-flask-restful_0.3.8.bb | 16 + .../python/python3-flask-socketio_4.2.1.bb | 2 - .../python/python3-flask-socketio_4.3.1.bb | 18 + .../python/python3-flask-sqlalchemy_2.4.1.bb | 2 - .../python/python3-flask-sqlalchemy_2.4.4.bb | 12 + .../python/python3-flask-user_0.6.19.bb | 19 +- .../python/python3-flask-wtf_0.14.2.bb | 2 - .../python/python3-flask-wtf_0.14.3.bb | 17 + .../recipes-devtools/python/python3-flask_1.1.1.bb | 2 - .../recipes-devtools/python/python3-flask_1.1.2.bb | 18 + .../python/python3-gevent_1.4.0.bb | 2 - .../python/python3-gevent_20.6.2.bb | 34 + .../python3-google-api-python-client_1.10.0.bb | 9 - .../python3-google-api-python-client_1.12.1.bb | 9 + .../python/python3-greenstalk_1.0.1.bb | 12 + .../python/python3-haversine_2.2.0.bb | 12 - .../python/python3-haversine_2.3.0.bb | 12 + .../python/python3-inflection_0.5.0.bb | 27 - .../python/python3-inflection_0.5.1.bb | 27 + .../python/python3-ipython_7.17.0.bb | 29 - .../python/python3-ipython_7.18.1.bb | 29 + .../python/python3-iso8601_0.1.12.bb | 16 - .../python/python3-iso8601_0.1.13.bb | 16 + .../recipes-devtools/python/python3-isort_5.4.2.bb | 17 - .../recipes-devtools/python/python3-isort_5.5.2.bb | 17 + .../python/python3-langtable_0.0.51.bb | 24 - .../python/python3-langtable_0.0.52.bb | 24 + .../python/python3-luma-core_1.15.0.bb | 20 - .../python/python3-luma-core_1.16.1.bb | 20 + .../python/python3-matplotlib_3.3.1.bb | 46 - .../python/python3-matplotlib_3.3.2.bb | 46 + .../python/python3-mccabe_0.2.1.bb | 15 - .../python/python3-mccabe_0.6.1.bb | 17 + .../python/python3-more-itertools_8.4.0.bb | 24 - .../python/python3-more-itertools_8.5.0.bb | 24 + .../recipes-devtools/python/python3-msk_0.3.15.bb | 11 - .../recipes-devtools/python/python3-msk_0.3.16.bb | 11 + .../recipes-devtools/python/python3-msm_0.8.7.bb | 20 - .../recipes-devtools/python/python3-msm_0.8.8.bb | 20 + .../python/python3-networkx_2.4.bb | 13 - .../python/python3-networkx_2.5.bb | 13 + .../recipes-devtools/python/python3-nmap_1.4.7.bb | 16 - .../recipes-devtools/python/python3-nmap_1.4.8.bb | 16 + .../python/python3-nocasedict_1.0.0.bb | 9 + .../python/python3-nocaselist_1.0.2.bb | 9 + .../python/python3-ntplib_0.3.3.bb | 14 - .../python/python3-ntplib_0.3.4.bb | 13 + .../python/python3-openpyxl_3.0.4.bb | 15 - .../python/python3-openpyxl_3.0.5.bb | 15 + .../python/python3-pandas_1.1.0.bb | 25 - .../python/python3-pandas_1.1.2.bb | 25 + .../python/python3-paramiko_2.7.1.bb | 14 - .../python/python3-paramiko_2.7.2.bb | 14 + .../python/python3-parse_1.16.0.bb | 26 - .../python/python3-parse_1.18.0.bb | 26 + .../0001-explicitly-set-compile-options.patch | 19 +- .../python/python3-pillow_6.2.1.bb | 38 - .../python/python3-pillow_7.2.0.bb | 38 + .../recipes-devtools/python/python3-pint_0.14.bb | 36 - .../recipes-devtools/python/python3-pint_0.16.bb | 36 + .../python/python3-prompt-toolkit_3.0.6.bb | 24 - .../python/python3-prompt-toolkit_3.0.7.bb | 24 + .../python/python3-pychromecast_7.2.0.bb | 11 - .../python/python3-pychromecast_7.3.0.bb | 11 + .../python/python3-pycurl_7.43.0.5.bb | 23 - .../python/python3-pycurl_7.43.0.6.bb | 23 + .../python/python3-pydicti_1.1.3.bb | 9 + .../python/python3-pymisp_2.4.128.bb | 21 - .../python/python3-pymisp_2.4.131.bb | 21 + .../python/python3-pymysql_0.10.0.bb | 17 - .../python/python3-pymysql_0.10.1.bb | 17 + .../python/python3-pyroute2_0.5.13.bb | 37 - .../python/python3-pyroute2_0.5.14.bb | 37 + .../python/python3-pyrsistent_0.16.0.bb | 16 - .../python/python3-pyrsistent_0.17.3.bb | 15 + .../recipes-devtools/python/python3-pyusb_1.0.2.bb | 12 - .../recipes-devtools/python/python3-pyusb_1.1.0.bb | 12 + .../python/python3-pyzmq_17.1.0.bb | 27 - .../python/python3-pyzmq_19.0.2.bb | 27 + .../python/python3-robotframework_3.2.1.bb | 27 - .../python/python3-robotframework_3.2.2.bb | 27 + .../python/python3-ruamel-yaml_0.16.10.bb | 16 - .../python/python3-ruamel-yaml_0.16.12.bb | 16 + .../python/python3-sentry-sdk_0.16.5.bb | 12 - .../python/python3-sentry-sdk_0.17.5.bb | 12 + .../recipes-devtools/python/python3-sh_1.13.1.bb | 24 - .../recipes-devtools/python/python3-sh_1.14.0.bb | 24 + .../python/python3-stevedore_3.2.0.bb | 15 - .../python/python3-stevedore_3.2.2.bb | 15 + .../recipes-devtools/python/python3-systemd_234.bb | 23 +- .../python/python3-tabulate_0.8.7.bb | 9 + .../python/python3-test-generator/run-ptest | 3 + .../python/python3-test-generator_0.1.2.bb | 16 +- .../python/python3-texttable_1.6.3.bb | 11 + .../recipes-devtools/python/python3-tqdm_4.48.2.bb | 13 - .../recipes-devtools/python/python3-tqdm_4.49.0.bb | 13 + .../python/python3-trafaret_2.0.2.bb | 16 - .../python/python3-trafaret_2.1.0.bb | 17 + .../python/python3-traitlets_4.3.3.bb | 18 - .../python/python3-traitlets_5.0.4.bb | 17 + .../python/python3-twitter_3.8.0.bb | 19 - .../python/python3-twitter_3.9.0.bb | 19 + .../python/python3-typing-extensions_3.7.4.2.bb | 13 - .../python/python3-typing-extensions_3.7.4.3.bb | 13 + .../recipes-devtools/python/python3-ujson_3.1.0.bb | 32 - .../recipes-devtools/python/python3-ujson_3.2.0.bb | 32 + .../python/python3-yamlloader_0.5.5.bb | 13 + .../python-meh/python3-meh_0.48.bb | 17 - .../python-meh/python3-meh_0.49.bb | 17 + .../pywbem/python3-pywbem_0.17.4.bb | 56 - .../pywbem/python3-pywbem_1.0.2.bb | 48 + .../pywbemtools/python3-pywbemtools_0.7.1.bb | 40 + .../packagesgroups/packagegroup-meta-webserver.bb | 29 +- .../recipes-httpd/apache2/apache2_2.4.43.bb | 226 - .../recipes-httpd/apache2/apache2_2.4.46.bb | 226 + .../recipes-httpd/monkey/files/monkey.init | 2 +- .../recipes-httpd/monkey/files/monkey.service | 2 +- .../recipes-httpd/monkey/monkey_1.6.9.bb | 1 + meta-openembedded/meta-xfce/conf/layer.conf | 7 + 478 files changed, 15537 insertions(+), 8257 deletions(-) delete mode 100644 meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.2.bb create mode 100644 meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.3.bb delete mode 100644 meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.7.0.bb create mode 100644 meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.8.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl/0001-make-Pass-LDFLAGS-when-building-shared-objects.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_9.1.4.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp-ddns.service delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.7.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.2.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.14.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.11.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.12.bb delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.12.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.13.bb delete mode 100644 meta-openembedded/meta-networking/recipes-irc/weechat/weechat_2.8.bb create mode 100644 meta-openembedded/meta-networking/recipes-irc/weechat/weechat_2.9.bb delete mode 100644 meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.5.bb create mode 100644 meta-openembedded/meta-networking/recipes-irc/znc/znc_1.8.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1096.40.7.bb delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/CVE-2019-20892.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb create mode 100644 meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.10.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.11.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/ettercap/ettercap_0.8.3.1.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/fping/fping_4.4.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/fping/fping_5.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.5.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.6.bb create mode 100644 meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-compilation-with-fno-common.patch create mode 100644 meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch create mode 100644 meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-stacktrace-Define-ARCH_BITS-for-x86.patch create mode 100644 meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend create mode 100644 meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb delete mode 100644 meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.21.bb create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.22.bb delete mode 100644 meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-add-explicit-permissions-to-open-call.patch delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/no-incdefs-using-host-headers.patch delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.12.12.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/0001-Fix-bug-of-free-with-musl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.3.bb delete mode 100755 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.1/run-ptest create mode 100755 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/run-ptest delete mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.3.bb delete mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb delete mode 100644 meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.20.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/lshw/files/0001-Fix-musl-build.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/lshw/files/0001-Makefile-Fix-cross-compilation.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/lshw/files/0002-Makefile-Use-supplied-LDFLAGS-to-silence-OE-GNU_HASH.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/lshw/files/0003-sysfs-Fix-basename-build-with-musl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.19.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2020-15945.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-bitbang-Make-bitbang_swd-extern-definition.patch mode change 100755 => 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.12.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.13.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_0.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0003-src-Makefile-Fix-Makefile-macro-error.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/brotli/brotli/838.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.11.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/238.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/245.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.35.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.36.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.7.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.19.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.20.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.79.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.80.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-15389.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/suckless/st_0.8.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract/0001-include-sys-time.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_4.1.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts/44-source-code-pro-fonts-fontconfig.conf create mode 100644 meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/asio/asio_1.16.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/asio/asio_1.18.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/consolation/consolation_0.0.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.105.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.106.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/htop/files/0001-Ask-for-python3-specifically.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/htop/files/htop-gcc10.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/htop/htop_3.0.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/imapfilter/imapfilter/ldflags.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.11.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/links/links_2.20.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/nano/nano_5.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/nano/nano_5.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/nss/nss/0001-pkix-Do-not-use-NULL-where-0-is-needed.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh delete mode 100644 meta-openembedded/meta-oe/recipes-support/nss/nss_3.54.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/nss/nss_3.56.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.50.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.51.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.08.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.09.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.30.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.31.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.7.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.8.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-fixes_for_mm_struct.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0003-fixes_for_changes_in_cpu_tlbstate.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/021-linux-5-8.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.8-4.patch create mode 100644 meta-openembedded/meta-oe/recipes-test/cukinia/cukinia_0.5.1.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.64.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.66.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.06.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.07.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.25.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.26.bb create mode 100644 meta-openembedded/meta-python/licenses/WTFPL delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool.inc delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-hpack/python-hpack.inc delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_3.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_4.0.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python-hyperframe.inc delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_5.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-priority/python-priority.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/gyp/gyp.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-fann2.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-flask-socketio.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.10.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.9.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-asciitree_0.3.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_20.2.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.5.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.5.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.1.6.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner_0.1.10.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_1.3.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_1.3.9.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.2.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.9.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_3.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-custom-inherit_2.3.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_4.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.0.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.13.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.16.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.15.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.16.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_1.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_2.0.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.7.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.8.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.2.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.3.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_20.6.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.10.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.12.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-greenstalk_1.0.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.17.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.18.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.12.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.13.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.4.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.5.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.51.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.52.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.15.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.16.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.3.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.3.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.2.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.6.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.4.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.5.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.15.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.16.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.7.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.8.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.7.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.8.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.1.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.7.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.7.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.16.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.18.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.2.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_7.2.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.14.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.16.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.6.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_7.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_7.3.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.6.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pydicti_1.1.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.128.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.131.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.10.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.10.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.13.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.14.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.16.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.17.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_19.0.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.10.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.12.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.16.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.17.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.13.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.2.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tabulate_0.8.7.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator/run-ptest create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-texttable_1.6.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.48.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.49.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-trafaret_2.0.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-trafaret_2.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_4.3.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.0.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.8.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.9.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_3.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_3.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_0.5.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.48.bb create mode 100644 meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.49.bb delete mode 100644 meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.17.4.bb create mode 100644 meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.0.2.bb create mode 100644 meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.7.1.bb delete mode 100644 meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.43.bb create mode 100644 meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.46.bb (limited to 'meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200712.bb') diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb index 86b1c9b36..8a8a8dbe2 100644 --- a/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb +++ b/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb @@ -16,20 +16,36 @@ RDEPENDS_packagegroup-meta-filesystems = "\ " RDEPENDS_packagegroup-meta-filesystems = "\ - ntfs-3g-ntfsprogs ifuse sshfs-fuse \ - logfsprogs owfs simple-mtpfs \ - unionfs-fuse fuse-exfat yaffs2-utils \ + ifuse \ + logfsprogs \ + fuse-exfat \ + owfs \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "smbnetfs", "", d)} \ - " + simple-mtpfs \ + yaffs2-utils \ + ntfs-3g-ntfsprogs \ + httpfs2 \ + unionfs-fuse \ + sshfs-fuse \ +" RDEPENDS_packagegroup-meta-filesystems-support = "\ - physfs fuse \ - " + fuse3 \ + fuse \ + physfs \ +" RDEPENDS_packagegroup-meta-filesystems-utils = "\ - xorriso aufs-util xfsprogs \ - f2fs-tools exfat-utils udevil \ + aufs-util \ + exfat-utils \ + fatcat \ xfsdump \ - " + f2fs-tools \ + fatresize \ + udevil \ + ufs-utils \ + xfsprogs \ + xorriso \ +" EXCLUDE_FROM_WORLD = "1" diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.2.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.2.bb deleted file mode 100644 index 357a1de1d..000000000 --- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.2.bb +++ /dev/null @@ -1,61 +0,0 @@ -SUMMARY = "Implementation of a fully functional filesystem in a userspace program" -DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ - programs to export a virtual filesystem to the Linux kernel. FUSE \ - also aims to provide a secure method for non privileged users to \ - create and mount their own filesystem implementations. \ - " -HOMEPAGE = "https://github.com/libfuse/libfuse" -SECTION = "libs" -LICENSE = "GPLv2 & LGPLv2" -LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ - file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66" - -SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \ -" -SRC_URI[sha256sum] = "6999b6d48e7c0a79628fa901f6e66def3513cab4ffdd8097821e7dc3cdeae08a" - -S = "${WORKDIR}/fuse-${PV}" - -UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" -UPSTREAM_CHECK_REGEX = "fuse\-(?P3(\.\d+)+).tar.xz" - -inherit meson pkgconfig ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - bash \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/test - cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ -} - -DEPENDS = "udev" - -PACKAGES =+ "fuse3-utils" - -RPROVIDES_${PN}-dbg += "fuse3-utils-dbg" - -RRECOMMENDS_${PN}_class-target = "kernel-module-fuse fuse3-utils" - -FILES_${PN} += "${libdir}/libfuse3.so.*" -FILES_${PN}-dev += "${libdir}/libfuse3*.la" - -EXTRA_OEMESON += " \ - -Dexamples=false \ -" - -# Forbid auto-renaming to libfuse3-utils -FILES_fuse3-utils = "${bindir} ${base_sbindir}" -DEBIAN_NOAUTONAME_fuse3-utils = "1" -DEBIAN_NOAUTONAME_${PN}-dbg = "1" - -do_install_append() { - rm -rf ${D}${base_prefix}/dev -} diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.3.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.3.bb new file mode 100644 index 000000000..8ef9ee12c --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.3.bb @@ -0,0 +1,61 @@ +SUMMARY = "Implementation of a fully functional filesystem in a userspace program" +DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ + programs to export a virtual filesystem to the Linux kernel. FUSE \ + also aims to provide a secure method for non privileged users to \ + create and mount their own filesystem implementations. \ + " +HOMEPAGE = "https://github.com/libfuse/libfuse" +SECTION = "libs" +LICENSE = "GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ + file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66" + +SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \ +" +SRC_URI[sha256sum] = "cd45270a064d2ae14f17cfc914f1555106d6c5091025b0b2698b860399d4ede6" + +S = "${WORKDIR}/fuse-${PV}" + +UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" +UPSTREAM_CHECK_REGEX = "fuse\-(?P3(\.\d+)+).tar.xz" + +inherit meson pkgconfig ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + bash \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test + cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ +} + +DEPENDS = "udev" + +PACKAGES =+ "fuse3-utils" + +RPROVIDES_${PN}-dbg += "fuse3-utils-dbg" + +RRECOMMENDS_${PN}_class-target = "kernel-module-fuse fuse3-utils" + +FILES_${PN} += "${libdir}/libfuse3.so.*" +FILES_${PN}-dev += "${libdir}/libfuse3*.la" + +EXTRA_OEMESON += " \ + -Dexamples=false \ +" + +# Forbid auto-renaming to libfuse3-utils +FILES_fuse3-utils = "${bindir} ${base_sbindir}" +DEBIAN_NOAUTONAME_fuse3-utils = "1" +DEBIAN_NOAUTONAME_${PN}-dbg = "1" + +do_install_append() { + rm -rf ${D}${base_prefix}/dev +} diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.7.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.7.0.bb deleted file mode 100644 index 9efcc5617..000000000 --- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.7.0.bb +++ /dev/null @@ -1,73 +0,0 @@ -SUMMARY = "XFS Filesystem Utilities" -HOMEPAGE = "http://oss.sgi.com/projects/xfs" -SECTION = "base" -LICENSE = "GPLv2 & LGPLv2.1" -LICENSE_libhandle = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \ - file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" -DEPENDS = "util-linux util-linux-native" -SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ - file://remove_flags_from_build_flags.patch \ - file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \ - file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ - file://0001-support-usrmerge.patch \ - " -SRC_URI[sha256sum] = "8f2348a68a686a3f4491dda5d62dd32d885fbc52d32875edd41e2c296e7b4f35" -inherit autotools-brokensep - -PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" - -DEPENDS += "util-linux" - -RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" - -FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs" -FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs" -FILES_${PN}-repair = "${base_sbindir}/xfs_repair" - -FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}" - -EXTRA_OECONF = "--enable-gettext=no \ - --enable-scrub=no \ - INSTALL_USER=root \ - INSTALL_GROUP=root \ - ac_cv_header_aio_h=yes \ - ac_cv_lib_rt_lio_listio=yes \ - OPTIMIZER='${SELECTED_OPTIMIZATION}' \ -" - -DISABLE_STATIC = "" -EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" - -PACKAGECONFIG ??= "blkid" - -PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" - -export DEBUG="-DNDEBUG" -export BUILD_VERBOSE="1" -export tagname="CC" - -EXTRA_OEMAKE = "DIST_ROOT='${D}'" - -do_configure () { - export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" - # Prevent Makefile from calling configure without arguments, - # when do_configure gets called for a second time. - rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure - # Recreate configure script. - oe_runmake configure - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} - oe_runconf -} - -do_install_append() { - oe_runmake 'DESTDIR=${D}' install-dev - rm ${D}${libdir}/*.la - rmdir --ignore-fail-on-non-empty ${D}${libdir} - - if [ ${libdir} != ${base_libdir} ];then - ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a - ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so - fi -} diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.8.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.8.0.bb new file mode 100644 index 000000000..b02ec6f97 --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.8.0.bb @@ -0,0 +1,73 @@ +SUMMARY = "XFS Filesystem Utilities" +HOMEPAGE = "http://oss.sgi.com/projects/xfs" +SECTION = "base" +LICENSE = "GPLv2 & LGPLv2.1" +LICENSE_libhandle = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \ + file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" +DEPENDS = "util-linux util-linux-native" +SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ + file://remove_flags_from_build_flags.patch \ + file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \ + file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ + file://0001-support-usrmerge.patch \ + " +SRC_URI[sha256sum] = "8ef46ed9e6bb927f407f541dc4324857c908ddf1374265edc910d23724048c6b" +inherit autotools-brokensep + +PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" + +DEPENDS += "util-linux" + +RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" + +FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs" +FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs" +FILES_${PN}-repair = "${base_sbindir}/xfs_repair" + +FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}" + +EXTRA_OECONF = "--enable-gettext=no \ + --enable-scrub=no \ + INSTALL_USER=root \ + INSTALL_GROUP=root \ + ac_cv_header_aio_h=yes \ + ac_cv_lib_rt_lio_listio=yes \ + OPTIMIZER='${SELECTED_OPTIMIZATION}' \ +" + +DISABLE_STATIC = "" +EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" + +PACKAGECONFIG ??= "blkid" + +PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" + +export DEBUG="-DNDEBUG" +export BUILD_VERBOSE="1" +export tagname="CC" + +EXTRA_OEMAKE = "DIST_ROOT='${D}'" + +do_configure () { + export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" + # Prevent Makefile from calling configure without arguments, + # when do_configure gets called for a second time. + rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure + # Recreate configure script. + oe_runmake configure + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} + oe_runconf +} + +do_install_append() { + oe_runmake 'DESTDIR=${D}' install-dev + rm ${D}${libdir}/*.la + rmdir --ignore-fail-on-non-empty ${D}${libdir} + + if [ ${libdir} != ${base_libdir} ];then + ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a + ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so + fi +} diff --git a/meta-openembedded/meta-gnome/conf/layer.conf b/meta-openembedded/meta-gnome/conf/layer.conf index 7aa9507eb..7706b7ca6 100644 --- a/meta-openembedded/meta-gnome/conf/layer.conf +++ b/meta-openembedded/meta-gnome/conf/layer.conf @@ -18,3 +18,9 @@ LAYERVERSION_gnome-layer = "1" LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer" LAYERSERIES_COMPAT_gnome-layer = "thud warrior zeus dunfell" + +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\ + faenza-icon-theme->gdk-pixbuf \ + faenza-icon-theme->gtk+3 \ +" + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.36.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.36.2.bb index 75f1737c6..afd9146ac 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.36.2.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.36.2.bb @@ -36,3 +36,4 @@ FILES_${PN}-python += " \ ${PYTHON_SITEPACKAGES_DIR} \ " +RRECOMMENDS_${PN} += "source-code-pro-fonts" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.44.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.44.1.bb index ec0ac2b29..ad5dab5ec 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.44.1.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.44.1.bb @@ -62,7 +62,7 @@ PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba" PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd" # needs meta-filesystems -PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse" +PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse3" # libcdio-paranoia recipe doesn't exist yet PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb index 29b9fc62f..a3e479869 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb @@ -52,6 +52,7 @@ PACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_bac PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl" PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false" PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom" +# Remove depending on pipewire-0.2 when mutter is upgraded to 3.36+ PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire-0.2" PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm" PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb index c66c93ec5..5505626d3 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb @@ -12,15 +12,20 @@ SRC_URI = " \ git://linuxtv.org/libcamera.git;protocol=git \ " -SRCREV = "5f2f9406cebc668f0d69007d1ea59ef3c56ef28c" +SRCREV = "1e8c91b65695449c5246d17ba7dc439c8058b781" -PV = "202006+git${SRCPV}" +PV = "202008+git${SRCPV}" S = "${WORKDIR}/git" DEPENDS = "python3-pyyaml-native udev gnutls boost chrpath-native" DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}" +PACKAGES =+ "${PN}-gst" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base" + RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}" inherit meson pkgconfig python3native @@ -44,4 +49,4 @@ do_recalculate_ipa_signatures_package() { FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig" FILES_${PN} += " ${libdir}/libcamera.so" - +FILES_${PN}-gst = "${libdir}/gstreamer-1.0/libgstlibcamera.so" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb index 62d1ad7f7..2db30dda0 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb @@ -84,4 +84,7 @@ RDEPENDS_${PN} += "flac mpg123" # Mycroft can do this itself on the target, but it's quicker to do it here RDEPENDS_${PN} += "mimic" +# pgrep is used by stop-mycroft.sh +RDEPENDS_${PN} += "procps" + SYSTEMD_SERVICE_${PN} = "mycroft-setup.service mycroft.service" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb index e0cb415e3..2bf8877bb 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb @@ -20,33 +20,87 @@ RDEPENDS_packagegroup-meta-multimedia = "\ " RDEPENDS_packagegroup-meta-multimedia = "\ - libdvbpsi libdc1394 gstd gst-shark \ - bigbuckbunny-720p tearsofsteel-1080p bigbuckbunny-1080p bigbuckbunny-480p \ - openal-soft dleyna-core dleyna-renderer dleyna-server dleyna-connector-dbus \ - alsa-equal libdvdnav libmusicbrainz tinyalsa \ - fluidsynth cdparanoia vorbis-tools tremor caps libao libavc1394 \ - opusfile gerbera libdvdcss webrtc-audio-processing \ - rtmpdump libopenmpt schroedinger mpd mpc libmpdclient \ - ncmpc libmpd dcadec libiec61883 \ - ${@bb.utils.contains("DISTRO_FEATURES", "pam", "", "", d)} \ - ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "minidlna vlc", "", d)} \ - ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "vo-aacenc sox libde265", "", d)} \ - ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "streamripper", "", d)} \ - ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "openh264 opencore-amr faac vo-amrwbenc", "", d)} \ - " + alsa-equal \ + caps \ + cdparanoia \ + dcadec \ + dleyna-connector-dbus \ + dleyna-core \ + dleyna-renderer \ + dleyna-server \ + dvb-apps \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "faac", "", d)} \ + fdk-aac \ + gerbera \ + libao \ + libavc1394 \ + libdc1394 \ + libdvbpsi \ + libdvdnav \ + libiec61883 \ + fluidsynth \ + libmusicbrainz \ + libmpdclient \ + mpc \ + mpd \ + ncmpc \ + libmpd \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "opencore-amr vo-aacenc vo-amrwbenc", "", d)} \ + gst-shark \ + gstd \ + rtmpdump \ + bigbuckbunny-1080p \ + bigbuckbunny-480p \ + bigbuckbunny-720p \ + tearsofsteel-1080p \ + schroedinger \ + projucer \ + libcamera \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libde265 openh264", "", d)} \ + vorbis-tools \ + libdvbcsa \ + libopenmpt \ + mimic \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "minidlna", "", d)} \ + mycroft \ + openal-soft \ + opusfile \ + libdvdcss \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "vlc", "", d)} \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "sox streamripper", "", d)} \ + tinyalsa \ + tremor \ + webrtc-audio-processing \ + ${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "x265", "", d)} \ +" +RDEPENDS_packagegroup-meta-multimedia_remove_libc-musl = "projucer" RDEPENDS_packagegroup-meta-multimedia-connectivity = "\ - rygel gupnp gupnp-igd gssdp gupnp-dlna gupnp-av libupnp \ + gssdp \ + gupnp-av \ + gupnp-dlna \ + gupnp-igd \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gupnp-tools", "", d)} \ - " - + gupnp \ + libupnp \ + rygel \ +" RDEPENDS_packagegroup-meta-multimedia-dvb = "\ - oscam " + oscam \ + tvheadend \ +" RDEPENDS_packagegroup-meta-multimedia-mkv = "\ - libmatroska libebml \ - " + libebml \ + libmatroska \ +" RDEPENDS_packagegroup-meta-multimedia-support = "\ - libmediaart libmediaart-2.0 gst-instruments libsrtp crossguid \ - " + crossguid \ + libmediaart-2.0 \ + libmediaart \ + gst-instruments \ + libsrtp \ +" +# devel headers/libraries only packages +# libsquish diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb index d026c69a8..2f1fda341 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d91a46405fc074b88c963cc4f2a0aae9 \ DEPENDS = "orc-native orc" -SRC_URI = "http://www.diracvideo.org/download/schroedinger/${BP}.tar.gz \ +SRC_URI = "https://download.videolan.org/contrib/${BPN}/${BP}.tar.gz \ file://configure.ac.patch" SRC_URI[md5sum] = "da6af08e564ca1157348fb8d92efc891" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/autossh/autossh_1.4g.bb b/meta-openembedded/meta-networking/recipes-connectivity/autossh/autossh_1.4g.bb index a84fd9ac1..9b69601e7 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/autossh/autossh_1.4g.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/autossh/autossh_1.4g.bb @@ -8,7 +8,7 @@ SRC_URI = "https://www.harding.motd.ca/autossh/${BP}.tgz" SRC_URI[md5sum] = "2b804bc1bf6d2f2afaa526d02df7c0a2" SRC_URI[sha256sum] = "5fc3cee3361ca1615af862364c480593171d0c54ec156de79fc421e31ae21277" -RDEPENDS_${PN} = "openssh" +RDEPENDS_${PN} = "ssh" CFLAGS_prepend = "-I${WORKDIR}/build " diff --git a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl/0001-make-Pass-LDFLAGS-when-building-shared-objects.patch b/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl/0001-make-Pass-LDFLAGS-when-building-shared-objects.patch new file mode 100644 index 000000000..3b341e035 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl/0001-make-Pass-LDFLAGS-when-building-shared-objects.patch @@ -0,0 +1,32 @@ +From 9515448761739d6186e7d07da5b47e368753528c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 1 Sep 2020 11:34:33 -0700 +Subject: [PATCH] make: Pass LDFLAGS when building shared objects + +OE passes flags like hash-style via LDFLAGS which alters the linker +defaults, its important to have LDFLAGS in link step even if compiler +driver is used to do linking + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + mk/Rules.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mk/Rules.mk b/mk/Rules.mk +index b480bd6..db65125 100644 +--- a/mk/Rules.mk ++++ b/mk/Rules.mk +@@ -344,7 +344,7 @@ $(BEARSSLLIB): $(OBJDIR) $(OBJ) + $(AR) $(ARFLAGS) $(AROUT)$(BEARSSLLIB) $(OBJ) + + $(BEARSSLDLL): $(OBJDIR) $(OBJ) +- $(LDDLL) $(LDDLLFLAGS) $(LDDLLOUT)$(BEARSSLDLL) $(OBJ) ++ $(LDDLL) $(LDDLLFLAGS) $(LDFLAGS) $(LDDLLOUT)$(BEARSSLDLL) $(OBJ) + + $(BRSSL): $(BEARSSLLIB) $(OBJBRSSL) + $(LD) $(LDFLAGS) $(LDOUT)$(BRSSL) $(OBJBRSSL) $(BEARSSLLIB) +-- +2.28.0 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb index a0f64e933..1102bb95a 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb @@ -18,6 +18,8 @@ HOMEPAGE = "https://bearssl.org" SECTION = "libs" +inherit lib_package + LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1fc37e1037ae673975fbcb96a98f7191" @@ -25,6 +27,7 @@ SRCREV = "8ef7680081c61b486622f2d983c0d3d21e83caad" SRC_URI = "git://www.bearssl.org/git/BearSSL;protocol=https;nobranch=1 \ file://0001-conf-Unix.mk-remove-fixed-command-definitions.patch \ file://0002-test-test_x509.c-fix-potential-overflow-issue.patch \ + file://0001-make-Pass-LDFLAGS-when-building-shared-objects.patch \ " # without compile errors like @@ -33,3 +36,11 @@ CFLAGS += "-fPIC" S = "${WORKDIR}/git" B = "${S}" + +do_install() { + mkdir -p ${D}/${bindir} ${D}/${libdir} + install -m 0644 ${B}/build/brssl ${D}/${bindir} + install -m 0644 ${B}/build/libbearssl.so ${D}/${libdir}/libbearssl.so.6.0.0 + ln -s libbearssl.so.6.0.0 ${D}/${libdir}/libbearssl.so.6 + ln -s libbearssl.so.6.0.0 ${D}/${libdir}/libbearssl.so +} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_9.1.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_9.1.4.bb deleted file mode 100644 index defd3420f..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_9.1.4.bb +++ /dev/null @@ -1,28 +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=9674cc803c5d71306941e6e8b5c002f2" - -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[sha256sum] = "5fe133e5497d8af6d26bd6e6b8dd48ab12d124d6cc4cefe6de6536ff97f76820" - -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/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch deleted file mode 100644 index 37d234443..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch +++ /dev/null @@ -1,45 +0,0 @@ -From aa9e3982c1e75ad49945a62f5e262279c7a905a4 Mon Sep 17 00:00:00 2001 -From: Stefano Cappa -Date: Sun, 13 Jan 2019 01:50:52 +0100 -Subject: [PATCH] remove INCLUDEDIR to prevent build issues - -Upstream-Status: Pending - -Signed-off-by: Stefano Cappa ---- - configure | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/configure b/configure -index 6c81e0db..32dea2b4 100755 ---- a/configure -+++ b/configure -@@ -20,7 +20,6 @@ BUILD= - HOST= - HOSTCC= - TARGET= --INCLUDEDIR= - DEBUG= - FORK= - STATIC= -@@ -72,7 +71,6 @@ for x do - --mandir) MANDIR=$var;; - --datadir) DATADIR=$var;; - --with-ccopts|CFLAGS) CFLAGS=$var;; -- -I|--includedir) INCLUDEDIR="$INCLUDEDIR${INCLUDEDIR:+ }-I$var";; - CC) CC=$var;; - CPPFLAGS) CPPFLAGS=$var;; - PKG_CONFIG) PKG_CONFIG=$var;; -@@ -309,9 +307,6 @@ if [ -n "$CPPFLAGS" ]; then - echo "CPPFLAGS=" >>$CONFIG_MK - echo "CPPFLAGS+= $CPPFLAGS" >>$CONFIG_MK - fi --if [ -n "$INCLUDEDIR" ]; then -- echo "CPPFLAGS+= $INCLUDEDIR" >>$CONFIG_MK --fi - if [ -n "$LDFLAGS" ]; then - echo "LDFLAGS=" >>$CONFIG_MK - echo "LDFLAGS+= $LDFLAGS" >>$CONFIG_MK --- -2.17.2 (Apple Git-113) - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch deleted file mode 100644 index d7ca9ff8f..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9d6b8321c5b46199baca907f3d42bdcaaf1958a8 Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Thu, 23 May 2019 23:59:42 -0700 -Subject: [PATCH] remove AC_TRY_RUN - -AC_TRY_RUN doesn't work in cross compile env, -use AC_COMPILE_IFELSE instead to fix below configure -error: - | checking for usuable C++11 regex... configure: error: in `/builddir/tmp/work/core2-64-poky-linux/kea/1.5.0-r0/build': - | configure: error: cannot run test program while cross compiling - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Mingli Yu ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index c880b77..dd40c7c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -580,7 +580,7 @@ AC_TRY_COMPILE([ - AC_MSG_RESULT(no)) - - AC_MSG_CHECKING(for usuable C++11 regex) --AC_TRY_RUN([ -+AC_COMPILE_IFELSE([ - #include - #include - int main() { --- -2.21.0 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp-ddns.service b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp-ddns.service deleted file mode 100644 index 91aa2eb14..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp-ddns.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Kea DHCP-DDNS Server -Wants=network-online.target -After=network-online.target -After=time-sync.target - -[Service] -ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/ -ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/kea -ExecStart=@SBINDIR@/kea-dhcp-ddns -c @SYSCONFDIR@/kea/kea-dhcp-ddns.conf - -[Install] -WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service deleted file mode 100644 index b851ea71c..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Kea DHCPv4 Server -Wants=network-online.target -After=network-online.target -After=time-sync.target - -[Service] -ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/ -ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/lib/kea -ExecStart=@SBINDIR@/kea-dhcp4 -c @SYSCONFDIR@/kea/kea-dhcp4.conf - -[Install] -WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service deleted file mode 100644 index 0f9f0ef8d..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Kea DHCPv6 Server -Wants=network-online.target -After=network-online.target -After=time-sync.target - -[Service] -ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/ -ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/lib/kea -ExecStart=@SBINDIR@/kea-dhcp6 -c @SYSCONFDIR@/kea/kea-dhcp6.conf - -[Install] -WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.7.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.7.bb deleted file mode 100644 index e25f8e6fb..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.7.bb +++ /dev/null @@ -1,67 +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=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] = "4f8d1251fd41ef2e822a4eb3f0797d46" -SRC_URI[sha256sum] = "0bba8b045672884a928ff4b2a8575ac5ba420eb6ba47a9338f1932bc38dcf866" - -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.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.1.bb deleted file mode 100644 index 79a380ada..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.1.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] = "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/lftp/lftp_4.9.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.2.bb new file mode 100644 index 000000000..e6240a58e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.2.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] = "42ec1793c386702bc2734ffbc8a5cff1" +SRC_URI[sha256sum] = "8a07cbf4df09b107fe3fc41d133ee2f6cea6ef4c33ccf06c8448ad058cd96b7e" + +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 deleted file mode 100644 index 5b27cfe15..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "dumb networking library" -HOMEPAGE = "http://code.google.com/p/libdnet/" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9" - -SRC_URI = "git://github.com/dugsong/libdnet.git;nobranch=1" -SRCREV = "12fca29a6d4e99d1b923d6820887fe7b24226904" - -UPSTREAM_CHECK_GITTAGREGEX = "libdnet-(?P\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -inherit autotools multilib_script - -acpaths = "-I ./config/" - -BBCLASSEXTEND = "native" - -MULTILIB_SCRIPTS = "${PN}:${bindir}/dnet-config" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.14.bb b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.14.bb new file mode 100644 index 000000000..df48782ee --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.14.bb @@ -0,0 +1,20 @@ +SUMMARY = "dumb networking library" +HOMEPAGE = "http://code.google.com/p/libdnet/" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9" + +SRC_URI = "git://github.com/dugsong/libdnet.git;nobranch=1" +SRCREV = "3e782472d2a58d5e1b94d04eda4a364c2d257600" + +UPSTREAM_CHECK_GITTAGREGEX = "libdnet-(?P\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +inherit autotools multilib_script + +acpaths = "-I ./config/" + +BBCLASSEXTEND = "native" + +MULTILIB_SCRIPTS = "${PN}:${bindir}/dnet-config" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.11.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.11.bb deleted file mode 100644 index 369034692..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.11.bb +++ /dev/null @@ -1,89 +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 \ - file://1571.patch \ - file://install-protocol.patch \ -" - -SRC_URI[md5sum] = "35925c7ccd1bac87e4201b635ffa66a1" -SRC_URI[sha256sum] = "b02d8f1368c40d5779ee125c37daf9003608eb47d7fbb04c5b938c76c1230a1f" - -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" - -BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.12.bb new file mode 100644 index 000000000..36bfe099f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.12.bb @@ -0,0 +1,89 @@ +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] = "beb8d76d6e45f1e66d711006082a631f" +SRC_URI[sha256sum] = "548d73d19fb787dd0530334e398fd256ef3a581181678488a741a995c4f007fb" + +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" + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.14.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.14.bb index 4e4217c1f..ac2282ea1 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.14.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.14.bb @@ -74,7 +74,7 @@ PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,cons 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[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcpcd" PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf" 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 1e10c3085..0e668f7dd 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 @@ -31,101 +31,231 @@ RDEPENDS_packagegroup-meta-networking = "\ " RDEPENDS_packagegroup-meta-networking-connectivity = "\ - openconnect ez-ipupdate mosquitto sethdlc crda \ - dibbler-server dibbler-client dibbler-requestor dibbler-relay \ - libdnet ufw civetweb freeradius kea daq \ - mbedtls relayd snort dhcpcd rdate vlan vpnc \ - inetutils wolfssl lftp miniupnpd networkmanager \ - networkmanager-openvpn rdist nanomsg python3-networkmanager \ + crda \ + daq \ + adcli \ ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth x11", "blueman", "", d)} \ + cannelloni \ + civetweb \ + libdnet \ + dibbler-client \ + dibbler-relay \ + dibbler-server \ + relayd \ + lftp \ + sethdlc \ + snort \ + ufw \ + vlan \ + vpnc \ + ez-ipupdate \ + firewalld \ + freeradius \ + mbedtls \ + miniupnpd \ + mosquitto \ + nanomsg \ + nng \ + netplan \ + networkmanager-openvpn \ + networkmanager \ + openconnect \ + python3-networkmanager \ + rdate \ + rdist \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \ - " + wolfssl \ + autossh \ + bearssl \ +" RDEPENDS_packagegroup-meta-networking-connectivity_remove_libc-musl = "rdist" RDEPENDS_packagegroup-meta-networking-daemons = "\ - ippool radvd autofs keepalived proftpd openhpi lldpd \ - ptpd igmpproxy opensaf squid \ - atftp postfix iscsi-initiator-utils vsftpd cyrus-sasl \ - pure-ftpd vblade tftp-hpa ncftp \ + atftp \ + autofs \ + cyrus-sasl \ + ippool \ + iscsi-initiator-utils \ + lldpd \ + ncftp \ + igmpproxy \ + postfix \ + proftpd \ + ptpd \ + pure-ftpd \ + radvd \ + squid \ + tftp-hpa \ + tftp-hpa-server \ + vblade \ + vsftpd \ + keepalived \ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "networkd-dispatcher", "", d)} \ - " + openhpi \ + opensaf \ +" RDEPENDS_packagegroup-meta-networking-daemons_remove_libc-musl = "opensaf" RDEPENDS_packagegroup-meta-networking-devtools = "\ python3-ldap \ - " +" RDEPENDS_packagegroup-meta-networking-extended = "\ corosync \ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "dlm", "", d)} \ - " + kronosnet \ +" RDEPENDS_packagegroup-meta-networking-filter = "\ - ebtables conntrack-tools libnetfilter-queue \ - libnetfilter-conntrack libnetfilter-cthelper libnetfilter-acct \ - libnetfilter-cttimeout libnetfilter-log nfacct \ - arno-iptables-firewall libnftnl nftables \ + libnftnl \ + conntrack-tools \ + ebtables \ + libnetfilter-acct \ + libnetfilter-conntrack \ + libnetfilter-cthelper \ + libnetfilter-cttimeout \ + libnetfilter-log \ + libnetfilter-queue \ libnfnetlink \ - " + arno-iptables-firewall \ + nfacct \ + nftables \ +" RDEPENDS_packagegroup-meta-networking-irc = "\ + weechat \ znc \ - " +" RDEPENDS_packagegroup-meta-networking-kernel = "\ - wireguard-module wireguard-tools \ - " + wireguard-tools \ +" RDEPENDS_packagegroup-meta-networking-netkit = "\ - netkit-rwho-client netkit-rwho-server netkit-rsh-client netkit-rsh-server \ - netkit-telnet netkit-tftp-client netkit-tftp-server \ - netkit-ftp netkit-rpc \ + netkit-rwho-client \ + netkit-rwho-server \ + netkit-rsh-client \ + netkit-rsh-server \ + netkit-telnet \ + netkit-tftp-client \ + netkit-tftp-server \ + netkit-ftp \ + netkit-rpc \ " RDEPENDS_packagegroup-meta-networking-netkit_remove_libc-musl = " \ netkit-rsh-client netkit-rsh-server netkit-telnet" RDEPENDS_packagegroup-meta-networking-protocols = "\ - tsocks freediameter xl2tpd babeld mdns net-snmp \ - quagga pptp-linux zeroconf nopoll openflow rp-pppoe \ - radiusclient-ng openl2tp usrsctp \ + babeld \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "dante", "", d)} \ - " + freediameter \ + net-snmp \ + openflow \ + openflow \ + openl2tp \ + mdns \ + nopoll \ + quagga \ + radiusclient-ng \ + tsocks \ + openlldp \ + zeroconf \ + pptp-linux \ + rp-pppoe \ + usrsctp \ + xl2tpd \ +" RDEPENDS_packagegroup-meta-networking-protocols_remove_libc-musl = "mdns" RDEPENDS_packagegroup-meta-networking-support = "\ - ncp ndisc6 mtr tinyproxy ssmping ntp \ - wpan-tools bridge-utils ifenslave celt051 pimd \ - nbd-client nbd-server nbd-trdump \ - phytool fwknop htpdate tcpreplay \ - traceroute geoip-perl geoip geoipupdate esmtp \ - libtdb netcf dnsmasq curlpp openipmi drbd-utils \ - 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 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 \ - libesmtp cifs-utils open-isns \ + aoetools \ + arptables \ + bridge-utils \ + celt051 \ + cim-schema-docs \ + cim-schema-final \ + cifs-utils \ + dnsmasq \ + curlpp \ + drbd-utils \ + dovecot \ + fping \ + esmtp \ + fetchmail \ + geoip-perl \ + geoip \ + geoipupdate \ + fwknop \ + htpdate \ + iftop \ + ifmetric \ + ipvsadm \ + libesmtp \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "libldb", "", d)} \ + libmemcached \ + libtalloc \ + ipcalc \ + libtevent \ + linux-atm \ + lksctp-tools \ + memcached \ + ifenslave \ + netcat \ + netcat-openbsd \ + libtdb \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "non-commercial", "netperf", "", d)} \ - ${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "spice", "", d)} \ - " - - -RDEPENDS_packagegroup-meta-networking-support_remove_mipsarch = "spice-protocol" -RDEPENDS_packagegroup-meta-networking-support_remove_mips64 = "spice-protocol" -RDEPENDS_packagegroup-meta-networking-support_remove_mips64el = "spice-protocol" -RDEPENDS_packagegroup-meta-networking-support_remove_powerpc = "spice-protocol" -RDEPENDS_packagegroup-meta-networking-support_remove_riscv64 = "spice-protocol" -RDEPENDS_packagegroup-meta-networking-support_remove_riscv32 = "spice-protocol" -RDEPENDS_packagegroup-meta-networking-support_remove_armv5 = "spice-protocol" -RDEPENDS_packagegroup-meta-networking-support_remove_aarch64 = "spice-protocol memcached" + yp-tools \ + ypbind-mt \ + yp-tools \ + mtr \ + ntp ntpdate sntp ntpdc ntpq ntp-tickadj ntp-utils \ + nbd-client \ + nbd-server \ + nbd-trdump \ + openvpn \ + macchanger \ + nbdkit \ + ssmping \ + libowfat \ + ncp \ + strongswan \ + ndisc6 \ + tcpdump \ + tcpslice \ + netcf \ + nghttp2 \ + tnftp \ + traceroute \ + tunctl \ + wireshark \ + ntop \ + nuttcp \ + nvmetcli \ + open-isns \ + openipmi \ + phytool \ + pimd \ + ruli \ + smcroute \ + ${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "spice-protocol spice", "", d)} \ + usbredir \ + ssmtp \ + stunnel \ + rdma-core \ + tcpreplay \ + tinyproxy \ + uftp \ + unbound \ + wpan-tools \ + ettercap \ +" +RDEPENDS_packagegroup-meta-networking-support_remove_mipsarch = "memcached" EXCLUDE_FROM_WORLD = "1" +# Empty packages, only devel headers and libs +# nngpp +# Use ntp and not chrony or ntimed diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.12.bb b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.12.bb deleted file mode 100644 index 6e49790fe..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.12.bb +++ /dev/null @@ -1,117 +0,0 @@ -SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux" -DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \ -Squid offers a rich access control, authorization and logging environment to \ -develop web proxy and content serving applications. \ -Squid offers a rich set of traffic optimization options, most of which are \ -enabled by default for simpler installation and high performance. \ -" -HOMEPAGE = "http://www.squid-cache.org" -SECTION = "web" -LICENSE = "GPLv2+" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}" -MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${BPN}-${PV}.tar.bz2 \ - file://Set-up-for-cross-compilation.patch \ - file://Skip-AC_RUN_IFELSE-tests.patch \ - file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \ - file://squid-use-serial-tests-config-needed-by-ptest.patch \ - file://run-ptest \ - file://volatiles.03_squid \ - file://set_sysroot_patch.patch \ - file://squid-don-t-do-squid-conf-tests-at-build-time.patch \ - file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ - file://0001-tools.cc-fixed-unused-result-warning.patch \ - file://0001-splay.cc-fix-bind-is-not-a-member-of-std.patch \ - " - -SRC_URI_remove_toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch" - -SRC_URI[md5sum] = "5d058f7f8f1db9fa4ce3db910a008b0e" -SRC_URI[sha256sum] = "eae0ad993921e472ce36cce34674c47a224fc2868b65ef0c4b41b2f5f18378a0" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://errors/COPYRIGHT;md5=4c3268f394af77fbbf541875cef96a6c \ - " -DEPENDS = "libtool krb5 openldap db cyrus-sasl" - -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" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ - " -PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking," -PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2" -PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl" - -BASIC_AUTH = "DB SASL LDAP" - -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}" - -EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' \ - --sysconfdir=${sysconfdir}/${BPN} \ - --with-logdir=${localstatedir}/log/${BPN} \ - 'PERL=${USRBINPATH}/env perl'" - -export BUILDCXXFLAGS="${BUILD_CXXFLAGS}" - -TESTDIR = "test-suite" - -do_configure_prepend() { - export SYSROOT=$PKG_CONFIG_SYSROOT_DIR -} - -do_compile_ptest() { - oe_runmake -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} - cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} - - # do NOT need to rebuild Makefile itself - sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # Add squid-conf-tests for runtime tests - sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \ - -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \ - -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # Ensure the path for command true is correct - sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile -} - -do_install_append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - fi - - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid - - rmdir "${D}${localstatedir}/run/${BPN}" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run" - - rmdir "${D}${localstatedir}/log/${BPN}" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log" -} - -FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons" -FILES_${PN}-dbg += "/usr/src/debug" -FILES_${PN}-doc += "${datadir}/*.txt" - -RDEPENDS_${PN} += "perl" -RDEPENDS_${PN}-ptest += "make" diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.13.bb b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.13.bb new file mode 100644 index 000000000..873d09344 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.13.bb @@ -0,0 +1,117 @@ +SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux" +DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \ +Squid offers a rich access control, authorization and logging environment to \ +develop web proxy and content serving applications. \ +Squid offers a rich set of traffic optimization options, most of which are \ +enabled by default for simpler installation and high performance. \ +" +HOMEPAGE = "http://www.squid-cache.org" +SECTION = "web" +LICENSE = "GPLv2+" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}" +MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${BPN}-${PV}.tar.bz2 \ + file://Set-up-for-cross-compilation.patch \ + file://Skip-AC_RUN_IFELSE-tests.patch \ + file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \ + file://squid-use-serial-tests-config-needed-by-ptest.patch \ + file://run-ptest \ + file://volatiles.03_squid \ + file://set_sysroot_patch.patch \ + file://squid-don-t-do-squid-conf-tests-at-build-time.patch \ + file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ + file://0001-tools.cc-fixed-unused-result-warning.patch \ + file://0001-splay.cc-fix-bind-is-not-a-member-of-std.patch \ + " + +SRC_URI_remove_toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch" + +SRC_URI[md5sum] = "31e524a416715d6bfef30e072d2ca076" +SRC_URI[sha256sum] = "d09d3c31e3a7d158bda75501e763bd1cd3c3a99f5af6781ec1fd30eed2f771ed" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://errors/COPYRIGHT;md5=4c3268f394af77fbbf541875cef96a6c \ + " +DEPENDS = "libtool krb5 openldap db cyrus-sasl" + +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" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ + " +PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking," +PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2" +PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl" + +BASIC_AUTH = "DB SASL LDAP" + +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}" + +EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' \ + --sysconfdir=${sysconfdir}/${BPN} \ + --with-logdir=${localstatedir}/log/${BPN} \ + 'PERL=${USRBINPATH}/env perl'" + +export BUILDCXXFLAGS="${BUILD_CXXFLAGS}" + +TESTDIR = "test-suite" + +do_configure_prepend() { + export SYSROOT=$PKG_CONFIG_SYSROOT_DIR +} + +do_compile_ptest() { + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # Add squid-conf-tests for runtime tests + sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \ + -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \ + -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # Ensure the path for command true is correct + sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile +} + +do_install_append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi + + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid + + rmdir "${D}${localstatedir}/run/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run" + + rmdir "${D}${localstatedir}/log/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log" +} + +FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons" +FILES_${PN}-dbg += "/usr/src/debug" +FILES_${PN}-doc += "${datadir}/*.txt" + +RDEPENDS_${PN} += "perl" +RDEPENDS_${PN}-ptest += "make" diff --git a/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_2.8.bb b/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_2.8.bb deleted file mode 100644 index cdfb1a963..000000000 --- a/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_2.8.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Full-featured IRC plugin: multi-servers, proxy support, IPv6, SASL authentication, nicklist, DCC, and many other features" -HOMEPAE = "https://weechat.org/" -SECTION = "net" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e" - -DEPENDS = "openssl zlib icu libgcrypt gnutls curl aspell" - -SRC_URI = "https://weechat.org/files/src/weechat-${PV}.tar.xz \ - file://0001-use-pkg-config-for-gcrypt-instead.patch \ - " -SRC_URI[sha256sum] = "553ea295edad3b03cf88e6029c21e7bde32ff1cc026d35386ba9da3e56a6018c" - -inherit cmake pkgconfig - -PACKAGECONFIG ??= " ncurses python" -PACKAGECONFIG[ncurses] = "-DENABLE_NCURSES=ON,-DENABLE_NCURSES=OFF,ncurses" -PACKAGECONFIG[python] = "-DENABLE_PYTHON=ON,-DENABLE_PYTHON=OFF,python3" - -EXTRA_OECMAKE_append = " -DENABLE_PHP=OFF -DENABLE_TCL=OFF -DENABLE_LUA=OFF -DENABLE_JAVASCRIPT=OFF -DENABLE_RUBY=OFF -DENABLE_GUILE=OFF -DENABLE_PERL=OFF -DENABLE_ASPELL=ON" - -do_configure_prepend(){ - # Make sure we get dependencies from recipe-sysroot - sed -i -e 's# /usr/bin# ${RECIPE_SYSROOT}/${bindir}/#g' ${S}/cmake/FindPerl.cmake - sed -i -e 's# /usr/local/bin##g' ${S}/cmake/FindPerl.cmake - sed -i -e 's# /usr/pkg/bin##g' ${S}/cmake/FindPerl.cmake -} - -do_install_append(){ - rm -rf ${D}/${datadir} -} - diff --git a/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_2.9.bb b/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_2.9.bb new file mode 100644 index 000000000..512ed0e49 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_2.9.bb @@ -0,0 +1,33 @@ +SUMMARY = "Full-featured IRC plugin: multi-servers, proxy support, IPv6, SASL authentication, nicklist, DCC, and many other features" +HOMEPAE = "https://weechat.org/" +SECTION = "net" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e" + +DEPENDS = "openssl zlib icu libgcrypt gnutls curl aspell" + +SRC_URI = "https://weechat.org/files/src/weechat-${PV}.tar.xz \ + file://0001-use-pkg-config-for-gcrypt-instead.patch \ + " + +SRC_URI[sha256sum] = "eab406c385c3a10d0107ddc3aac6596ae8c59af99e9158c6d769e90ec9adfa0e" + +inherit cmake pkgconfig + +PACKAGECONFIG ??= " ncurses python" +PACKAGECONFIG[ncurses] = "-DENABLE_NCURSES=ON,-DENABLE_NCURSES=OFF,ncurses" +PACKAGECONFIG[python] = "-DENABLE_PYTHON=ON,-DENABLE_PYTHON=OFF,python3,python3" + +EXTRA_OECMAKE_append = " -DENABLE_PHP=OFF -DENABLE_TCL=OFF -DENABLE_LUA=OFF -DENABLE_JAVASCRIPT=OFF -DENABLE_RUBY=OFF -DENABLE_GUILE=OFF -DENABLE_PERL=OFF -DENABLE_ASPELL=ON" + +do_configure_prepend(){ + # Make sure we get dependencies from recipe-sysroot + sed -i -e 's# /usr/bin# ${RECIPE_SYSROOT}/${bindir}/#g' ${S}/cmake/FindPerl.cmake + sed -i -e 's# /usr/local/bin##g' ${S}/cmake/FindPerl.cmake + sed -i -e 's# /usr/pkg/bin##g' ${S}/cmake/FindPerl.cmake +} + +do_install_append(){ + rm -rf ${D}/${datadir} +} + diff --git a/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.5.bb b/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.5.bb deleted file mode 100644 index a3d4b7cc5..000000000 --- a/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.5.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "ZNC, an advanced IRC bouncer" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -DEPENDS = "openssl zlib icu" - -SRC_URI = "git://github.com/znc/znc.git;name=znc \ - git://github.com/jimloco/Csocket.git;destsuffix=git/third_party/Csocket;name=Csocket \ - " -SRCREV_znc = "c7f72f8bc800115ac985e7e13eace78031cb1b50" -SRCREV_Csocket = "e8d9e0bb248c521c2c7fa01e1c6a116d929c41b4" - -# This constructs a composite revision based on multiple SRCREV's. -# -SRCREV_FORMAT = "znc_Csocket" - -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," - -# ZNC has a custom autogen.sh that states that this command is needed *and* expected to fail -do_configure_prepend() { - automake --add-missing || true -} - -do_install_append() { - sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc -} diff --git a/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.8.1.bb b/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.8.1.bb new file mode 100644 index 000000000..c54e617fd --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.8.1.bb @@ -0,0 +1,32 @@ +SUMMARY = "ZNC, an advanced IRC bouncer" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS = "openssl zlib icu" + +SRC_URI = "git://github.com/znc/znc.git;name=znc \ + git://github.com/jimloco/Csocket.git;destsuffix=git/third_party/Csocket;name=Csocket \ + " +SRCREV_znc = "0a3909beaa15e0da499473d6d041e5b75c14e885" +SRCREV_Csocket = "e8d9e0bb248c521c2c7fa01e1c6a116d929c41b4" + +# This constructs a composite revision based on multiple SRCREV's. +# +SRCREV_FORMAT = "znc_Csocket" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + +# ZNC has a custom autogen.sh that states that this command is needed *and* expected to fail +do_configure_prepend() { + automake --add-missing || true +} + +do_install_append() { + sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc +} diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200712.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200712.bb index bc94e29ea..3a83e48ee 100644 --- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200712.bb +++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200712.bb @@ -33,3 +33,8 @@ module_do_install() { install -m 0644 ${MODULE_NAME}.ko \ ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko } + +# WireGuard has been merged into Linux kernel >= 5.6 and therefore this compatibility module is no longer required. +# OE-core post dunfell has moved to use kernel 5.8 which now means we cant build this module in world builds +# for reference machines e.g. qemu +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200513.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200513.bb index c24e3438c..31b33a045 100644 --- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200513.bb +++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200513.bb @@ -5,7 +5,7 @@ SRC_URI = "git://git.zx2c4.com/wireguard-tools" inherit bash-completion systemd pkgconfig -DEPENDS += "wireguard-module libmnl" +DEPENDS += "libmnl" do_install () { oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \ @@ -22,4 +22,5 @@ FILES_${PN} = " \ ${bindir} \ " -RDEPENDS_${PN} = "wireguard-module bash" +RDEPENDS_${PN} = "bash" +RRECOMMENDS_${PN} = "kernel-module-wireguard" 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 cf306ec82..628047eee 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 @@ -16,7 +16,7 @@ SRC_URI[archive.sha256sum] = "61c913299b81a4671ff089aac821329f7db9bc111aa812993d SRC_URI[patch31.md5sum] = "93d71e28ce70df69e080c7f90da63cac" SRC_URI[patch31.sha256sum] = "4edd46a32d70daa7ba00f0ebf0118dc5d17dff23d6e46aa21a2722be2e22d1c1" -inherit autotools-brokensep +inherit autotools-brokensep update-alternatives CLEANBROKEN = "1" @@ -47,3 +47,7 @@ FILES_${PN}-dbg = "${prefix}/src/debug \ ${bindir}/.debug" RDEPENDS_${PN} = "readline" + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN} = "ftp" +ALTERNATIVE_LINK_NAME[ftp] = "${bindir}/ftp" diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb index ebe867d77..a787e52f7 100644 --- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb +++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb @@ -11,6 +11,9 @@ SRC_URI = "http://sources.openembedded.org/${BPN}-${PV}.tar.gz \ " SRC_URI[md5sum] = "67212720482ea1aea9182a98653a9642" SRC_URI[sha256sum] = "421d63b414162237a72867061f1bd3e3752a0d962cd5d30b5e933ddad8a14d3b" + +inherit update-alternatives + CFLAGS += "-I${STAGING_INCDIR}/tirpc" LIBS += "-ltirpc" @@ -42,3 +45,7 @@ do_install () { 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \ 'MANDIR=${mandir}' install } +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN} = "rpcinfo" +ALTERNATIVE_LINK_NAME[rpcinfo] = "${bindir}/rpcinfo" 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 ad543b0fb..308582398 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 @@ -82,8 +82,7 @@ do_install () { mkdir -p -m 755 ${D}${localstatedir}/spool/rwho chown -R rwhod ${D}${localstatedir}/spool/rwho } - -pkg_postinst_${PN}-server() { +pkg_postinst_ontarget_${PN}-server() { ${sysconfdir}/init.d/rwhod start } diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb index 92c13e850..28e016400 100644 --- a/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb +++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb @@ -16,7 +16,7 @@ SRC_URI[archive.sha256sum] = "3a43c0010d4e61f412563fd83769d4667d8b8e82903526d21c SRC_URI[patch18.md5sum] = "cb29e7a33dd85105ba6e6ec4f971e42c" SRC_URI[patch18.sha256sum] = "092437d27b4fa88c044ef6290372fee5ce06d223607f0e22a6e527065c8930e7" -inherit autotools-brokensep +inherit autotools-brokensep update-alternatives do_configure () { ./configure --prefix=${prefix} @@ -53,3 +53,7 @@ FILES_${PN}-dbg = "${prefix}/src/debug \ ${bindir}/.debug ${sbindir}/.debug" RDEPENDS_${PN}-server = "tcp-wrappers xinetd" + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN}-client = "tftp" +ALTERNATIVE_LINK_NAME[tftp] = "${bindir}/tftp" 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 index 692c344db..f8efc1044 100644 --- 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 @@ -1,7 +1,7 @@ -From 89ea6ac4a8840e8c2be0140a9805c6522c6c5280 Mon Sep 17 00:00:00 2001 +From 6d90f9fdaf008f5c3b8fd8d91594fa1461437888 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 +Subject: [PATCH] Create subroutine for cleaning recent interfaces Moves functionality for cleaning the list of recent interfaces into its own subroutine. @@ -10,14 +10,14 @@ Upstream-Status: Submitted [dts@apple.com] Signed-off-by: Nate Karstens --- - mDNSPosix/mDNSPosix.c | 24 ++++++++++++++---------- - 1 file changed, 14 insertions(+), 10 deletions(-) + mDNSPosix/mDNSPosix.c | 23 ++++++++++++++--------- + 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index 0e10bd5..ffc9696 100644 +index a63cd19..7aeee7b 100755 --- a/mDNSPosix/mDNSPosix.c +++ b/mDNSPosix/mDNSPosix.c -@@ -856,6 +856,19 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf +@@ -1199,6 +1199,19 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf return err; } @@ -37,11 +37,10 @@ index 0e10bd5..ffc9696 100644 // 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) - +@@ -1388,15 +1401,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m) // Clean up. - if (intfList != NULL) free_ifi_info(intfList); -- + if (intfList != NULL) freeifaddrs(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(); @@ -56,5 +55,5 @@ index 0e10bd5..ffc9696 100644 return err; } -- -2.17.1 +2.20.1 diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch new file mode 100644 index 000000000..3e9be7d6a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch @@ -0,0 +1,40 @@ +From d744609c56f9872e5aa71707f1f71feec9867f51 Mon Sep 17 00:00:00 2001 +From: Mikko Rapeli +Date: Tue, 14 Jul 2020 16:36:29 +0000 +Subject: [PATCH 1/2] mdns: include for NULL + +Fixes build error with version 1096.40.7: + +../mDNSCore/mDNS.c:11385:26: error: 'NULL' undeclared (first use in this function) +11385 | const char *reason = NULL; + | ^~~~ +../mDNSCore/mDNS.c:56:1: note: 'NULL' is defined in header ''; did you forget to '#include '? + 55 | #include "dns_sd_internal.h" + +++ |+#include + 56 | +../mDNSCore/mDNS.c:11385:26: note: each undeclared identifier is reported only once for each function it appears in +11385 | const char *reason = NULL; + | ^~~~ + +Upstream-Status: Pending + +Signed-off-by: Mikko Rapeli +--- + mDNSCore/mDNS.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/mDNSCore/mDNS.c b/mDNSCore/mDNS.c +index 2fbea04..d4b9af5 100755 +--- a/mDNSCore/mDNS.c ++++ b/mDNSCore/mDNS.c +@@ -23,6 +23,7 @@ + * routines, or types (which may or may not be present on any given platform). + */ + ++#include /* for NULL */ + #include "DNSCommon.h" // Defines general DNS utility routines + #include "uDNS.h" // Defines entry points into unicast-specific routines + #include "nsec.h" +-- +2.20.1 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch new file mode 100644 index 000000000..33590ffc5 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch @@ -0,0 +1,145 @@ +From 72405143f9d16514e70b88bc4843c9634b88036a Mon Sep 17 00:00:00 2001 +From: Brendan Le Foll +Date: Tue, 3 Mar 2015 11:42:57 +0000 +Subject: [PATCH 2/2] mdns: cross compilation fixes for bitbake + +Fixes several build errors when incorrect compiler or +compiler flags are used. + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Paul Eggleton +Signed-off-by: Mikko Rapeli +--- + mDNSPosix/Makefile | 44 ++++++++++++++++++++------------------------ + 1 file changed, 20 insertions(+), 24 deletions(-) + +diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile +index 78222e0..18a3af5 100755 +--- a/mDNSPosix/Makefile ++++ b/mDNSPosix/Makefile +@@ -50,6 +50,7 @@ + + LIBVERS = 1 + ++POSIXDIR = ../mDNSPosix + COREDIR = ../mDNSCore + SHAREDDIR ?= ../mDNSShared + DSODIR ?= ../DSO +@@ -62,16 +63,16 @@ else ifeq ($(SYSTEM), Linux) + os=linux + endif + +-CC = cc +-BISON = bison +-FLEX = flex +-ST = strip +-LD = ld ++CC ?= cc ++BISON ?= bison ++FLEX ?= flex ++ST ?= strip ++LD ?= ld + SOOPTS = -shared + CP = cp + RM = rm + LN = ln -s -f +-CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(DSODIR) -I$(PROXYDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" ++CFLAGS_COMMON = -I$(POSIXDIR) -I$(COREDIR) -I$(SHAREDDIR) -I$(DSODIR) -I$(PROXYDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" + CFLAGS_PTHREAD = + LINKOPTS = + LINKOPTS_PTHREAD = -lpthread +@@ -85,6 +86,7 @@ CFLAGS_OPEN_SOURCE= + endif + + # Set up diverging paths for debug vs. prod builds ++DEBUG ?= 1 + ifeq "$(DEBUG)" "1" + CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=2 + OBJDIR = objects/debug +@@ -101,8 +103,8 @@ else + # 1. We want to make small binaries, suitable for putting into hardware devices + # 2. Some of the code analysis warnings only work when some form of optimization is enabled + CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=0 +-OBJDIR ?= objects/prod +-BUILDDIR ?= build/prod ++OBJDIR = objects/prod ++BUILDDIR = build/prod + STRIP = $(ST) -S + endif + endif +@@ -125,7 +127,7 @@ else + # any target that contains the string "linux" + ifeq ($(findstring linux,$(os)),linux) + CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -ftabstop=4 +-LD = $(CC) ++LD ?= $(CC) + SOOPTS = -shared + FLEXFLAGS_OS = -l + JAVACFLAGS_OS += -I$(JDK)/include/linux +@@ -276,8 +278,7 @@ Daemon: setup $(BUILDDIR)/mdnsd + @echo "Responder daemon done" + + $(BUILDDIR)/mdnsd: $(DAEMONOBJS) +- $(CC) -o $@ $+ $(LINKOPTS) +- $(STRIP) $@ ++ $(LD) -o $@ $+ + + # libdns_sd target builds the client library + libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) +@@ -286,13 +287,9 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) + CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o + + $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS) +- $(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ +- $(STRIP) $@ +- +-Clients: setup libdns_sd ../Clients/build/dns-sd +- @echo "Clients done" ++ $(LD) -shared $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+ + +-../Clients/build/dns-sd: ../Clients/dns-sd.c ++Clients: setup libdns_sd + $(MAKE) -C ../Clients DEBUG=$(DEBUG) SUPMAKE_CFLAGS="$(MDNSCFLAGS)" + + # nss_mdns target builds the Name Service Switch module +@@ -300,8 +297,7 @@ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE) + @echo "Name Service Switch module done" + + $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o +- $(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ +- $(STRIP) $@ ++ $(LD) -shared $(LINKOPTS) -o $@ $+ + + ############################################################################# + +@@ -494,21 +490,21 @@ dnsextd: setup $(BUILDDIR)/dnsextd + @echo "dnsextd done" + + $(BUILDDIR)/mDNSClientPosix: $(APPOBJ) $(OBJDIR)/Client.c.o +- $(CC) $+ -o $@ $(LINKOPTS) ++ $(CC) $+ -o $@ + + $(BUILDDIR)/mDNSResponderPosix: $(COMMONOBJ) $(OBJDIR)/Responder.c.o +- $(CC) $+ -o $@ $(LINKOPTS) ++ $(CC) $+ -o $@ + + $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ) $(OBJDIR)/ProxyResponder.c.o +- $(CC) $+ -o $@ $(LINKOPTS) ++ $(CC) $+ -o $@ + + $(BUILDDIR)/mDNSNetMonitor: $(SPECIALOBJ) $(OBJDIR)/NetMonitor.c.o +- $(CC) $+ -o $@ $(LINKOPTS) ++ $(CC) $+ -o $@ + + $(OBJDIR)/NetMonitor.c.o: $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c + + $(BUILDDIR)/dnsextd: $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o +- $(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD) ++ $(CC) $+ -o $@ $(LINKOPTS_PTHREAD) + + ############################################################################# + +-- +2.20.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 index 05ad49b9f..db3a63ea4 100644 --- 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 @@ -1,4 +1,4 @@ -From e1f483510a1011e37540fdee8f3bc36111fa45a0 Mon Sep 17 00:00:00 2001 +From 798bfb5e984845a27874d1a244686db6e384d7b8 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 @@ -15,10 +15,10 @@ Signed-off-by: Nate Karstens 1 file changed, 52 insertions(+), 15 deletions(-) diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index 8fe22be..699855a 100644 +index 195d04b..bb883c1 100755 --- a/mDNSPosix/mDNSPosix.c +++ b/mDNSPosix/mDNSPosix.c -@@ -75,6 +75,14 @@ struct IfChangeRec +@@ -67,6 +67,14 @@ struct IfChangeRec }; typedef struct IfChangeRec IfChangeRec; @@ -31,9 +31,9 @@ index 8fe22be..699855a 100644 +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) + static PosixEventSource *gEventSources; // linked list of PosixEventSource's + static sigset_t gEventSignalSet; // Signals which event loop listens for +@@ -1458,6 +1466,32 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD) return err; } @@ -66,7 +66,7 @@ index 8fe22be..699855a 100644 #if MDNS_DEBUGMSGS mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg) { -@@ -1098,14 +1132,13 @@ mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg) +@@ -1485,14 +1519,13 @@ mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg) } #endif @@ -82,7 +82,7 @@ index 8fe22be..699855a 100644 // 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) +@@ -1528,9 +1561,9 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) // Process the NetLink message if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK) @@ -94,7 +94,7 @@ index 8fe22be..699855a 100644 // 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) +@@ -1541,8 +1574,6 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) else break; // all done! } @@ -103,7 +103,7 @@ index 8fe22be..699855a 100644 } #else // USES_NETLINK -@@ -1187,14 +1218,13 @@ mDNSlocal void PrintRoutingSocketMsg(const struct ifa_msghdr *pRSMsg) +@@ -1574,14 +1605,13 @@ mDNSlocal void PrintRoutingSocketMsg(const struct ifa_msghdr *pRSMsg) } #endif @@ -119,7 +119,7 @@ index 8fe22be..699855a 100644 readCount = read(sd, buff, sizeof buff); if (readCount < (ssize_t) sizeof(struct ifa_msghdr)) -@@ -1209,12 +1239,10 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) +@@ -1596,12 +1626,10 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) pRSMsg->ifam_type == RTM_IFINFO) { if (pRSMsg->ifam_type == RTM_IFINFO) @@ -134,7 +134,7 @@ index 8fe22be..699855a 100644 } #endif // USES_NETLINK -@@ -1224,7 +1252,8 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context) +@@ -1611,7 +1639,8 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context) { IfChangeRec *pChgRec = (IfChangeRec*) context; fd_set readFDs; @@ -144,7 +144,7 @@ index 8fe22be..699855a 100644 struct timeval zeroTimeout = { 0, 0 }; (void)fd; // Unused -@@ -1233,17 +1262,25 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context) +@@ -1619,17 +1648,25 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context) FD_ZERO(&readFDs); FD_SET(pChgRec->NotifySD, &readFDs); @@ -173,5 +173,5 @@ index 8fe22be..699855a 100644 // Register with either a Routing Socket or RtNetLink to listen for interface changes. -- -2.17.1 +2.20.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 deleted file mode 100644 index f2b171e55..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch +++ /dev/null @@ -1,212 +0,0 @@ -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/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 deleted file mode 100644 index 86201c650..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch +++ /dev/null @@ -1,129 +0,0 @@ -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/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 index d64fb35db..d9adde04c 100644 --- 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 @@ -1,7 +1,7 @@ -From 19de26db69408f02241e232b39224589a0f630df Mon Sep 17 00:00:00 2001 +From 9ff06108cd44e84ba6c68bfa6737e793f117e303 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 +Subject: [PATCH] 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 @@ -11,14 +11,14 @@ Upstream-Status: Submitted [dts@apple.com] Signed-off-by: Nate Karstens --- - mDNSPosix/mDNSPosix.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) + mDNSPosix/mDNSPosix.c | 14 ++++---------- + 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c -index 84af26b..b7795ed 100644 +index 7aeee7b..2d25016 100755 --- a/mDNSPosix/mDNSPosix.c +++ b/mDNSPosix/mDNSPosix.c -@@ -91,6 +91,7 @@ static sigset_t gEventSignalSet; // Signals which event loop list +@@ -81,6 +81,7 @@ static sigset_t gEventSignalSet; // Signals which event loop list static sigset_t gEventSignals; // Signals which were received while inside loop static PosixNetworkInterface *gRecentInterfaces; @@ -26,13 +26,13 @@ index 84af26b..b7795ed 100644 // *************************************************************************** // Globals (for debugging) -@@ -1412,16 +1413,11 @@ cleanup: +@@ -1641,18 +1642,11 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context) mDNSlocal mStatus WatchForInterfaceChange(mDNS *const m) { mStatus err; - IfChangeRec *pChgRec; -- pChgRec = (IfChangeRec*) mDNSPlatformMemAllocate(sizeof *pChgRec); +- pChgRec = (IfChangeRec*) mDNSPlatformMemAllocateClear(sizeof *pChgRec); - if (pChgRec == NULL) - return mStatus_NoMemoryErr; - @@ -42,10 +42,12 @@ index 84af26b..b7795ed 100644 + err = OpenIfNotifySocket(&gChgRec.NotifySD); if (err == 0) - err = mDNSPosixAddFDToEventLoop(pChgRec->NotifySD, InterfaceChangeCallback, pChgRec); +- if (err) +- mDNSPlatformMemFree(pChgRec); + err = mDNSPosixAddFDToEventLoop(gChgRec.NotifySD, InterfaceChangeCallback, &gChgRec); return err; } -- -2.17.1 +2.20.1 diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch deleted file mode 100644 index 4ab9d23bf..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch +++ /dev/null @@ -1,167 +0,0 @@ -From 43b6e98c9c37afd0d914949dcff4eab81f5a995f Mon Sep 17 00:00:00 2001 -From: Brendan Le Foll -Date: Tue, 3 Mar 2015 11:42:57 +0000 - -Upstream-Status: Inappropriate [OE-specific] - -Signed-off-by: Paul Eggleton - ---- - mDNSPosix/Makefile | 54 +++++++++++++++++++++++++----------------------------- - 1 file changed, 25 insertions(+), 29 deletions(-) - -diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile -index 4f98e90..8ac97ad 100755 ---- a/mDNSPosix/Makefile -+++ b/mDNSPosix/Makefile -@@ -50,6 +50,7 @@ - - LIBVERS = 1 - -+POSIXDIR = ../mDNSPosix - COREDIR = ../mDNSCore - SHAREDDIR ?= ../mDNSShared - JDK = /usr/jdk -@@ -58,11 +59,11 @@ CC = @cc - BISON = @bison - FLEX = @flex - ST = @strip --LD = ld -shared -+LD =@LD - CP = cp - RM = rm - LN = ln -s -f --CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" -+CFLAGS_COMMON = -I$(POSIXDIR) -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" - CFLAGS_PTHREAD = - LINKOPTS = - LINKOPTS_PTHREAD = -lpthread -@@ -70,7 +71,7 @@ LDSUFFIX = so - JAVACFLAGS_OS = -fPIC -shared -ldns_sd - - # Set up diverging paths for debug vs. prod builds --DEBUG=0 -+DEBUG?=1 - ifeq ($(DEBUG),1) - CFLAGS_DEBUG = -g -DMDNS_DEBUGMSGS=2 - OBJDIR = objects/debug -@@ -213,7 +214,7 @@ endif - endif - endif - --CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG) -+CFLAGS_BUILD = $(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG) - - ############################################################################# - -@@ -249,8 +250,7 @@ Daemon: setup $(BUILDDIR)/mdnsd - @echo "Responder daemon done" - - $(BUILDDIR)/mdnsd: $(DAEMONOBJS) -- $(CC) -o $@ $+ $(LINKOPTS) -- @$(STRIP) $@ -+ $(CC) -o $@ $+ - - # libdns_sd target builds the client library - libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) -@@ -259,22 +259,18 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) - CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o - - $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS) -- @$(LD) $(LINKOPTS) -o $@ $+ -- @$(STRIP) $@ -+ $(LD) -shared $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+ - --Clients: setup libdns_sd ../Clients/build/dns-sd -+Clients: setup libdns_sd -+ @$(MAKE) -C ../Clients DEBUG=${DEBUG} - @echo "Clients done" - --../Clients/build/dns-sd: -- @$(MAKE) -C ../Clients -- - # nss_mdns target builds the Name Service Switch module - nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE) - @echo "Name Service Switch module done" - - $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o -- @$(LD) $(LINKOPTS) -o $@ $+ -- @$(STRIP) $@ -+ $(LD) -shared $(LINKOPTS) -o $@ $+ - - ############################################################################# - -@@ -470,55 +466,55 @@ dnsextd: setup $(BUILDDIR)/dnsextd - @echo "dnsextd done" - - $(BUILDDIR)/mDNSClientPosix: $(APPOBJ) $(OBJDIR)/Client.c.o -- $(CC) $+ -o $@ $(LINKOPTS) -+ $(CC) $+ -o $@ - - $(BUILDDIR)/mDNSResponderPosix: $(COMMONOBJ) $(OBJDIR)/Responder.c.o -- $(CC) $+ -o $@ $(LINKOPTS) -+ $(CC) $+ -o $@ - - $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ) $(OBJDIR)/ProxyResponder.c.o -- $(CC) $+ -o $@ $(LINKOPTS) -+ $(CC) $+ -o $@ - - $(BUILDDIR)/mDNSIdentify: $(SPECIALOBJ) $(OBJDIR)/Identify.c.o -- $(CC) $+ -o $@ $(LINKOPTS) -+ $(CC) $+ -o $@ - - $(OBJDIR)/Identify.c.o: $(COREDIR)/mDNS.c # Note: Identify.c textually imports mDNS.c - - $(BUILDDIR)/mDNSNetMonitor: $(SPECIALOBJ) $(OBJDIR)/NetMonitor.c.o -- $(CC) $+ -o $@ $(LINKOPTS) -+ $(CC) $+ -o $@ - - $(OBJDIR)/NetMonitor.c.o: $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c - - $(BUILDDIR)/dnsextd: $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o -- $(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD) -+ $(CC) $+ -o $@ $(LINKOPTS_PTHREAD) - - ############################################################################# - - # Implicit rules - $(OBJDIR)/%.c.o: %.c -- $(CC) $(CFLAGS) -c -o $@ $< -+ $(CC) $(CFLAGS_BUILD) -c -o $@ $< - - $(OBJDIR)/%.c.o: $(COREDIR)/%.c -- $(CC) $(CFLAGS) -c -o $@ $< -+ $(CC) $(CFLAGS_BUILD) -c -o $@ $< - - $(OBJDIR)/%.c.o: $(SHAREDDIR)/%.c -- $(CC) $(CFLAGS) -c -o $@ $< -+ $(CC) $(CFLAGS_BUILD) -c -o $@ $< - - $(OBJDIR)/%.c.threadsafe.o: %.c -- $(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $< -+ $(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $< - - $(OBJDIR)/%.c.threadsafe.o: $(SHAREDDIR)/%.c -- $(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $< -+ $(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $< - - $(OBJDIR)/%.c.so.o: %.c -- $(CC) $(CFLAGS) -c -fPIC -o $@ $< -+ $(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $< - - $(OBJDIR)/%.c.so.o: $(SHAREDDIR)/%.c -- $(CC) $(CFLAGS) -c -fPIC -o $@ $< -+ $(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $< - - $(OBJDIR)/%.y.o: $(SHAREDDIR)/%.y - $(BISON) -o $(OBJDIR)/$*.c -d $< -- $(CC) $(CFLAGS) -c -o $@ $(OBJDIR)/$*.c -+ $(CC) $(CFLAGS_BUILD) -c -o $@ $(OBJDIR)/$*.c - - $(OBJDIR)/%.l.o: $(SHAREDDIR)/%.l - $(FLEX) $(FLEXFLAGS_OS) -i -o$(OBJDIR)/$*.l.c $< -- $(CC) $(CFLAGS) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c -+ $(CC) $(CFLAGS_BUILD) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c --- -2.9.5 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1096.40.7.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1096.40.7.bb new file mode 100644 index 000000000..086b40869 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1096.40.7.bb @@ -0,0 +1,102 @@ +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 & BSD-3-Clause" +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://mdns.service \ + file://0001-mdns-include-stddef.h-for-NULL.patch;patchdir=.. \ + file://0002-mdns-cross-compilation-fixes-for-bitbake.patch;patchdir=.. \ + 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://0006-Remove-unneeded-function.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] = "ac766013bbcb323e9db4c80805b2552a" +SRC_URI[sha256sum] = "b86f4816b4145915198e7c5bf0bc56dbbfd960e9a4518bb6486baa40cdcca7e6" + +CVE_PRODUCT = "apple:mdnsresponder" + +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 deleted file mode 100644 index 0f8dc92df..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb +++ /dev/null @@ -1,101 +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 \ - 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 deleted file mode 100644 index dd159b9ce..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch +++ /dev/null @@ -1,168 +0,0 @@ -From 4bf83597379523032663c8e95b3786a217c9a849 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 9dbdde1353..ec972636c2 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 9e9e9009e5..e714f91e72 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 cad6b74486..8909bffe05 100755 ---- a/configure -+++ b/configure -@@ -31717,6 +31717,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" -@@ -32740,6 +32742,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 1622b7c051..898b50f368 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -118,6 +118,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 0000000000..3a1c77bbf8 ---- /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 0000000000..0a1f5785a4 ---- /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.26.2 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch index 5ad7470c9..05a47f61c 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch @@ -1,4 +1,4 @@ -From 2ad4df6d503be72a8910c3087611adb33d77ffde Mon Sep 17 00:00:00 2001 +From 69d4c517c07f55c505090e48d96ace8cd599fb26 Mon Sep 17 00:00:00 2001 From: Li xin Date: Fri, 21 Aug 2015 18:23:13 +0900 Subject: [PATCH] config_os_headers: Error Fix @@ -13,15 +13,16 @@ conftest.c:168:17: fatal error: pkg.h: No such file or directory Upstream-Status: pending Signed-off-by: Li Xin + --- configure.d/config_os_headers | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers -index 2fdb5a35d6..0272f02c8e 100644 +index f07d512..2363b42 100644 --- a/configure.d/config_os_headers +++ b/configure.d/config_os_headers -@@ -487,8 +487,8 @@ then +@@ -395,8 +395,8 @@ then unset ac_cv_header_pkg_h netsnmp_save_CPPFLAGS="$CPPFLAGS" netsnmp_save_LDFLAGS="$LDFLAGS" @@ -32,6 +33,3 @@ index 2fdb5a35d6..0272f02c8e 100644 AC_CHECK_HEADERS(pkg.h, NETSNMP_SEARCH_LIBS(pkg_init, pkg, AC_DEFINE(HAVE_LIBPKG, 1, [define if you have BSD pkg-ng]))) --- -2.26.2 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch index bf133b3e3..22e591556 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch @@ -1,4 +1,4 @@ -From 98c6edba4835b515d933542411d80879327eee16 Mon Sep 17 00:00:00 2001 +From 2bf1bbe1d428ed06d57aa76b03e394b72ff2216d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 22 Jul 2016 18:34:39 +0000 Subject: [PATCH] get_pid_from_inode: Include limit.h diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch deleted file mode 100644 index 33a1e745f..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 383e67e359b89abe0440597ce414297892ade511 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Tue, 26 Feb 2019 14:26:07 +0800 -Subject: [PATCH] net-snmp: fix compile error with --disable-des - -| scapi.c: In function 'sc_encrypt': -| scapi.c:1256:5: error: 'pad_size' undeclared (first use in this function); did you mean 'dysize'? -| pad_size = pai->pad_size; -| ^~~~~~~~ -| dysize - -pad_size is defined only without --disable-des -[snip] -#ifndef NETSNMP_DISABLE_DES - int pad, plast, pad_size = 0; - -but used when disable-des, -[snip] - QUITFUN(SNMPERR_GENERR, sc_encrypt_quit); - } - pad_size = pai->pad_size; - - memset(my_iv, 0, sizeof(my_iv)); - -#ifndef NETSNMP_DISABLE_DES - if (USM_CREATE_USER_PRIV_DES == (pai->type & USM_PRIV_MASK_ALG)) { - - /* - -fix by move it into #ifndef NETSNMP_DISABLE_DES - -Upstream-Status: Submitted [https://sourceforge.net/p/net-snmp/bugs/2927/] - -Signed-off-by: Changqing Li ---- - snmplib/scapi.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/snmplib/scapi.c b/snmplib/scapi.c -index 8ad1d70d90..8c6882d9ab 100644 ---- a/snmplib/scapi.c -+++ b/snmplib/scapi.c -@@ -1251,7 +1251,6 @@ sc_encrypt(const oid * privtype, size_t privtypelen, - - QUITFUN(SNMPERR_GENERR, sc_encrypt_quit); - } -- pad_size = pai->pad_size; - - memset(my_iv, 0, sizeof(my_iv)); - -@@ -1261,6 +1260,8 @@ sc_encrypt(const oid * privtype, size_t privtypelen, - /* - * now calculate the padding needed - */ -+ -+ pad_size = pai->pad_size; - pad = pad_size - (ptlen % pad_size); - plast = (int) ptlen - (pad_size - pad); - if (pad == pad_size) --- -2.26.2 - diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch index 778b40188..42352a6b0 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch @@ -1,4 +1,4 @@ -From 89538a973119f1bf976b3a6df157ea940cf32eb5 Mon Sep 17 00:00:00 2001 +From f3ff99736b8cccbba77349b0d10a3cee366a4c87 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 18 Sep 2015 00:28:45 -0400 Subject: [PATCH] snmplib/keytools.c: Don't check for return from @@ -10,22 +10,25 @@ EVP_MD_CTX_init() API returns void, it fixes errors with new compilers snmplib/keytools.c: In function 'generate_Ku': error: invalid use of void expression Signed-off-by: Khem Raj +Signed-off-by: Ovidiu Panait --- - snmplib/keytools.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) + snmplib/keytools.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/snmplib/keytools.c b/snmplib/keytools.c -index 2cf0240..50fd3ea 100644 +index 129a7c0..2fc1efc 100644 --- a/snmplib/keytools.c +++ b/snmplib/keytools.c -@@ -186,8 +186,7 @@ generate_Ku(const oid * hashtype, u_int hashtype_len, +@@ -183,10 +183,7 @@ generate_Ku(const oid * hashtype, u_int hashtype_len, ctx = EVP_MD_CTX_create(); #else ctx = malloc(sizeof(*ctx)); -- if (!EVP_MD_CTX_init(ctx)) -- return SNMPERR_GENERR; +- if (!EVP_MD_CTX_init(ctx)) { +- rval = SNMPERR_GENERR; +- goto generate_Ku_quit; +- } + EVP_MD_CTX_init(ctx); #endif - if (!EVP_DigestInit(ctx, hashfn)) - return SNMPERR_GENERR; + if (!EVP_DigestInit(ctx, hashfn)) { + rval = SNMPERR_GENERR; diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch index 4782714d5..c973bde72 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch @@ -1,7 +1,7 @@ -From a3631df3d6743113e1cd63579925e15bcce85868 Mon Sep 17 00:00:00 2001 +From 0a02ac779c51a2b4af3b58cb96967bf3eff80367 Mon Sep 17 00:00:00 2001 From: Wenlin Kang Date: Wed, 24 May 2017 16:45:34 +0800 -Subject: [PATCH 2/4] configure: fix a cc check issue. +Subject: [PATCH] configure: fix a cc check issue. When has "." in cc value, the expression $myperl -V:cc | $myperl -n -e 'print if (s/^\s*cc=.([-=\w\s\/]+).;\s*/$1/);' diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch index a3d84b291..bfddc63dd 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch @@ -1,7 +1,7 @@ -From f3c5cd4df7ce8e5639c99b7b918e41fb89e969e3 Mon Sep 17 00:00:00 2001 +From 011bdcd07f2a289d0cfc1b411c03c0cc7c42dad1 Mon Sep 17 00:00:00 2001 From: Wenlin Kang Date: Wed, 24 May 2017 17:10:20 +0800 -Subject: [PATCH 4/4] configure: fix incorrect variable +Subject: [PATCH] configure: fix incorrect variable For cross compile platform, this variable will not be correct, so fix it. @@ -14,10 +14,10 @@ Signed-off-by: Wenlin Kang 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in -index 9dbdde1..5fdc760 100644 +index 912f6b2..a53d1b2 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -173,7 +173,7 @@ OTHERCLEANTODOS=perlclean @PYTHONCLEANTARGS@ cleanfeatures perlcleanfeatures pyt +@@ -174,7 +174,7 @@ OTHERCLEANTODOS=perlclean @PYTHONCLEANTARGS@ cleanfeatures perlcleanfeatures pyt # # override LD_RUN_PATH to avoid dependencies on the build directory perlmodules: perlmakefiles subdirs diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/CVE-2019-20892.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/CVE-2019-20892.patch deleted file mode 100644 index ec1b6de8f..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/CVE-2019-20892.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 5f881d3bf24599b90d67a45cae7a3eb099cd71c9 Mon Sep 17 00:00:00 2001 -From: Bart Van Assche -Date: Sat, 27 Jul 2019 19:34:09 -0700 -Subject: [PATCH] libsnmp, USM: Introduce a reference count in struct - usmStateReference - -This patch fixes https://sourceforge.net/p/net-snmp/bugs/2956/. - -Upstream-Status: Backport -[ak: fixup for 5.8 context, changes to library/snmpusm.h] - -CVE: CVE-2019-20892 - -Signed-off-by: Armin Kuster -Signed-off-by: Mingde (Matthew) Zeng - ---- - snmplib/snmp_client.c | 22 +++---------- - snmplib/snmpusm.c | 73 ++++++++++++++++++++++++++++--------------- - 2 files changed, 53 insertions(+), 42 deletions(-) - -Index: net-snmp-5.8/snmplib/snmpusm.c -=================================================================== ---- net-snmp-5.8.orig/snmplib/snmpusm.c -+++ net-snmp-5.8/snmplib/snmpusm.c -@@ -285,12 +285,35 @@ free_enginetime_on_shutdown(int majorid, - struct usmStateReference * - usm_malloc_usmStateReference(void) - { -- struct usmStateReference *retval = (struct usmStateReference *) -- calloc(1, sizeof(struct usmStateReference)); -+ struct usmStateReference *retval; - -+ retval = calloc(1, sizeof(struct usmStateReference)); -+ if (retval) -+ retval->refcnt = 1; - return retval; - } /* end usm_malloc_usmStateReference() */ - -+static int -+usm_clone(netsnmp_pdu *pdu, netsnmp_pdu *new_pdu) -+{ -+ struct usmStateReference *ref = pdu->securityStateRef; -+ struct usmStateReference **new_ref = -+ (struct usmStateReference **)&new_pdu->securityStateRef; -+ int ret = 0; -+ -+ if (!ref) -+ return ret; -+ -+ if (pdu->command == SNMP_MSG_TRAP2) { -+ netsnmp_assert(pdu->securityModel == SNMP_DEFAULT_SECMODEL); -+ ret = usm_clone_usmStateReference(ref, new_ref); -+ } else { -+ netsnmp_assert(ref == *new_ref); -+ ref->refcnt++; -+ } -+ -+ return ret; -+} - - void - usm_free_usmStateReference(void *old) -@@ -3345,6 +3368,7 @@ init_usm(void) - def->encode_reverse = usm_secmod_rgenerate_out_msg; - def->encode_forward = usm_secmod_generate_out_msg; - def->decode = usm_secmod_process_in_msg; -+ def->pdu_clone = usm_clone; - def->pdu_free_state_ref = usm_free_usmStateReference; - def->session_setup = usm_session_init; - def->handle_report = usm_handle_report; -Index: net-snmp-5.8/snmplib/snmp_client.c -=================================================================== ---- net-snmp-5.8.orig/snmplib/snmp_client.c -+++ net-snmp-5.8/snmplib/snmp_client.c -@@ -402,27 +402,15 @@ _clone_pdu_header(netsnmp_pdu *pdu) - return NULL; - } - -- if (pdu->securityStateRef && -- pdu->command == SNMP_MSG_TRAP2) { -- -- ret = usm_clone_usmStateReference((struct usmStateReference *) pdu->securityStateRef, -- (struct usmStateReference **) &newpdu->securityStateRef ); -- -- if (ret) -- { -+ sptr = find_sec_mod(newpdu->securityModel); -+ if (sptr && sptr->pdu_clone) { -+ /* call security model if it needs to know about this */ -+ ret = sptr->pdu_clone(pdu, newpdu); -+ if (ret) { - snmp_free_pdu(newpdu); - return NULL; - } - } -- -- if ((sptr = find_sec_mod(newpdu->securityModel)) != NULL && -- sptr->pdu_clone != NULL) { -- /* -- * call security model if it needs to know about this -- */ -- (*sptr->pdu_clone) (pdu, newpdu); -- } -- - return newpdu; - } - -Index: net-snmp-5.8/include/net-snmp/library/snmpusm.h -=================================================================== ---- net-snmp-5.8.orig/include/net-snmp/library/snmpusm.h -+++ net-snmp-5.8/include/net-snmp/library/snmpusm.h -@@ -43,6 +43,7 @@ extern "C" { - * Structures. - */ - struct usmStateReference { -+ int refcnt; - char *usr_name; - size_t usr_name_length; - u_char *usr_engine_id; diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch index fc3ac2a4b..26dd014ce 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch @@ -1,4 +1,4 @@ -From 0becb4843a40910d5ec9aa11969d4905a22037cf Mon Sep 17 00:00:00 2001 +From 27444fbf8323679ea0551a3bd5f04c365143d8c0 Mon Sep 17 00:00:00 2001 From: "Roy.Li" Date: Fri, 16 Jan 2015 14:14:01 +0800 Subject: [PATCH] net-snmp: fix "libtool --finish" @@ -20,7 +20,7 @@ Signed-off-by: Roy.Li 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.top b/Makefile.top -index 5d4f9bc..d0ed31c 100644 +index 6315401..fc0ee06 100644 --- a/Makefile.top +++ b/Makefile.top @@ -89,7 +89,7 @@ LIBREVISION = 0 diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch index 5cbb60d8e..da6d80ef4 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch @@ -1,4 +1,4 @@ -From d619cd9fc01f336ff0ff55b18f9112789eb4d84c Mon Sep 17 00:00:00 2001 +From b6a3d6c8af35f1ef27b80b0516742fce89f4eb29 Mon Sep 17 00:00:00 2001 From: Marian Florea Date: Thu, 20 Jul 2017 16:55:24 +0800 Subject: [PATCH] net snmp: fix engineBoots value on SIGHUP @@ -14,10 +14,10 @@ Signed-off-by: Li Zhou 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/agent/snmpd.c b/agent/snmpd.c -index 6566354..eb0d4b4 100644 +index ae73eda..66b4560 100644 --- a/agent/snmpd.c +++ b/agent/snmpd.c -@@ -1239,6 +1239,7 @@ receive(void) +@@ -1207,6 +1207,7 @@ receive(void) snmp_log(LOG_INFO, "NET-SNMP version %s restarted\n", netsnmp_get_version()); update_config(); @@ -26,10 +26,10 @@ index 6566354..eb0d4b4 100644 #if HAVE_SIGHOLD sigrelse(SIGHUP); diff --git a/snmplib/snmpv3.c b/snmplib/snmpv3.c -index 771ba3b..5de05e7 100644 +index 29c2a0f..ada961c 100644 --- a/snmplib/snmpv3.c +++ b/snmplib/snmpv3.c -@@ -1060,9 +1060,9 @@ init_snmpv3_post_config(int majorid, int minorid, void *serverarg, +@@ -1059,9 +1059,9 @@ init_snmpv3_post_config(int majorid, int minorid, void *serverarg, /* * if our engineID has changed at all, the boots record must be set to 1 */ diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch index fb773e638..f1ebe2bb6 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch @@ -1,4 +1,4 @@ -From a1134a31d417cc05a1fdb094f613a00a7a5e7ac5 Mon Sep 17 00:00:00 2001 +From e507dcf8b29c55011f85d88bf05400d4717e4074 Mon Sep 17 00:00:00 2001 From: Chong Lu Date: Thu, 28 May 2020 09:46:34 -0500 Subject: [PATCH] net-snmp: add knob whether nlist.h are checked @@ -9,30 +9,28 @@ Add knob to decide whether nlist.h are checked or not. Upstream-status: Pending Signed-off-by: Chong Lu + --- configure.d/config_os_headers | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers -index 2fdb5a35d6..af997461d5 100644 +index 76ef58a..f07d512 100644 --- a/configure.d/config_os_headers +++ b/configure.d/config_os_headers -@@ -32,6 +32,7 @@ AC_CHECK_HEADERS([getopt.h pthread.h regex.h ] dnl - [sys/un.h ]) +@@ -37,6 +37,7 @@ AC_CHECK_HEADERS([getopt.h pthread.h regex.h ] dnl + [sys/timeb.h ]) # Library and Agent: +if test "x$with_elf" != "xno"; then AC_CHECK_HEADERS([nlist.h],,,[ AC_INCLUDES_DEFAULT [ -@@ -39,6 +40,7 @@ AC_INCLUDES_DEFAULT +@@ -44,6 +45,7 @@ AC_INCLUDES_DEFAULT #define LIBBSD_DISABLE_DEPRECATED 1 #endif ]]) +fi # Library: - AC_CHECK_HEADERS([fcntl.h io.h kstat.h ] dnl --- -2.26.2 - + AC_CHECK_HEADERS([crt_externs.h ] dnl diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch index 4cd8fd1e4..2941a3609 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch @@ -1,4 +1,4 @@ -From 068952c0e0cdda5a91250b91c5fcc9b85b43daab Mon Sep 17 00:00:00 2001 +From 3ca4335ec1d6b7b384c134fc85d7a9e513c68376 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Thu, 22 Jun 2017 10:25:08 +0800 Subject: [PATCH] net-snmp: fix for --disable-des @@ -15,10 +15,10 @@ Signed-off-by: Jackie Huang 1 file changed, 2 insertions(+) diff --git a/snmplib/scapi.c b/snmplib/scapi.c -index 8ad1d70..43caddf 100644 +index 00c9174..c6875e1 100644 --- a/snmplib/scapi.c +++ b/snmplib/scapi.c -@@ -84,7 +84,9 @@ netsnmp_feature_child_of(usm_scapi, usm_support) +@@ -85,7 +85,9 @@ netsnmp_feature_child_of(usm_scapi, usm_support); #include #include #include diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch index 7cbaf0bc5..807983f61 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch @@ -1,4 +1,4 @@ -From 827fe3b0253aab33472828f40ad05934cc0261b8 Mon Sep 17 00:00:00 2001 +From 972df16e9599dffddf5d714a4cbf43008c771122 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Wed, 14 Jan 2015 15:10:06 +0800 Subject: [PATCH] testing: add the output format for ptest diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch deleted file mode 100644 index b0dbf5ad3..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch +++ /dev/null @@ -1,15 +0,0 @@ -Reproducible build: To avoid build host paths being written into binaries, -accept NETSNMP_CONFIGURE_OPTIONS from the environment. -NETSNMP_CONFIGURE_OPTIONS can be set either null or to a fixed value. - ---- net-snmp-5.8.original/configure.ac 2018-11-20 17:41:39.926529072 +1300 -+++ net-snmp-5.8/configure.ac 2018-11-20 17:54:44.488180224 +1300 -@@ -28,7 +28,7 @@ - # - # save the configure arguments - # --AC_DEFINE_UNQUOTED(NETSNMP_CONFIGURE_OPTIONS,"$ac_configure_args", -+AC_DEFINE_UNQUOTED(NETSNMP_CONFIGURE_OPTIONS,"${NETSNMP_CONFIGURE_OPTIONS-$ac_configure_args}", - [configure options specified]) - CONFIGURE_OPTIONS="\"$ac_configure_args\"" - AC_SUBST(CONFIGURE_OPTIONS) diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch index 4316c7a71..bf1e7bedf 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch @@ -1,11 +1,22 @@ +From 84e362fe97f50fbad69f083bc2d8fe18f83eb2f7 Mon Sep 17 00:00:00 2001 +From: "douglas.royds" +Date: Wed, 21 Nov 2018 13:52:18 +1300 +Subject: [PATCH] net-snmp: Reproducibility: Don't check build host for + Reproducible build: Don't check for /etc/printcap on the build machine when cross-compiling. Use AC_CHECK_FILE to set the cached variable ac_cv_file__etc_printcap instead. When cross-compiling, this variable should be set in the environment to "yes" or "no" as appropriate for the target platform. ---- net-snmp-5.8.original/configure.d/config_os_misc4 2018-11-20 17:05:03.986274522 +1300 -+++ net-snmp-5.8/configure.d/config_os_misc4 2018-11-20 17:08:32.250700448 +1300 -@@ -116,9 +116,9 @@ +--- + configure.d/config_os_misc4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.d/config_os_misc4 b/configure.d/config_os_misc4 +index 6f23c8e..8cea75a 100644 +--- a/configure.d/config_os_misc4 ++++ b/configure.d/config_os_misc4 +@@ -99,9 +99,9 @@ if test x$LPSTAT_PATH != x; then [Path to the lpstat command]) AC_DEFINE(HAVE_LPSTAT, 1, [Set if the lpstat command is available]) fi 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 deleted file mode 100644 index 67316db0d..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb +++ /dev/null @@ -1,278 +0,0 @@ -SUMMARY = "Various tools relating to the Simple Network Management Protocol" -HOMEPAGE = "http://www.net-snmp.org/" -SECTION = "net" -LICENSE = "BSD & MIT" - -LIC_FILES_CHKSUM = "file://COPYING;md5=9d100a395a38584f2ec18a8275261687" - -DEPENDS = "openssl libnl pciutils" - -SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \ - file://init \ - file://snmpd.conf \ - file://snmptrapd.conf \ - file://snmpd.service \ - file://snmptrapd.service \ - file://net-snmp-add-knob-whether-nlist.h-are-checked.patch \ - file://fix-libtool-finish.patch \ - file://net-snmp-testing-add-the-output-format-for-ptest.patch \ - file://run-ptest \ - file://0001-config_os_headers-Error-Fix.patch \ - file://0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch \ - file://0001-get_pid_from_inode-Include-limit.h.patch \ - file://0002-configure-fix-a-cc-check-issue.patch \ - file://0004-configure-fix-incorrect-variable.patch \ - file://net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch \ - file://net-snmp-fix-for-disable-des.patch \ - 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 \ - file://CVE-2019-20892.patch \ - " -SRC_URI[md5sum] = "63bfc65fbb86cdb616598df1aff6458a" -SRC_URI[sha256sum] = "b2fc3500840ebe532734c4786b0da4ef0a5f67e51ef4c86b3345d697e4976adf" - -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 multilib_script multilib_header - -EXTRA_OEMAKE = "INSTALL_PREFIX=${D} OTHERLDFLAGS='${LDFLAGS}' HOST_CPPFLAGS='${BUILD_CPPFLAGS}'" - -PARALLEL_MAKE = "" -CCACHE = "" - -TARGET_CC_ARCH += "${LDFLAGS}" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} des" -PACKAGECONFIG[elfutils] = "--with-elf, --without-elf, elfutils" -PACKAGECONFIG[libnl] = "--with-nl, --without-nl, libnl" - -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," - -PACKAGECONFIG[perl] = "--enable-embedded-perl --with-perl-modules=yes, --disable-embedded-perl --with-perl-modules=no,\ - perl," -PACKAGECONFIG[des] = "--enable-des,--disable-des" - -EXTRA_OECONF = "--enable-shared \ - --disable-manuals \ - --with-defaults \ - --with-install-prefix=${D} \ - --with-persistent-directory=${localstatedir}/lib/net-snmp \ - ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)} \ - --with-openssl=${STAGING_EXECPREFIXDIR} \ -" - -# net-snmp needs to have mib-modules=smux enabled to enable quagga to support snmp -EXTRA_OECONF += "--with-mib-modules=smux" - -CACHED_CONFIGUREVARS = " \ - ac_cv_header_valgrind_valgrind_h=no \ - ac_cv_header_valgrind_memcheck_h=no \ - ac_cv_ETC_MNTTAB=/etc/mtab \ - lt_cv_shlibpath_overrides_runpath=yes \ - ac_cv_path_UNAMEPROG=${base_bindir}/uname \ - ac_cv_file__etc_printcap=no \ - NETSNMP_CONFIGURE_OPTIONS= \ -" -export PERLPROG="${bindir}/env perl" -PERLPROG_append = "${@bb.utils.contains('PACKAGECONFIG', 'perl', ' -I${WORKDIR}', '', d)}" - -HAS_PERL = "${@bb.utils.contains('PACKAGECONFIG', 'perl', '1', '0', d)}" - -PTEST_BUILD_HOST_FILES += "net-snmp-config gen-variables" - -do_configure_prepend() { - sed -i -e "s|I/usr/include|I${STAGING_INCDIR}|g" \ - "${S}"/configure \ - "${S}"/configure.d/config_os_libs2 - - if [ "${HAS_PERL}" = "1" ]; then - # this may need to be changed when package perl has any change. - cp -f ${STAGING_DIR_TARGET}/usr/lib*/perl?/*/Config.pm ${WORKDIR}/ - cp -f ${STAGING_DIR_TARGET}/usr/lib*/perl?/*/*/Config_heavy.pl ${WORKDIR}/ - sed -e "s@libpth => '/usr/lib.*@libpth => '${STAGING_DIR_TARGET}/${libdir} ${STAGING_DIR_TARGET}/${base_libdir}',@g" \ - -e "s@privlibexp => '/usr@privlibexp => '${STAGING_DIR_TARGET}/usr@g" \ - -e "s@scriptdir => '/usr@scriptdir => '${STAGING_DIR_TARGET}/usr@g" \ - -e "s@sitearchexp => '/usr@sitearchexp => '${STAGING_DIR_TARGET}/usr@g" \ - -e "s@sitelibexp => '/usr@sitearchexp => '${STAGING_DIR_TARGET}/usr@g" \ - -e "s@vendorarchexp => '/usr@vendorarchexp => '${STAGING_DIR_TARGET}/usr@g" \ - -e "s@vendorlibexp => '/usr@vendorlibexp => '${STAGING_DIR_TARGET}/usr@g" \ - -i ${WORKDIR}/Config.pm - fi - -} - -do_configure_append() { - if [ "${HAS_PERL}" = "1" ]; then - sed -e "s@^NSC_INCLUDEDIR=.*@NSC_INCLUDEDIR=${STAGING_DIR_TARGET}\$\{includedir\}@g" \ - -e "s@^NSC_LIBDIR=-L.*@NSC_LIBDIR=-L${STAGING_DIR_TARGET}\$\{libdir\}@g" \ - -i ${B}/net-snmp-config - fi -} - -do_install_append() { - install -d ${D}${sysconfdir}/snmp - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/snmpd - install -m 644 ${WORKDIR}/snmpd.conf ${D}${sysconfdir}/snmp/ - install -m 644 ${WORKDIR}/snmptrapd.conf ${D}${sysconfdir}/snmp/ - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/snmpd.service ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/snmptrapd.service ${D}${systemd_unitdir}/system - sed -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \ - -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 - sed -e "s@^NSC_INCLUDEDIR=.*@NSC_INCLUDEDIR=\$\{includedir\}@g" \ - -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() { - install -d ${D}${PTEST_PATH} - for i in ${S}/dist ${S}/include ${B}/include ${S}/mibs ${S}/configure \ - ${B}/net-snmp-config ${S}/testing; do - if [ -e "$i" ]; then - cp -R --no-dereference --preserve=mode,links -v "$i" ${D}${PTEST_PATH} - fi - done - echo `autoconf -V|awk '/autoconf/{print $NF}'` > ${D}${PTEST_PATH}/dist/autoconf-version - - rmdlist="${D}${PTEST_PATH}/dist/net-snmp-solaris-build" - for i in $rmdlist; do - if [ -d "$i" ]; then - rm -rf "$i" - fi - done -} - -SYSROOT_PREPROCESS_FUNCS += "net_snmp_sysroot_preprocess" -SNMP_DBGDIR = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" - -net_snmp_sysroot_preprocess () { - if [ -e ${D}${bindir}/net-snmp-config ]; then - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 755 ${D}${bindir}/net-snmp-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - sed -e "s@-I/usr/include@-I${STAGING_INCDIR}@g" \ - -e "s@^prefix=.*@prefix=${STAGING_DIR_HOST}${prefix}@g" \ - -e "s@^exec_prefix=.*@exec_prefix=${STAGING_EXECPREFIXDIR}@g" \ - -e "s@^includedir=.*@includedir=${STAGING_INCDIR}@g" \ - -e "s@^libdir=.*@libdir=${STAGING_LIBDIR}@g" \ - -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=${S}@g" \ - -e "s@-fdebug-prefix-map=${SNMP_DBGDIR}@-fdebug-prefix-map=${WORKDIR}=${SNMP_DBGDIR}@g" \ - -e "s@-fdebug-prefix-map= -fdebug-prefix-map=@-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \ - -fdebug-prefix-map=${STAGING_DIR_HOST}=@g" \ - -e "s@--sysroot=@--sysroot=${STAGING_DIR_HOST}@g" \ - -e "s@--with-libtool-sysroot=@--with-libtool-sysroot=${STAGING_DIR_HOST}@g" \ - -e "s@--with-install-prefix=@--with-install-prefix=${D}@g" \ - -i ${SYSROOT_DESTDIR}${bindir_crossscripts}/net-snmp-config - fi -} - -PACKAGES += "${PN}-libs ${PN}-mibs ${PN}-server ${PN}-client \ - ${PN}-server-snmpd ${PN}-server-snmptrapd \ - ${PN}-lib-netsnmp ${PN}-lib-agent ${PN}-lib-helpers \ - ${PN}-lib-mibs ${PN}-lib-trapd" - -# perl module -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'perl', '${PN}-perl-modules', '', d)}" - -ALLOW_EMPTY_${PN} = "1" -ALLOW_EMPTY_${PN}-server = "1" -ALLOW_EMPTY_${PN}-libs = "1" - -FILES_${PN}-perl-modules = "${libdir}/perl?/*" -RDEPENDS_${PN}-perl-modules = "perl" - -FILES_${PN}-libs = "" -FILES_${PN}-mibs = "${datadir}/snmp/mibs" -FILES_${PN}-server-snmpd = "${sbindir}/snmpd \ - ${sysconfdir}/snmp/snmpd.conf \ - ${sysconfdir}/init.d \ - ${systemd_unitdir}/system/snmpd.service \ -" - -FILES_${PN}-server-snmptrapd = "${sbindir}/snmptrapd \ - ${sysconfdir}/snmp/snmptrapd.conf \ - ${systemd_unitdir}/system/snmptrapd.service \ -" - -FILES_${PN}-lib-netsnmp = "${libdir}/libnetsnmp${SOLIBS}" -FILES_${PN}-lib-agent = "${libdir}/libnetsnmpagent${SOLIBS}" -FILES_${PN}-lib-helpers = "${libdir}/libnetsnmphelpers${SOLIBS}" -FILES_${PN}-lib-mibs = "${libdir}/libnetsnmpmibs${SOLIBS}" -FILES_${PN}-lib-trapd = "${libdir}/libnetsnmptrapd${SOLIBS}" - -FILES_${PN} = "" -FILES_${PN}-client = "${bindir}/* ${datadir}/snmp/" -FILES_${PN}-dbg += "${libdir}/.debug/ ${sbindir}/.debug/ ${bindir}/.debug/" -FILES_${PN}-dev += "${bindir}/mib2c \ - ${bindir}/mib2c-update \ - ${bindir}/net-snmp-config \ - ${bindir}/net-snmp-create-v3-user \ -" - -CONFFILES_${PN}-server-snmpd = "${sysconfdir}/snmp/snmpd.conf" -CONFFILES_${PN}-server-snmptrapd = "${sysconfdir}/snmp/snmptrapd.conf" - -INITSCRIPT_PACKAGES = "${PN}-server-snmpd" -INITSCRIPT_NAME_${PN}-server-snmpd = "snmpd" -INITSCRIPT_PARAMS_${PN}-server-snmpd = "start 90 2 3 4 5 . stop 60 0 1 6 ." - -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemd', '--without-systemd', d)}" - -SYSTEMD_PACKAGES = "${PN}-server-snmpd \ - ${PN}-server-snmptrapd" - -SYSTEMD_SERVICE_${PN}-server-snmpd = "snmpd.service" -SYSTEMD_SERVICE_${PN}-server-snmptrapd = "snmptrapd.service" - -RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'perl', 'net-snmp-perl-modules', '', d)}" -RDEPENDS_${PN} += "net-snmp-client" -RDEPENDS_${PN}-server-snmpd += "net-snmp-mibs" -RDEPENDS_${PN}-server-snmptrapd += "net-snmp-server-snmpd ${PN}-lib-trapd" -RDEPENDS_${PN}-server += "net-snmp-server-snmpd net-snmp-server-snmptrapd" -RDEPENDS_${PN}-client += "net-snmp-mibs net-snmp-libs" -RDEPENDS_${PN}-libs += "libpci \ - ${PN}-lib-netsnmp \ - ${PN}-lib-agent \ - ${PN}-lib-helpers \ - ${PN}-lib-mibs \ -" -RDEPENDS_${PN}-ptest += "perl \ - perl-module-test \ - perl-module-file-basename \ - perl-module-getopt-long \ - perl-module-file-temp \ - perl-module-data-dumper \ -" -RDEPENDS_${PN}-dev = "net-snmp-client (= ${EXTENDPKGV}) net-snmp-server (= ${EXTENDPKGV})" -RRECOMMENDS_${PN}-dbg = "net-snmp-client (= ${EXTENDPKGV}) net-snmp-server (= ${EXTENDPKGV})" - -RPROVIDES_${PN}-server-snmpd += "${PN}-server-snmpd-systemd" -RREPLACES_${PN}-server-snmpd += "${PN}-server-snmpd-systemd" -RCONFLICTS_${PN}-server-snmpd += "${PN}-server-snmpd-systemd" - -RPROVIDES_${PN}-server-snmptrapd += "${PN}-server-snmptrapd-systemd" -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/net-snmp/net-snmp_5.9.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb new file mode 100644 index 000000000..5df1f9340 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb @@ -0,0 +1,273 @@ +SUMMARY = "Various tools relating to the Simple Network Management Protocol" +HOMEPAGE = "http://www.net-snmp.org/" +SECTION = "net" +LICENSE = "BSD & MIT" + +LIC_FILES_CHKSUM = "file://COPYING;md5=9d100a395a38584f2ec18a8275261687" + +DEPENDS = "openssl libnl pciutils" + +SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \ + file://init \ + file://snmpd.conf \ + file://snmptrapd.conf \ + file://snmpd.service \ + file://snmptrapd.service \ + file://net-snmp-add-knob-whether-nlist.h-are-checked.patch \ + file://fix-libtool-finish.patch \ + file://net-snmp-testing-add-the-output-format-for-ptest.patch \ + file://run-ptest \ + file://0001-config_os_headers-Error-Fix.patch \ + file://0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch \ + file://0001-get_pid_from_inode-Include-limit.h.patch \ + file://0002-configure-fix-a-cc-check-issue.patch \ + file://0004-configure-fix-incorrect-variable.patch \ + file://net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch \ + file://net-snmp-fix-for-disable-des.patch \ + file://reproducibility-have-printcap.patch \ + " +SRC_URI[sha256sum] = "04303a66f85d6d8b16d3cc53bde50428877c82ab524e17591dfceaeb94df6071" + +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 multilib_script multilib_header + +EXTRA_OEMAKE = "INSTALL_PREFIX=${D} OTHERLDFLAGS='${LDFLAGS}' HOST_CPPFLAGS='${BUILD_CPPFLAGS}'" + +PARALLEL_MAKE = "" +CCACHE = "" + +TARGET_CC_ARCH += "${LDFLAGS}" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} des" +PACKAGECONFIG[elfutils] = "--with-elf, --without-elf, elfutils" +PACKAGECONFIG[libnl] = "--with-nl, --without-nl, libnl" + +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," + +PACKAGECONFIG[perl] = "--enable-embedded-perl --with-perl-modules=yes, --disable-embedded-perl --with-perl-modules=no,\ + perl," +PACKAGECONFIG[des] = "--enable-des,--disable-des" + +EXTRA_OECONF = "--enable-shared \ + --disable-manuals \ + --with-defaults \ + --with-install-prefix=${D} \ + --with-persistent-directory=${localstatedir}/lib/net-snmp \ + ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)} \ + --with-openssl=${STAGING_EXECPREFIXDIR} \ +" + +# net-snmp needs to have mib-modules=smux enabled to enable quagga to support snmp +EXTRA_OECONF += "--with-mib-modules=smux" + +CACHED_CONFIGUREVARS = " \ + ac_cv_header_valgrind_valgrind_h=no \ + ac_cv_header_valgrind_memcheck_h=no \ + ac_cv_ETC_MNTTAB=/etc/mtab \ + lt_cv_shlibpath_overrides_runpath=yes \ + ac_cv_path_UNAMEPROG=${base_bindir}/uname \ + ac_cv_file__etc_printcap=no \ + NETSNMP_CONFIGURE_OPTIONS= \ +" +export PERLPROG="${bindir}/env perl" +PERLPROG_append = "${@bb.utils.contains('PACKAGECONFIG', 'perl', ' -I${WORKDIR}', '', d)}" + +HAS_PERL = "${@bb.utils.contains('PACKAGECONFIG', 'perl', '1', '0', d)}" + +PTEST_BUILD_HOST_FILES += "net-snmp-config gen-variables" + +do_configure_prepend() { + sed -i -e "s|I/usr/include|I${STAGING_INCDIR}|g" \ + "${S}"/configure \ + "${S}"/configure.d/config_os_libs2 + + if [ "${HAS_PERL}" = "1" ]; then + # this may need to be changed when package perl has any change. + cp -f ${STAGING_DIR_TARGET}/usr/lib*/perl?/*/Config.pm ${WORKDIR}/ + cp -f ${STAGING_DIR_TARGET}/usr/lib*/perl?/*/*/Config_heavy.pl ${WORKDIR}/ + sed -e "s@libpth => '/usr/lib.*@libpth => '${STAGING_DIR_TARGET}/${libdir} ${STAGING_DIR_TARGET}/${base_libdir}',@g" \ + -e "s@privlibexp => '/usr@privlibexp => '${STAGING_DIR_TARGET}/usr@g" \ + -e "s@scriptdir => '/usr@scriptdir => '${STAGING_DIR_TARGET}/usr@g" \ + -e "s@sitearchexp => '/usr@sitearchexp => '${STAGING_DIR_TARGET}/usr@g" \ + -e "s@sitelibexp => '/usr@sitearchexp => '${STAGING_DIR_TARGET}/usr@g" \ + -e "s@vendorarchexp => '/usr@vendorarchexp => '${STAGING_DIR_TARGET}/usr@g" \ + -e "s@vendorlibexp => '/usr@vendorlibexp => '${STAGING_DIR_TARGET}/usr@g" \ + -i ${WORKDIR}/Config.pm + fi + +} + +do_configure_append() { + if [ "${HAS_PERL}" = "1" ]; then + sed -e "s@^NSC_INCLUDEDIR=.*@NSC_INCLUDEDIR=${STAGING_DIR_TARGET}\$\{includedir\}@g" \ + -e "s@^NSC_LIBDIR=-L.*@NSC_LIBDIR=-L${STAGING_DIR_TARGET}\$\{libdir\}@g" \ + -i ${B}/net-snmp-config + fi +} + +do_install_append() { + install -d ${D}${sysconfdir}/snmp + install -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/snmpd + install -m 644 ${WORKDIR}/snmpd.conf ${D}${sysconfdir}/snmp/ + install -m 644 ${WORKDIR}/snmptrapd.conf ${D}${sysconfdir}/snmp/ + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/snmpd.service ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/snmptrapd.service ${D}${systemd_unitdir}/system + sed -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \ + -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 + sed -e "s@^NSC_INCLUDEDIR=.*@NSC_INCLUDEDIR=\$\{includedir\}@g" \ + -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() { + install -d ${D}${PTEST_PATH} + for i in ${S}/dist ${S}/include ${B}/include ${S}/mibs ${S}/configure \ + ${B}/net-snmp-config ${S}/testing; do + if [ -e "$i" ]; then + cp -R --no-dereference --preserve=mode,links -v "$i" ${D}${PTEST_PATH} + fi + done + echo `autoconf -V|awk '/autoconf/{print $NF}'` > ${D}${PTEST_PATH}/dist/autoconf-version + + rmdlist="${D}${PTEST_PATH}/dist/net-snmp-solaris-build" + for i in $rmdlist; do + if [ -d "$i" ]; then + rm -rf "$i" + fi + done +} + +SYSROOT_PREPROCESS_FUNCS += "net_snmp_sysroot_preprocess" +SNMP_DBGDIR = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" + +net_snmp_sysroot_preprocess () { + if [ -e ${D}${bindir}/net-snmp-config ]; then + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/net-snmp-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + sed -e "s@-I/usr/include@-I${STAGING_INCDIR}@g" \ + -e "s@^prefix=.*@prefix=${STAGING_DIR_HOST}${prefix}@g" \ + -e "s@^exec_prefix=.*@exec_prefix=${STAGING_EXECPREFIXDIR}@g" \ + -e "s@^includedir=.*@includedir=${STAGING_INCDIR}@g" \ + -e "s@^libdir=.*@libdir=${STAGING_LIBDIR}@g" \ + -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=${S}@g" \ + -e "s@-fdebug-prefix-map=${SNMP_DBGDIR}@-fdebug-prefix-map=${WORKDIR}=${SNMP_DBGDIR}@g" \ + -e "s@-fdebug-prefix-map= -fdebug-prefix-map=@-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \ + -fdebug-prefix-map=${STAGING_DIR_HOST}=@g" \ + -e "s@--sysroot=@--sysroot=${STAGING_DIR_HOST}@g" \ + -e "s@--with-libtool-sysroot=@--with-libtool-sysroot=${STAGING_DIR_HOST}@g" \ + -e "s@--with-install-prefix=@--with-install-prefix=${D}@g" \ + -i ${SYSROOT_DESTDIR}${bindir_crossscripts}/net-snmp-config + fi +} + +PACKAGES += "${PN}-libs ${PN}-mibs ${PN}-server ${PN}-client \ + ${PN}-server-snmpd ${PN}-server-snmptrapd \ + ${PN}-lib-netsnmp ${PN}-lib-agent ${PN}-lib-helpers \ + ${PN}-lib-mibs ${PN}-lib-trapd" + +# perl module +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'perl', '${PN}-perl-modules', '', d)}" + +ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY_${PN}-server = "1" +ALLOW_EMPTY_${PN}-libs = "1" + +FILES_${PN}-perl-modules = "${libdir}/perl?/*" +RDEPENDS_${PN}-perl-modules = "perl" + +FILES_${PN}-libs = "" +FILES_${PN}-mibs = "${datadir}/snmp/mibs" +FILES_${PN}-server-snmpd = "${sbindir}/snmpd \ + ${sysconfdir}/snmp/snmpd.conf \ + ${sysconfdir}/init.d \ + ${systemd_unitdir}/system/snmpd.service \ +" + +FILES_${PN}-server-snmptrapd = "${sbindir}/snmptrapd \ + ${sysconfdir}/snmp/snmptrapd.conf \ + ${systemd_unitdir}/system/snmptrapd.service \ +" + +FILES_${PN}-lib-netsnmp = "${libdir}/libnetsnmp${SOLIBS}" +FILES_${PN}-lib-agent = "${libdir}/libnetsnmpagent${SOLIBS}" +FILES_${PN}-lib-helpers = "${libdir}/libnetsnmphelpers${SOLIBS}" +FILES_${PN}-lib-mibs = "${libdir}/libnetsnmpmibs${SOLIBS}" +FILES_${PN}-lib-trapd = "${libdir}/libnetsnmptrapd${SOLIBS}" + +FILES_${PN} = "" +FILES_${PN}-client = "${bindir}/* ${datadir}/snmp/" +FILES_${PN}-dbg += "${libdir}/.debug/ ${sbindir}/.debug/ ${bindir}/.debug/" +FILES_${PN}-dev += "${bindir}/mib2c \ + ${bindir}/mib2c-update \ + ${bindir}/net-snmp-config \ + ${bindir}/net-snmp-create-v3-user \ +" + +CONFFILES_${PN}-server-snmpd = "${sysconfdir}/snmp/snmpd.conf" +CONFFILES_${PN}-server-snmptrapd = "${sysconfdir}/snmp/snmptrapd.conf" + +INITSCRIPT_PACKAGES = "${PN}-server-snmpd" +INITSCRIPT_NAME_${PN}-server-snmpd = "snmpd" +INITSCRIPT_PARAMS_${PN}-server-snmpd = "start 90 2 3 4 5 . stop 60 0 1 6 ." + +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemd', '--without-systemd', d)}" + +SYSTEMD_PACKAGES = "${PN}-server-snmpd \ + ${PN}-server-snmptrapd" + +SYSTEMD_SERVICE_${PN}-server-snmpd = "snmpd.service" +SYSTEMD_SERVICE_${PN}-server-snmptrapd = "snmptrapd.service" + +RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'perl', 'net-snmp-perl-modules', '', d)}" +RDEPENDS_${PN} += "net-snmp-client" +RDEPENDS_${PN}-server-snmpd += "net-snmp-mibs" +RDEPENDS_${PN}-server-snmptrapd += "net-snmp-server-snmpd ${PN}-lib-trapd" +RDEPENDS_${PN}-server += "net-snmp-server-snmpd net-snmp-server-snmptrapd" +RDEPENDS_${PN}-client += "net-snmp-mibs net-snmp-libs" +RDEPENDS_${PN}-libs += "libpci \ + ${PN}-lib-netsnmp \ + ${PN}-lib-agent \ + ${PN}-lib-helpers \ + ${PN}-lib-mibs \ +" +RDEPENDS_${PN}-ptest += "perl \ + perl-module-test \ + perl-module-file-basename \ + perl-module-getopt-long \ + perl-module-file-temp \ + perl-module-data-dumper \ +" +RDEPENDS_${PN}-dev = "net-snmp-client (= ${EXTENDPKGV}) net-snmp-server (= ${EXTENDPKGV})" +RRECOMMENDS_${PN}-dbg = "net-snmp-client (= ${EXTENDPKGV}) net-snmp-server (= ${EXTENDPKGV})" + +RPROVIDES_${PN}-server-snmpd += "${PN}-server-snmpd-systemd" +RREPLACES_${PN}-server-snmpd += "${PN}-server-snmpd-systemd" +RCONFLICTS_${PN}-server-snmpd += "${PN}-server-snmpd-systemd" + +RPROVIDES_${PN}-server-snmptrapd += "${PN}-server-snmptrapd-systemd" +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/quagga/quagga.inc b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc index 70c32b7a4..11b7d576a 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 multilib_header +inherit autotools update-rc.d useradd systemd pkgconfig multilib_header update-alternatives CFLAGS += "-fcommon" @@ -237,3 +237,7 @@ pkg_prerm_${PN}-ripngd () { pkg_prerm_${PN}-isisd () { ${sysconfdir}/init.d/quagga stop isisd } + +ALTERNATIVE_${PN} = "pimd" +ALTERNATIVE_LINK_NAME[pimd] = "${sbindir}/pimd" + 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 deleted file mode 100644 index 8d82ee454..000000000 --- a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.10.bb +++ /dev/null @@ -1,39 +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.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.11.bb b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.11.bb new file mode 100644 index 000000000..09b793119 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.11.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 = "ded4e81796a18cde73329e838357f084aa05720f" +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/ettercap/ettercap_0.8.3.1.bb b/meta-openembedded/meta-networking/recipes-support/ettercap/ettercap_0.8.3.1.bb new file mode 100644 index 000000000..c641c265e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/ettercap/ettercap_0.8.3.1.bb @@ -0,0 +1,42 @@ +SUMMARY = "A suite for man in the middle attacks" +HOMEPAGE = "https://github.com/Ettercap/ettercap" +LICENSE = "GPL-2.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +inherit cmake + +DEPENDS += "ethtool \ + geoip \ + librepo \ + libnet \ + libpcap \ + ncurses \ + openssl \ + zlib \ + bison-native \ + flex-native \ + " + +RDEPENDS_${PN} += "bash ethtool libgcc" + +SRC_URI = "gitsm://github.com/Ettercap/ettercap" + +SRCREV = "7281fbddb7da7478beb1d21e3cb105fff3778b31" + +S = "${WORKDIR}/git" + +EXTRA_OECMAKE = " \ + -DCMAKE_SKIP_RPATH=TRUE \ + -DBUNDLED_LIBS=ON \ + -DENABLE_IPV6=ON \ + -DENABLE_GTK=OFF \ +" + +# Replaces default encoding set (ISO-8859-1) with UTF-8 in ettercap +# configuration file installed by the package. +# It ensures that all characters are properly decoded and avoids +# any fatal errors while running in text mode (-T). +do_install_append() { + sed -i 's@utf8_encoding.*@utf8_encoding = "UTF-8"@g' \ + ${D}/etc/ettercap/etter.conf +} diff --git a/meta-openembedded/meta-networking/recipes-support/fping/fping_4.4.bb b/meta-openembedded/meta-networking/recipes-support/fping/fping_4.4.bb deleted file mode 100644 index 125fdfa70..000000000 --- a/meta-openembedded/meta-networking/recipes-support/fping/fping_4.4.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "sends ICMP ECHO_REQUEST packets to network hosts" -DESCRIPTION = "fping is a ping like program which uses the Internet Control \ -Message Protocol (ICMP) echo request to determine if a target host is \ -responding. fping differs from ping in that you can specify any number of \ -targets on the command line, or specify a file containing the lists of \ -targets to ping. Instead of sending to one target until it times out or \ -replies, fping will send out a ping packet and move on to the next target \ -in a round-robin fashion." -HOMEPAGE = "http://www.fping.org/" -SECTION = "net" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=c6170fbadddfcd74f011515291d96901" - -SRC_URI = "http://www.fping.org/dist/fping-${PV}.tar.gz" -SRC_URI[sha256sum] = "9f854b65a52dc7b1749d6743e35d0a6268179d1a724267339fc9a066b2b72d11" - -S = "${WORKDIR}/fping-${PV}" - -inherit autotools - -EXTRA_OECONF = "--enable-ipv4" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/meta-openembedded/meta-networking/recipes-support/fping/fping_5.0.bb b/meta-openembedded/meta-networking/recipes-support/fping/fping_5.0.bb new file mode 100644 index 000000000..54606e8b6 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/fping/fping_5.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "sends ICMP ECHO_REQUEST packets to network hosts" +DESCRIPTION = "fping is a ping like program which uses the Internet Control \ +Message Protocol (ICMP) echo request to determine if a target host is \ +responding. fping differs from ping in that you can specify any number of \ +targets on the command line, or specify a file containing the lists of \ +targets to ping. Instead of sending to one target until it times out or \ +replies, fping will send out a ping packet and move on to the next target \ +in a round-robin fashion." +HOMEPAGE = "http://www.fping.org/" +SECTION = "net" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=c6170fbadddfcd74f011515291d96901" + +SRC_URI = "http://www.fping.org/dist/fping-${PV}.tar.gz" +SRC_URI[sha256sum] = "ed38c0b9b64686a05d1b3bc1d66066114a492e04e44eef1821d43b1263cd57b8" + +S = "${WORKDIR}/fping-${PV}" + +inherit autotools + +EXTRA_OECONF = "--enable-ipv4" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb b/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb index 2faa7cb1c..df9e85d7d 100644 --- a/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb +++ b/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb @@ -12,9 +12,13 @@ SRC_URI[sha256sum] = "c77a9812751f114490a28a6839b16aac8b020c8d9fd6aa22bf3880c054 EXTRA_OECONF_append_libc-musl = " --embedded-libc" -inherit autotools-brokensep +inherit autotools-brokensep update-alternatives do_configure() { oe_runconf } +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN} = "pimd" +ALTERNATIVE_LINK_NAME[pimd] = "${sbindir}/pimd" diff --git a/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb b/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb index 07e3ffed4..3739c496a 100644 --- a/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb +++ b/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb @@ -12,7 +12,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/s/${BPN}/${BPN}_${PV}.orig.tar.bz2 \ SRC_URI[md5sum] = "65b4e0df4934a6cd08c506cabcbe584f" SRC_URI[sha256sum] = "22c37dc90c871e8e052b2cab0ad219d010fa938608cd66b21c8f3c759046fa36" -inherit autotools +inherit autotools update-alternatives PACKAGECONFIG ?= "ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" @@ -33,3 +33,16 @@ do_install_append () { ln -s ssmtp ${D}${sbindir}/newaliases ln -s ssmtp ${D}${sbindir}/mailq } + +ALTERNATIVE_PRIORITY_${PN} = "100" + +ALTERNATIVE_${PN} = "mailq newalias sendmail" +ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" +ALTERNATIVE_LINK_NAME[newalias] = "${sbindir}/newalias" +ALTERNATIVE_LINK_NAME[mailq] = "${sbindir}/mailq" + +ALTERNATIVE_PRIORITY_${PN}-doc = "100" +ALTERNATIVE_${PN}-doc += "mailq.1 newaliases.1 sendmail.1" +ALTERNATIVE_LINK_NAME[mailq.1] = "${mandir}/man1/mailq.1" +ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1" +ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1" diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.5.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.5.bb deleted file mode 100644 index a6c09d47b..000000000 --- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.5.bb +++ /dev/null @@ -1,80 +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[sha256sum] = "bd89052a5766cce08b1090df49628567e48cdd24bbaa47667c851bac6aaac940" - -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" diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.6.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.6.bb new file mode 100644 index 000000000..916c5b7a4 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.6.bb @@ -0,0 +1,80 @@ +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[sha256sum] = "ebb1eebe39bcecee02195dc328dd25f6862fc9e9dea4c2e29eae50537d5eb4f2" + +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" diff --git a/meta-openembedded/meta-oe/README b/meta-openembedded/meta-oe/README index 347816b0d..6a0d7c0a1 100644 --- a/meta-openembedded/meta-oe/README +++ b/meta-openembedded/meta-oe/README @@ -17,7 +17,7 @@ pacman -S lib32-gcc-libs lib32-glibc Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe]' in the subject' When sending single patches, please use something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][PATCH' +'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix="meta-oe][PATCH"' You are encouraged to fork the mirror on GitHub https://github.com/openembedded/openembedded-core to share your patches, this is preferred for patch sets consisting of more than one patch. diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf index 5bf1f6cfd..5b79b59b7 100644 --- a/meta-openembedded/meta-oe/conf/layer.conf +++ b/meta-openembedded/meta-oe/conf/layer.conf @@ -27,6 +27,7 @@ BBFILE_PRIORITY_openembedded-layer = "6" # to ensure yocto compatibility check pass BBFILES_DYNAMIC += " \ meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \ +networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bb \ perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bb \ " @@ -91,6 +92,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ source-han-sans-jp-fonts->fontconfig \ source-han-sans-kr-fonts->fontconfig \ source-han-sans-tw-fonts->fontconfig \ + source-code-pro-fonts->fontconfig \ " DEFAULT_TEST_SUITES_pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}" diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-compilation-with-fno-common.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-compilation-with-fno-common.patch new file mode 100644 index 000000000..f5c2cf217 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-compilation-with-fno-common.patch @@ -0,0 +1,448 @@ +From 3690dc5f567906c45f057509305fbaa021b33adb Mon Sep 17 00:00:00 2001 +From: Yichao Yu +Date: Tue, 15 Sep 2020 12:35:46 -0700 +Subject: [PATCH] Fix compilation with -fno-common. + +Making all other archs consistent with IA64 which should not have this problem. +Also move the FIXME to the correct place. + +Also add some minimum comments about this... + +Upstream-Status: Backport [https://github.com/libunwind/libunwind/pull/166/commits/29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e] +Signed-off-by: Khem Raj +--- + src/third_party/unwind/dist/src/aarch64/Ginit.c | 15 +++++++-------- + src/third_party/unwind/dist/src/arm/Ginit.c | 15 +++++++-------- + .../src/coredump/_UPT_get_dyn_info_list_addr.c | 5 +++++ + src/third_party/unwind/dist/src/hppa/Ginit.c | 15 +++++++-------- + src/third_party/unwind/dist/src/ia64/Ginit.c | 1 + + .../unwind/dist/src/mi/Gfind_dynamic_proc_info.c | 1 + + src/third_party/unwind/dist/src/mips/Ginit.c | 15 +++++++-------- + src/third_party/unwind/dist/src/ppc32/Ginit.c | 11 +++++++---- + src/third_party/unwind/dist/src/ppc64/Ginit.c | 11 +++++++---- + .../dist/src/ptrace/_UPT_get_dyn_info_list_addr.c | 5 +++++ + src/third_party/unwind/dist/src/s390x/Ginit.c | 15 +++++++-------- + src/third_party/unwind/dist/src/sh/Ginit.c | 15 +++++++-------- + src/third_party/unwind/dist/src/tilegx/Ginit.c | 15 +++++++-------- + src/third_party/unwind/dist/src/x86/Ginit.c | 15 +++++++-------- + src/third_party/unwind/dist/src/x86_64/Ginit.c | 15 +++++++-------- + 15 files changed, 89 insertions(+), 80 deletions(-) + +diff --git a/src/third_party/unwind/dist/src/aarch64/Ginit.c b/src/third_party/unwind/dist/src/aarch64/Ginit.c +index dec235c829..35389762f2 100644 +--- a/src/third_party/unwind/dist/src/aarch64/Ginit.c ++++ b/src/third_party/unwind/dist/src/aarch64/Ginit.c +@@ -61,13 +61,6 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -78,7 +71,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/third_party/unwind/dist/src/arm/Ginit.c b/src/third_party/unwind/dist/src/arm/Ginit.c +index 2720d063a2..0bac0d72da 100644 +--- a/src/third_party/unwind/dist/src/arm/Ginit.c ++++ b/src/third_party/unwind/dist/src/arm/Ginit.c +@@ -57,18 +57,17 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/third_party/unwind/dist/src/coredump/_UPT_get_dyn_info_list_addr.c b/src/third_party/unwind/dist/src/coredump/_UPT_get_dyn_info_list_addr.c +index 0d11905566..739ed0569b 100644 +--- a/src/third_party/unwind/dist/src/coredump/_UPT_get_dyn_info_list_addr.c ++++ b/src/third_party/unwind/dist/src/coredump/_UPT_get_dyn_info_list_addr.c +@@ -74,6 +74,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, + + #else + ++/* XXX fix me: there is currently no way to locate the dyn-info list ++ by a remote unwinder. On ia64, this is done via a special ++ unwind-table entry. Perhaps something similar can be done with ++ DWARF2 unwind info. */ ++ + static inline int + get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, + int *countp) +diff --git a/src/third_party/unwind/dist/src/hppa/Ginit.c b/src/third_party/unwind/dist/src/hppa/Ginit.c +index 461e4b93da..265455a68c 100644 +--- a/src/third_party/unwind/dist/src/hppa/Ginit.c ++++ b/src/third_party/unwind/dist/src/hppa/Ginit.c +@@ -64,13 +64,6 @@ _Uhppa_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -81,7 +74,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/third_party/unwind/dist/src/ia64/Ginit.c b/src/third_party/unwind/dist/src/ia64/Ginit.c +index b09a2ad57c..8601bb3ca8 100644 +--- a/src/third_party/unwind/dist/src/ia64/Ginit.c ++++ b/src/third_party/unwind/dist/src/ia64/Ginit.c +@@ -68,6 +68,7 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + if (!_U_dyn_info_list_addr) + return -UNW_ENOINFO; + #endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. + *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } +diff --git a/src/third_party/unwind/dist/src/mi/Gfind_dynamic_proc_info.c b/src/third_party/unwind/dist/src/mi/Gfind_dynamic_proc_info.c +index 98d3501286..2e7c62e5e8 100644 +--- a/src/third_party/unwind/dist/src/mi/Gfind_dynamic_proc_info.c ++++ b/src/third_party/unwind/dist/src/mi/Gfind_dynamic_proc_info.c +@@ -49,6 +49,7 @@ local_find_proc_info (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi, + return -UNW_ENOINFO; + #endif + ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. + list = (unw_dyn_info_list_t *) (uintptr_t) _U_dyn_info_list_addr (); + for (di = list->first; di; di = di->next) + if (ip >= di->start_ip && ip < di->end_ip) +diff --git a/src/third_party/unwind/dist/src/mips/Ginit.c b/src/third_party/unwind/dist/src/mips/Ginit.c +index 3df170c754..bf7a8f5a8f 100644 +--- a/src/third_party/unwind/dist/src/mips/Ginit.c ++++ b/src/third_party/unwind/dist/src/mips/Ginit.c +@@ -69,13 +69,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -86,7 +79,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/third_party/unwind/dist/src/ppc32/Ginit.c b/src/third_party/unwind/dist/src/ppc32/Ginit.c +index ba302448a3..7b45455807 100644 +--- a/src/third_party/unwind/dist/src/ppc32/Ginit.c ++++ b/src/third_party/unwind/dist/src/ppc32/Ginit.c +@@ -91,9 +91,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -104,7 +101,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/third_party/unwind/dist/src/ppc64/Ginit.c b/src/third_party/unwind/dist/src/ppc64/Ginit.c +index 4c88cd6e77..7bfb395a79 100644 +--- a/src/third_party/unwind/dist/src/ppc64/Ginit.c ++++ b/src/third_party/unwind/dist/src/ppc64/Ginit.c +@@ -95,9 +95,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -108,7 +105,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/third_party/unwind/dist/src/ptrace/_UPT_get_dyn_info_list_addr.c b/src/third_party/unwind/dist/src/ptrace/_UPT_get_dyn_info_list_addr.c +index cc5ed04418..16671d453e 100644 +--- a/src/third_party/unwind/dist/src/ptrace/_UPT_get_dyn_info_list_addr.c ++++ b/src/third_party/unwind/dist/src/ptrace/_UPT_get_dyn_info_list_addr.c +@@ -71,6 +71,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, + + #else + ++/* XXX fix me: there is currently no way to locate the dyn-info list ++ by a remote unwinder. On ia64, this is done via a special ++ unwind-table entry. Perhaps something similar can be done with ++ DWARF2 unwind info. */ ++ + static inline int + get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, + int *countp) +diff --git a/src/third_party/unwind/dist/src/s390x/Ginit.c b/src/third_party/unwind/dist/src/s390x/Ginit.c +index f0886ac933..db01743c06 100644 +--- a/src/third_party/unwind/dist/src/s390x/Ginit.c ++++ b/src/third_party/unwind/dist/src/s390x/Ginit.c +@@ -50,8 +50,6 @@ static struct unw_addr_space local_addr_space; + + unw_addr_space_t unw_local_addr_space = &local_addr_space; + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- + static inline void * + uc_addr (ucontext_t *uc, int reg) + { +@@ -75,11 +73,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -90,7 +83,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/third_party/unwind/dist/src/sh/Ginit.c b/src/third_party/unwind/dist/src/sh/Ginit.c +index 52988a721e..9fe96d2bd4 100644 +--- a/src/third_party/unwind/dist/src/sh/Ginit.c ++++ b/src/third_party/unwind/dist/src/sh/Ginit.c +@@ -58,13 +58,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -75,7 +68,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/third_party/unwind/dist/src/tilegx/Ginit.c b/src/third_party/unwind/dist/src/tilegx/Ginit.c +index 7564a558be..925e641324 100644 +--- a/src/third_party/unwind/dist/src/tilegx/Ginit.c ++++ b/src/third_party/unwind/dist/src/tilegx/Ginit.c +@@ -64,13 +64,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -81,7 +74,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/third_party/unwind/dist/src/x86/Ginit.c b/src/third_party/unwind/dist/src/x86/Ginit.c +index f6b8dc27d4..3cec74a216 100644 +--- a/src/third_party/unwind/dist/src/x86/Ginit.c ++++ b/src/third_party/unwind/dist/src/x86/Ginit.c +@@ -54,13 +54,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -71,7 +64,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/third_party/unwind/dist/src/x86_64/Ginit.c b/src/third_party/unwind/dist/src/x86_64/Ginit.c +index 6161da6401..5c4e4269a6 100644 +--- a/src/third_party/unwind/dist/src/x86_64/Ginit.c ++++ b/src/third_party/unwind/dist/src/x86_64/Ginit.c +@@ -49,13 +49,6 @@ static struct unw_addr_space local_addr_space; + + unw_addr_space_t unw_local_addr_space = &local_addr_space; + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -66,7 +59,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +-- +2.28.0 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch index 190884624..b8a325295 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch @@ -1,4 +1,4 @@ -From 1b2e24e14ee72e54e466be2512c78272f62d60b4 Mon Sep 17 00:00:00 2001 +From 8295bb6a60896fed54d6450bca091aea4eea4fb2 Mon Sep 17 00:00:00 2001 From: Vincent Prince Date: Mon, 16 Sep 2019 13:21:44 +0200 Subject: [PATCH 01/10] Tell scons to use build settings from environment @@ -7,14 +7,14 @@ Subject: [PATCH 01/10] Tell scons to use build settings from environment Signed-off-by: Sven Ebenfeld Signed-off-by: Vincent Prince --- - SConstruct | 8 ++++++-- - 1 files changed, 8 insertions(+), 2 deletions(-) + SConstruct | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct -index 7ebbcbc..e63cf15 100644 +index 89c044ab78..2044c0ddb8 100644 --- a/SConstruct +++ b/SConstruct -@@ -608,6 +608,7 @@ def variable_arch_converter(val): +@@ -593,6 +593,7 @@ def variable_arch_converter(val): 'amd64': 'x86_64', 'emt64': 'x86_64', 'x86': 'i386', @@ -22,7 +22,7 @@ index 7ebbcbc..e63cf15 100644 } val = val.lower() -@@ -695,7 +696,8 @@ env_vars.Add( +@@ -723,7 +724,8 @@ env_vars.Add( ) env_vars.Add('CC', @@ -32,7 +32,7 @@ index 7ebbcbc..e63cf15 100644 env_vars.Add('CCFLAGS', help='Sets flags for the C and C++ compiler', -@@ -715,7 +717,8 @@ env_vars.Add('CPPPATH', +@@ -743,7 +745,8 @@ env_vars.Add('CPPPATH', converter=variable_shlex_converter) env_vars.Add('CXX', @@ -42,15 +42,14 @@ index 7ebbcbc..e63cf15 100644 env_vars.Add('CXXFLAGS', help='Sets flags for the C++ compiler', -@@ -1018,6 +1021,7 @@ envDict = dict(BUILD_ROOT=buildDir, - ) +@@ -1127,6 +1130,7 @@ if get_option('build-tools') == 'next' or get_option('ninja') == 'next': + SCons.Tool.DefaultToolpath.insert(0, os.path.abspath('site_scons/site_tools/next')) env = Environment(variables=env_vars, **envDict) +env.PrependENVPath('PATH', os.getenv('PATH')) - del envDict - - for var in ['CC', 'CXX']: + # Only print the spinner if stdout is a tty + if sys.stdout.isatty(): -- -2.7.4 +2.24.0 diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch index d98fa56cb..8d82be1b5 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch @@ -1,4 +1,4 @@ -From d701ceeb15662038435b80ba556a80c17f76d2dc Mon Sep 17 00:00:00 2001 +From 6332823f9fdcb571305b716330e67d0b38810868 Mon Sep 17 00:00:00 2001 From: Vincent Prince Date: Mon, 16 Sep 2019 13:30:13 +0200 Subject: [PATCH 03/10] Use __GLIBC__ to control use of gnu_get_libc_version @@ -10,7 +10,7 @@ Signed-off-by: Vincent Prince 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp -index cccb91c..45c4b7d 100644 +index a968c54727..0d8b8874e2 100644 --- a/src/mongo/util/processinfo_linux.cpp +++ b/src/mongo/util/processinfo_linux.cpp @@ -44,10 +44,10 @@ @@ -27,7 +27,7 @@ index cccb91c..45c4b7d 100644 #endif #include -@@ -546,7 +546,7 @@ void ProcessInfo::SystemInfo::collectSystemInfo() { +@@ -617,7 +617,7 @@ void ProcessInfo::SystemInfo::collectSystemInfo() { std::stringstream ss; ss << "uClibc-" << __UCLIBC_MAJOR__ << "." << __UCLIBC_MINOR__ << "." << __UCLIBC_SUBLEVEL__; bExtra.append("libcVersion", ss.str()); @@ -37,5 +37,5 @@ index cccb91c..45c4b7d 100644 #endif if (!verSig.empty()) -- -2.7.4 +2.24.0 diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch index b9c670407..958e09c3d 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch @@ -1,4 +1,4 @@ -From 20fcbf2a05ee6542aba942f6006d149db70fb9ce Mon Sep 17 00:00:00 2001 +From 4e7f15346682482bc2071c7209dec97507d3bc4c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 2 Sep 2017 10:03:37 -0700 Subject: [PATCH 02/10] Use long long instead of int64_t @@ -8,12 +8,13 @@ error: call to member function 'appendNumber' is ambiguous since this function expects long long as parameter and not int64_t Signed-off-by: Khem Raj +Signed-off-by: Vincent Prince --- src/mongo/util/procparser.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mongo/util/procparser.cpp b/src/mongo/util/procparser.cpp -index c574a3f..5ea66b7 100644 +index 24b9d1e2c9..0f274cfff6 100644 --- a/src/mongo/util/procparser.cpp +++ b/src/mongo/util/procparser.cpp @@ -261,7 +261,7 @@ Status parseProcStat(const std::vector& keys, @@ -23,7 +24,7 @@ index c574a3f..5ea66b7 100644 - uint64_t value; + long long value; - if (!parseNumberFromString(stringValue, &value).isOK()) { + if (!NumberParser{}(stringValue, &value).isOK()) { value = 0; @@ -273,7 +273,7 @@ Status parseProcStat(const std::vector& keys, } else { @@ -32,7 +33,7 @@ index c574a3f..5ea66b7 100644 - uint64_t value; + long long value; - if (!parseNumberFromString(stringValue, &value).isOK()) { + if (!NumberParser{}(stringValue, &value).isOK()) { value = 0; @@ -366,7 +366,7 @@ Status parseProcMemInfo(const std::vector& keys, @@ -41,7 +42,7 @@ index c574a3f..5ea66b7 100644 - uint64_t value; + long long value; - if (!parseNumberFromString(stringValue, &value).isOK()) { + if (!NumberParser{}(stringValue, &value).isOK()) { value = 0; @@ -522,7 +522,7 @@ Status parseProcDiskStats(const std::vector& disks, StringData data, @@ -59,8 +60,8 @@ index c574a3f..5ea66b7 100644 - uint64_t value; + long long value; - if (!parseNumberFromString(stringValue, &value).isOK()) { + if (!NumberParser{}(stringValue, &value).isOK()) { value = 0; -- -2.7.4 +2.24.0 diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch new file mode 100644 index 000000000..df4cee2b4 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch @@ -0,0 +1,714 @@ +From 44272ce47e768e090263df5cb9cb7ce17e544ad3 Mon Sep 17 00:00:00 2001 +From: Vincent Prince +Date: Tue, 15 Sep 2020 11:40:15 +0200 +Subject: [PATCH] kms-message: bump libmongocrypto to v1.0.4 + +This fixes compilation with alpinelinux +see https://github.com/mongodb/libmongocrypt/pull/89 + +Upstream-Status: Pending + +Signed-off-by: Vincent Prince +--- + .../kms-message/THIRD_PARTY_NOTICES | 2 +- + src/third_party/kms-message/src/hexlify.c | 21 +---- + src/third_party/kms-message/src/hexlify.h | 2 - + .../kms-message/src/kms_crypto_apple.c | 5 + + .../kms-message/src/kms_crypto_libcrypto.c | 94 +++++++++++++++++++ + .../kms-message/src/kms_crypto_none.c | 4 + + .../kms-message/src/kms_crypto_windows.c | 4 + + .../kms-message/src/kms_decrypt_request.c | 2 +- + .../kms-message/src/kms_encrypt_request.c | 2 +- + src/third_party/kms-message/src/kms_kv_list.c | 11 ++- + .../kms-message/src/kms_message/kms_message.h | 2 + + .../src/kms_message/kms_message_defines.h | 10 ++ + src/third_party/kms-message/src/kms_port.c | 33 +++++++ + src/third_party/kms-message/src/kms_port.h | 27 +++--- + src/third_party/kms-message/src/kms_request.c | 41 +++++--- + .../kms-message/src/kms_request_str.c | 13 ++- + .../kms-message/src/kms_request_str.h | 5 - + .../kms-message/src/kms_response_parser.c | 26 ++++- + .../scripts/kms_message_get_sources.sh | 2 +- + 19 files changed, 244 insertions(+), 62 deletions(-) + create mode 100644 src/third_party/kms-message/src/kms_crypto_libcrypto.c + create mode 100644 src/third_party/kms-message/src/kms_port.c + +diff --git a/src/third_party/kms-message/THIRD_PARTY_NOTICES b/src/third_party/kms-message/THIRD_PARTY_NOTICES +index 3fc095170c..4110c1b91e 100644 +--- a/src/third_party/kms-message/THIRD_PARTY_NOTICES ++++ b/src/third_party/kms-message/THIRD_PARTY_NOTICES +@@ -1,4 +1,4 @@ +-License notice for common-b64.c ++License notice for kms_b64.c + ------------------------------------------------------------------------------- + + ISC License +diff --git a/src/third_party/kms-message/src/hexlify.c b/src/third_party/kms-message/src/hexlify.c +index be9ee030b9..941fc93d1b 100644 +--- a/src/third_party/kms-message/src/hexlify.c ++++ b/src/third_party/kms-message/src/hexlify.c +@@ -24,6 +24,8 @@ char * + hexlify (const uint8_t *buf, size_t len) + { + char *hex_chars = malloc (len * 2 + 1); ++ KMS_ASSERT (hex_chars); ++ + char *p = hex_chars; + size_t i; + +@@ -35,22 +37,3 @@ hexlify (const uint8_t *buf, size_t len) + + return hex_chars; + } +- +-uint8_t * +-unhexlify (const char *hex_chars, size_t *len) +-{ +- uint8_t *buf; +- uint8_t *pos; +- +- *len = strlen (hex_chars) / 2; +- buf = malloc (*len); +- pos = buf; +- +- while (*hex_chars) { +- KMS_ASSERT (1 == sscanf (hex_chars, "%2hhx", pos)); +- pos++; +- hex_chars += 2; +- } +- +- return buf; +-} +diff --git a/src/third_party/kms-message/src/hexlify.h b/src/third_party/kms-message/src/hexlify.h +index e0096eb6ca..a6a504ebe8 100644 +--- a/src/third_party/kms-message/src/hexlify.h ++++ b/src/third_party/kms-message/src/hexlify.h +@@ -19,5 +19,3 @@ + + char * + hexlify (const uint8_t *buf, size_t len); +-uint8_t * +-unhexlify (const char *hex_chars, size_t *len); +diff --git a/src/third_party/kms-message/src/kms_crypto_apple.c b/src/third_party/kms-message/src/kms_crypto_apple.c +index 61da0a6288..a26e0d65e8 100644 +--- a/src/third_party/kms-message/src/kms_crypto_apple.c ++++ b/src/third_party/kms-message/src/kms_crypto_apple.c +@@ -16,9 +16,12 @@ + + #include "kms_crypto.h" + ++#ifdef KMS_MESSAGE_ENABLE_CRYPTO_COMMON_CRYPTO ++ + #include + #include + ++ + int + kms_crypto_init () + { +@@ -54,3 +57,5 @@ kms_sha256_hmac (void *unused_ctx, + CCHmac (kCCHmacAlgSHA256, key_input, key_len, input, len, hash_out); + return true; + } ++ ++#endif /* KMS_MESSAGE_ENABLE_CRYPTO_COMMON_CRYPTO */ +diff --git a/src/third_party/kms-message/src/kms_crypto_libcrypto.c b/src/third_party/kms-message/src/kms_crypto_libcrypto.c +new file mode 100644 +index 0000000000..6f25657fdd +--- /dev/null ++++ b/src/third_party/kms-message/src/kms_crypto_libcrypto.c +@@ -0,0 +1,94 @@ ++/* ++ * Copyright 2018-present MongoDB, Inc. ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ */ ++ ++#include "kms_crypto.h" ++ ++#ifdef KMS_MESSAGE_ENABLE_CRYPTO_LIBCRYPTO ++ ++#include ++#include ++#include ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) ++static EVP_MD_CTX * ++EVP_MD_CTX_new (void) ++{ ++ return calloc (sizeof (EVP_MD_CTX), 1); ++} ++ ++static void ++EVP_MD_CTX_free (EVP_MD_CTX *ctx) ++{ ++ EVP_MD_CTX_cleanup (ctx); ++ free (ctx); ++} ++#endif ++ ++int ++kms_crypto_init () ++{ ++ return 0; ++} ++ ++void ++kms_crypto_cleanup () ++{ ++} ++ ++bool ++kms_sha256 (void *unused_ctx, ++ const char *input, ++ size_t len, ++ unsigned char *hash_out) ++{ ++ EVP_MD_CTX *digest_ctxp = EVP_MD_CTX_new (); ++ bool rval = false; ++ ++ if (1 != EVP_DigestInit_ex (digest_ctxp, EVP_sha256 (), NULL)) { ++ goto cleanup; ++ } ++ ++ if (1 != EVP_DigestUpdate (digest_ctxp, input, len)) { ++ goto cleanup; ++ } ++ ++ rval = (1 == EVP_DigestFinal_ex (digest_ctxp, hash_out, NULL)); ++ ++cleanup: ++ EVP_MD_CTX_free (digest_ctxp); ++ ++ return rval; ++} ++ ++bool ++kms_sha256_hmac (void *unused_ctx, ++ const char *key_input, ++ size_t key_len, ++ const char *input, ++ size_t len, ++ unsigned char *hash_out) ++{ ++ return HMAC (EVP_sha256 (), ++ key_input, ++ key_len, ++ (unsigned char *) input, ++ len, ++ hash_out, ++ NULL) != NULL; ++} ++ ++#endif /* KMS_MESSAGE_ENABLE_CRYPTO_LIBCRYPTO */ +diff --git a/src/third_party/kms-message/src/kms_crypto_none.c b/src/third_party/kms-message/src/kms_crypto_none.c +index 9ef2147687..94da5abd88 100644 +--- a/src/third_party/kms-message/src/kms_crypto_none.c ++++ b/src/third_party/kms-message/src/kms_crypto_none.c +@@ -16,6 +16,8 @@ + + #include "kms_crypto.h" + ++#ifndef KMS_MESSAGE_ENABLE_CRYPTO ++ + int + kms_crypto_init () + { +@@ -48,3 +50,5 @@ kms_sha256_hmac (void *unused_ctx, + /* only gets called if hooks were mistakenly not set */ + return false; + } ++ ++#endif /* KMS_MESSAGE_ENABLE_CRYPTO */ +diff --git a/src/third_party/kms-message/src/kms_crypto_windows.c b/src/third_party/kms-message/src/kms_crypto_windows.c +index ccdc7e095d..8177b0ddc0 100644 +--- a/src/third_party/kms-message/src/kms_crypto_windows.c ++++ b/src/third_party/kms-message/src/kms_crypto_windows.c +@@ -16,6 +16,8 @@ + + #include "kms_crypto.h" + ++#ifdef KMS_MESSAGE_ENABLE_CRYPTO_CNG ++ + // tell windows.h not to include a bunch of headers we don't need: + #define WIN32_LEAN_AND_MEAN + +@@ -130,3 +132,5 @@ cleanup: + + return status == STATUS_SUCCESS ? 1 : 0; + } ++ ++#endif /* KMS_MESSAGE_ENABLE_CRYPTO_CNG */ +diff --git a/src/third_party/kms-message/src/kms_decrypt_request.c b/src/third_party/kms-message/src/kms_decrypt_request.c +index 06faa43119..f1ca282768 100644 +--- a/src/third_party/kms-message/src/kms_decrypt_request.c ++++ b/src/third_party/kms-message/src/kms_decrypt_request.c +@@ -48,7 +48,7 @@ kms_decrypt_request_new (const uint8_t *ciphertext_blob, + if (!(b64 = malloc (b64_len))) { + KMS_ERROR (request, + "Could not allocate %d bytes for base64-encoding payload", +- b64_len); ++ (int) b64_len); + goto done; + } + +diff --git a/src/third_party/kms-message/src/kms_encrypt_request.c b/src/third_party/kms-message/src/kms_encrypt_request.c +index b5f4d6436e..24b064d95f 100644 +--- a/src/third_party/kms-message/src/kms_encrypt_request.c ++++ b/src/third_party/kms-message/src/kms_encrypt_request.c +@@ -47,7 +47,7 @@ kms_encrypt_request_new (const uint8_t *plaintext, + if (!(b64 = malloc (b64_len))) { + KMS_ERROR (request, + "Could not allocate %d bytes for base64-encoding payload", +- b64_len); ++ (int) b64_len); + goto done; + } + +diff --git a/src/third_party/kms-message/src/kms_kv_list.c b/src/third_party/kms-message/src/kms_kv_list.c +index 2d6845a1aa..0cff3dc2c6 100644 +--- a/src/third_party/kms-message/src/kms_kv_list.c ++++ b/src/third_party/kms-message/src/kms_kv_list.c +@@ -17,6 +17,7 @@ + + #include "kms_kv_list.h" + #include "kms_message/kms_message.h" ++#include "kms_message_private.h" + #include "kms_request_str.h" + #include "kms_port.h" + #include "sort.h" +@@ -39,9 +40,12 @@ kms_kv_list_t * + kms_kv_list_new (void) + { + kms_kv_list_t *lst = malloc (sizeof (kms_kv_list_t)); ++ KMS_ASSERT (lst); + + lst->size = 16; + lst->kvs = malloc (lst->size * sizeof (kms_kv_t)); ++ KMS_ASSERT (lst->kvs); ++ + lst->len = 0; + + return lst; +@@ -72,6 +76,7 @@ kms_kv_list_add (kms_kv_list_t *lst, + if (lst->len == lst->size) { + lst->size *= 2; + lst->kvs = realloc (lst->kvs, lst->size * sizeof (kms_kv_t)); ++ KMS_ASSERT (lst->kvs); + } + + kv_init (&lst->kvs[lst->len], key, value); +@@ -84,7 +89,7 @@ kms_kv_list_find (const kms_kv_list_t *lst, const char *key) + size_t i; + + for (i = 0; i < lst->len; i++) { +- if (0 == strcasecmp (lst->kvs[i].key->str, key)) { ++ if (0 == kms_strcasecmp (lst->kvs[i].key->str, key)) { + return &lst->kvs[i]; + } + } +@@ -119,8 +124,12 @@ kms_kv_list_dup (const kms_kv_list_t *lst) + } + + dup = malloc (sizeof (kms_kv_list_t)); ++ KMS_ASSERT (dup); ++ + dup->size = dup->len = lst->len; + dup->kvs = malloc (lst->len * sizeof (kms_kv_t)); ++ KMS_ASSERT (dup->kvs); ++ + + for (i = 0; i < lst->len; i++) { + kv_init (&dup->kvs[i], lst->kvs[i].key, lst->kvs[i].value); +diff --git a/src/third_party/kms-message/src/kms_message/kms_message.h b/src/third_party/kms-message/src/kms_message/kms_message.h +index 6ea95dd04c..8048528f2e 100644 +--- a/src/third_party/kms-message/src/kms_message/kms_message.h ++++ b/src/third_party/kms-message/src/kms_message/kms_message.h +@@ -17,6 +17,8 @@ + #ifndef KMS_MESSAGE_H + #define KMS_MESSAGE_H + ++#include ++ + #include "kms_message_defines.h" + #include "kms_request_opt.h" + #include "kms_request.h" +diff --git a/src/third_party/kms-message/src/kms_message/kms_message_defines.h b/src/third_party/kms-message/src/kms_message/kms_message_defines.h +index a4d019bd77..a539d531ef 100644 +--- a/src/third_party/kms-message/src/kms_message/kms_message_defines.h ++++ b/src/third_party/kms-message/src/kms_message/kms_message_defines.h +@@ -53,4 +53,14 @@ kms_message_cleanup (void); + } /* extern "C" */ + #endif + ++#ifdef _MSC_VER ++#include ++#pragma warning(disable : 4142) ++#ifndef _SSIZE_T_DEFINED ++#define _SSIZE_T_DEFINED ++typedef SSIZE_T ssize_t; ++#endif ++#pragma warning(default : 4142) ++#endif ++ + #endif /* KMS_MESSAGE_DEFINES_H */ +diff --git a/src/third_party/kms-message/src/kms_port.c b/src/third_party/kms-message/src/kms_port.c +new file mode 100644 +index 0000000000..ee9e6ed9c9 +--- /dev/null ++++ b/src/third_party/kms-message/src/kms_port.c +@@ -0,0 +1,33 @@ ++/* ++ * Copyright 2020-present MongoDB, Inc. ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ */ ++ ++#include "kms_port.h" ++#if defined(_WIN32) ++#include ++#include ++char * kms_strndup (const char *src, size_t len) ++{ ++ char *dst = (char *) malloc (len + 1); ++ if (!dst) { ++ return 0; ++ } ++ ++ memcpy (dst, src, len); ++ dst[len] = '\0'; ++ ++ return dst; ++} ++#endif +\ No newline at end of file +diff --git a/src/third_party/kms-message/src/kms_port.h b/src/third_party/kms-message/src/kms_port.h +index c3cbbac369..2123a99dc9 100644 +--- a/src/third_party/kms-message/src/kms_port.h ++++ b/src/third_party/kms-message/src/kms_port.h +@@ -15,21 +15,18 @@ + * limitations under the License. + */ + +-#if defined(_WIN32) +-#define strcasecmp _stricmp +- +-inline char * +-strndup (const char *src, size_t len) +-{ +- char *dst = (char *) malloc (len + 1); +- if (!dst) { +- return 0; +- } +- +- memcpy (dst, src, len); +- dst[len] = '\0'; ++#ifndef KMS_PORT_H ++#define KMS_PORT_H + +- return dst; +-} ++#include + ++#if defined(_WIN32) ++#define kms_strcasecmp _stricmp ++char * ++kms_strndup (const char *src, size_t len); ++#else ++#define kms_strndup strndup ++#define kms_strcasecmp strcasecmp + #endif ++ ++#endif /* KMS_PORT_H */ +\ No newline at end of file +diff --git a/src/third_party/kms-message/src/kms_request.c b/src/third_party/kms-message/src/kms_request.c +index fa2d487123..ac2b07ea6b 100644 +--- a/src/third_party/kms-message/src/kms_request.c ++++ b/src/third_party/kms-message/src/kms_request.c +@@ -61,6 +61,7 @@ kms_request_new (const char *method, + kms_request_t *request = calloc (1, sizeof (kms_request_t)); + const char *question_mark; + ++ KMS_ASSERT (request); + /* parsing may set failed to true */ + request->failed = false; + +@@ -92,10 +93,14 @@ kms_request_new (const char *method, + request->header_fields = kms_kv_list_new (); + request->auto_content_length = true; + +- kms_request_set_date (request, NULL); ++ if (!kms_request_set_date (request, NULL)) { ++ return request; ++ } + + if (opt && opt->connection_close) { +- kms_request_add_header_field (request, "Connection", "close"); ++ if (!kms_request_add_header_field (request, "Connection", "close")) { ++ return request; ++ } + } + + if (opt && opt->crypto.sha256) { +@@ -164,7 +169,9 @@ kms_request_set_date (kms_request_t *request, const struct tm *tm) + kms_request_str_set_chars (request->date, buf, sizeof "YYYYmmDD" - 1); + kms_request_str_set_chars (request->datetime, buf, sizeof AMZ_DT_FORMAT - 1); + kms_kv_list_del (request->header_fields, "X-Amz-Date"); +- kms_request_add_header_field (request, "X-Amz-Date", buf); ++ if (!kms_request_add_header_field (request, "X-Amz-Date", buf)) { ++ return false; ++ } + + return true; + } +@@ -309,7 +316,8 @@ append_canonical_headers (kms_kv_list_t *lst, kms_request_str_t *str) + * values in headers that have multiple values." */ + for (i = 0; i < lst->len; i++) { + kv = &lst->kvs[i]; +- if (previous_key && 0 == strcasecmp (previous_key->str, kv->key->str)) { ++ if (previous_key && ++ 0 == kms_strcasecmp (previous_key->str, kv->key->str)) { + /* duplicate header */ + kms_request_str_append_char (str, ','); + kms_request_str_append_stripped (str, kv->value); +@@ -339,12 +347,13 @@ append_signed_headers (kms_kv_list_t *lst, kms_request_str_t *str) + + for (i = 0; i < lst->len; i++) { + kv = &lst->kvs[i]; +- if (previous_key && 0 == strcasecmp (previous_key->str, kv->key->str)) { ++ if (previous_key && ++ 0 == kms_strcasecmp (previous_key->str, kv->key->str)) { + /* duplicate header */ + continue; + } + +- if (0 == strcasecmp (kv->key->str, "connection")) { ++ if (0 == kms_strcasecmp (kv->key->str, "connection")) { + continue; + } + +@@ -412,7 +421,8 @@ finalize (kms_request_t *request) + static int + cmp_header_field_names (const void *a, const void *b) + { +- return strcasecmp (((kms_kv_t *) a)->key->str, ((kms_kv_t *) b)->key->str); ++ return kms_strcasecmp (((kms_kv_t *) a)->key->str, ++ ((kms_kv_t *) b)->key->str); + } + + static kms_kv_list_t * +@@ -447,6 +457,7 @@ kms_request_get_canonical (kms_request_t *request) + kms_request_str_append_newline (canonical); + normalized = kms_request_str_path_normalized (request->path); + kms_request_str_append_escaped (canonical, normalized, false); ++ kms_request_str_destroy (normalized); + kms_request_str_append_newline (canonical); + append_canonical_query (request, canonical); + kms_request_str_append_newline (canonical); +@@ -454,12 +465,14 @@ kms_request_get_canonical (kms_request_t *request) + append_canonical_headers (lst, canonical); + kms_request_str_append_newline (canonical); + append_signed_headers (lst, canonical); +- kms_request_str_append_newline (canonical); +- kms_request_str_append_hashed ( +- &request->crypto, canonical, request->payload); +- +- kms_request_str_destroy (normalized); + kms_kv_list_destroy (lst); ++ kms_request_str_append_newline (canonical); ++ if (!kms_request_str_append_hashed ( ++ &request->crypto, canonical, request->payload)) { ++ KMS_ERROR (request, "could not generate hash"); ++ kms_request_str_destroy (canonical); ++ return NULL; ++ } + + return kms_request_str_detach (canonical); + } +@@ -514,6 +527,10 @@ kms_request_get_string_to_sign (kms_request_t *request) + kms_request_str_append_chars (sts, "/aws4_request\n", -1); + + creq = kms_request_str_wrap (kms_request_get_canonical (request), -1); ++ if (!creq) { ++ goto done; ++ } ++ + if (!kms_request_str_append_hashed (&request->crypto, sts, creq)) { + goto done; + } +diff --git a/src/third_party/kms-message/src/kms_request_str.c b/src/third_party/kms-message/src/kms_request_str.c +index 0f7c19c972..65207d2f4f 100644 +--- a/src/third_party/kms-message/src/kms_request_str.c ++++ b/src/third_party/kms-message/src/kms_request_str.c +@@ -51,10 +51,13 @@ kms_request_str_t * + kms_request_str_new (void) + { + kms_request_str_t *s = malloc (sizeof (kms_request_str_t)); ++ KMS_ASSERT (s); + + s->len = 0; + s->size = 16; + s->str = malloc (s->size); ++ KMS_ASSERT (s->str); ++ + s->str[0] = '\0'; + + return s; +@@ -64,11 +67,15 @@ kms_request_str_t * + kms_request_str_new_from_chars (const char *chars, ssize_t len) + { + kms_request_str_t *s = malloc (sizeof (kms_request_str_t)); ++ KMS_ASSERT (s); ++ + size_t actual_len; + + actual_len = len < 0 ? strlen (chars) : (size_t) len; + s->size = actual_len + 1; + s->str = malloc (s->size); ++ KMS_ASSERT (s->str); ++ + memcpy (s->str, chars, actual_len); + s->str[actual_len] = '\0'; + s->len = actual_len; +@@ -86,6 +93,8 @@ kms_request_str_wrap (char *chars, ssize_t len) + } + + s = malloc (sizeof (kms_request_str_t)); ++ KMS_ASSERT (s); ++ + + s->str = chars; + s->len = len < 0 ? strlen (chars) : (size_t) len; +@@ -148,8 +157,10 @@ kms_request_str_t * + kms_request_str_dup (kms_request_str_t *str) + { + kms_request_str_t *dup = malloc (sizeof (kms_request_str_t)); ++ KMS_ASSERT (dup); ++ + +- dup->str = strndup (str->str, str->len); ++ dup->str = kms_strndup (str->str, str->len); + dup->len = str->len; + dup->size = str->len + 1; + +diff --git a/src/third_party/kms-message/src/kms_request_str.h b/src/third_party/kms-message/src/kms_request_str.h +index f053a595aa..0898f59067 100644 +--- a/src/third_party/kms-message/src/kms_request_str.h ++++ b/src/third_party/kms-message/src/kms_request_str.h +@@ -25,11 +25,6 @@ + #include + #include + +-#if defined(_WIN32) +-#include +-typedef SSIZE_T ssize_t; +-#endif // _WIN32 +- + typedef struct { + char *str; + size_t len; +diff --git a/src/third_party/kms-message/src/kms_response_parser.c b/src/third_party/kms-message/src/kms_response_parser.c +index 31e4868a68..6f86fac854 100644 +--- a/src/third_party/kms-message/src/kms_response_parser.c ++++ b/src/third_party/kms-message/src/kms_response_parser.c +@@ -1,7 +1,7 @@ + #include "kms_message/kms_response_parser.h" + #include "kms_message_private.h" + +-#include "kms_message_private.h" ++#include + #include + #include + #include +@@ -24,6 +24,7 @@ _parser_init (kms_response_parser_t *parser) + parser->raw_response = kms_request_str_new (); + parser->content_length = -1; + parser->response = calloc (1, sizeof (kms_response_t)); ++ KMS_ASSERT (parser->response); + parser->response->headers = kms_kv_list_new (); + parser->state = PARSING_STATUS_LINE; + parser->start = 0; +@@ -34,6 +35,8 @@ kms_response_parser_t * + kms_response_parser_new (void) + { + kms_response_parser_t *parser = malloc (sizeof (kms_response_parser_t)); ++ KMS_ASSERT (parser); ++ + _parser_init (parser); + return parser; + } +@@ -59,11 +62,26 @@ static bool + _parse_int (const char *str, int *result) + { + char *endptr = NULL; ++ int64_t long_result; + +- *result = (int) strtol (str, &endptr, 10); +- if (*endptr) { ++ errno = 0; ++ long_result = strtol (str, &endptr, 10); ++ if (endptr == str) { ++ /* No digits were parsed. Consider this an error */ ++ return false; ++ } ++ if (endptr != NULL && *endptr != '\0') { ++ /* endptr points to the first invalid character. */ ++ return false; ++ } ++ if (errno == EINVAL || errno == ERANGE) { ++ return false; ++ } ++ if (long_result > INT32_MAX || long_result < INT32_MIN) { + return false; + } ++ *result = (int) long_result; ++ + return true; + } + +@@ -72,6 +90,8 @@ static bool + _parse_int_from_view (const char *str, int start, int end, int *result) + { + char *num_str = malloc (end - start + 1); ++ KMS_ASSERT (num_str); ++ + bool ret; + + strncpy (num_str, str + start, end - start); +diff --git a/src/third_party/scripts/kms_message_get_sources.sh b/src/third_party/scripts/kms_message_get_sources.sh +index 6ad2fbb0e6..52ce21b9dd 100755 +--- a/src/third_party/scripts/kms_message_get_sources.sh ++++ b/src/third_party/scripts/kms_message_get_sources.sh +@@ -18,7 +18,7 @@ if grep -q Microsoft /proc/version; then + fi + + NAME=libmongocrypt +-REVISION=59c8c17bbdfa1cf0fdec60cfdde73a437a868221 ++REVISION=052f7fc610f0cea83a2adf3dd263a5ff04833371 + + if grep -q Microsoft /proc/version; then + SRC_ROOT=$(wslpath -u $(powershell.exe -Command "Get-ChildItem Env:TEMP | Get-Content | Write-Host")) +-- +2.24.0 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-stacktrace-Define-ARCH_BITS-for-x86.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-stacktrace-Define-ARCH_BITS-for-x86.patch new file mode 100644 index 000000000..a92883516 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-stacktrace-Define-ARCH_BITS-for-x86.patch @@ -0,0 +1,29 @@ +From efd79bda1b85a5a4398a71e5ea2bc00ee4b0ea46 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 15 Sep 2020 18:20:27 -0700 +Subject: [PATCH] stacktrace: Define ARCH_BITS for x86 + +stacktrace_somap.cpp:92:33: error: 'ELFCLASSARCH_BITS' was not declared in this scope + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/mongo/util/stacktrace_somap.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mongo/util/stacktrace_somap.cpp b/src/mongo/util/stacktrace_somap.cpp +index f7ba66a142..2231948ce8 100644 +--- a/src/mongo/util/stacktrace_somap.cpp ++++ b/src/mongo/util/stacktrace_somap.cpp +@@ -83,7 +83,7 @@ void addUnameToSoMap(BSONObjBuilder* soMap) { + #define ARCH_BITS __ELF_NATIVE_CLASS + #elif defined(__x86_64__) || defined(__aarch64__) + #define ARCH_BITS 64 +-#elif defined(__arm__) ++#elif defined(__i386__) || defined(__arm__) + #define ARCH_BITS 32 + #else + #error Unknown target architecture. +-- +2.28.0 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch index 869d2849d..57f4168f5 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch @@ -1,4 +1,4 @@ -From 73c6374ceb0c062e91210cc9ef3e0e9fa30ee514 Mon Sep 17 00:00:00 2001 +From 28f34191eef1e70c24d2f81b66e4dd40dbefcd35 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 2 Sep 2017 12:42:30 -0700 Subject: [PATCH 04/10] Add a definition for the macro __ELF_NATIVE_CLASS @@ -6,17 +6,18 @@ Subject: [PATCH 04/10] Add a definition for the macro __ELF_NATIVE_CLASS It depends on the native arch's word size. Signed-off-by: Khem Raj +Signed-off-by: Vincent Prince --- src/mongo/util/stacktrace_posix.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mongo/util/stacktrace_posix.cpp b/src/mongo/util/stacktrace_posix.cpp -index 1d7b3d7..f81e329 100644 +index 531e21bdc2..fa611499e4 100644 --- a/src/mongo/util/stacktrace_posix.cpp +++ b/src/mongo/util/stacktrace_posix.cpp -@@ -39,6 +39,15 @@ +@@ -42,6 +42,15 @@ + #include #include - #include +#if !defined(__GLIBC__) +#if defined __x86_64__ && !defined __ILP32__ @@ -28,8 +29,8 @@ index 1d7b3d7..f81e329 100644 +#endif + #include "mongo/base/init.h" + #include "mongo/bson/json.h" #include "mongo/config.h" - #include "mongo/db/jsobj.h" -- -2.7.4 +2.24.0 diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch index 3a27aacfe..910ef0b5f 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch @@ -2,7 +2,7 @@ Index: git/SConstruct =================================================================== --- git.orig/SConstruct +++ git/SConstruct -@@ -884,6 +884,14 @@ env_vars.Add('WINDOWS_OPENSSL_BIN', +@@ -977,6 +977,14 @@ env_vars.Add('WINDOWS_OPENSSL_BIN', help='Sets the path to the openssl binaries for packaging', default='c:/openssl/bin') diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch index ae84bcb56..e4ae30776 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch @@ -15,15 +15,16 @@ src/mongo/util/net/ssl_manager.cpp:575:79: error: invalid conversion from 'size_ if (mongoUnsignedAddOverflow64(tagAndLengthByteCount, derLength, outLength) || Signed-off-by: Fabrice Fontaine +Signed-off-by: Vincent Prince --- src/mongo/util/net/ssl_manager.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mongo/util/net/ssl_manager.cpp b/src/mongo/util/net/ssl_manager.cpp -index b93ebe84a4a3..3511eb5d998f 100644 +index 455a1662a5..e8497bc0d1 100644 --- a/src/mongo/util/net/ssl_manager.cpp +++ b/src/mongo/util/net/ssl_manager.cpp -@@ -782,7 +782,7 @@ class DERToken { +@@ -810,7 +810,7 @@ public: * * Returns a DERToken which consists of the (tag, length, value) tuple. */ @@ -32,7 +33,7 @@ index b93ebe84a4a3..3511eb5d998f 100644 private: DERType _type{DERType::EndOfContent}; -@@ -799,7 +799,7 @@ struct DataType::Handler { +@@ -827,7 +827,7 @@ struct DataType::Handler { size_t length, size_t* advanced, std::ptrdiff_t debug_offset) { @@ -41,7 +42,7 @@ index b93ebe84a4a3..3511eb5d998f 100644 auto swPair = DERToken::parse(ConstDataRange(ptr, length), &outLength); -@@ -844,7 +844,7 @@ StatusWith readDERString(ConstDataRangeCursor& cdc) { +@@ -889,7 +889,7 @@ StatusWith readDERInt(ConstDataRangeCursor& cdc) { } @@ -50,3 +51,6 @@ index b93ebe84a4a3..3511eb5d998f 100644 const size_t kTagLength = 1; const size_t kTagLengthAndInitialLengthByteLength = kTagLength + 1; +-- +2.24.0 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch index 15bd7da70..1a7bf0fc5 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch @@ -1,4 +1,4 @@ -From c9fc9e9a44b0fb764ce86a5e57f17d3c5bbfd8cd Mon Sep 17 00:00:00 2001 +From 298d958148f1fb2bb7725fed15c68c09677c14c9 Mon Sep 17 00:00:00 2001 From: Vincent Prince Date: Mon, 16 Sep 2019 13:37:10 +0200 Subject: [PATCH 05/10] Add alises for arm64 which is same as aarch64 @@ -12,10 +12,10 @@ Signed-off-by: Vincent Prince 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct -index e63cf15..5593c78 100644 +index 448939bdd0..abfd816f3e 100644 --- a/SConstruct +++ b/SConstruct -@@ -1129,6 +1129,7 @@ elif endian == "big": +@@ -1228,6 +1228,7 @@ if endian == "auto": processor_macros = { 'arm' : { 'endian': 'little', 'defines': ('__arm__',) }, 'aarch64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')}, @@ -24,10 +24,10 @@ index e63cf15..5593c78 100644 'ppc64le' : { 'endian': 'little', 'defines': ('__powerpc64__',)}, 's390x' : { 'endian': 'big', 'defines': ('__s390x__',)}, diff --git a/src/third_party/IntelRDFPMathLib20U1/SConscript b/src/third_party/IntelRDFPMathLib20U1/SConscript -index f23c071..fb82cd6 100644 +index 58e1b7ba65..bffe83b462 100644 --- a/src/third_party/IntelRDFPMathLib20U1/SConscript +++ b/src/third_party/IntelRDFPMathLib20U1/SConscript -@@ -308,7 +308,7 @@ if processor == 'i386' or processor == 'emscripten': +@@ -309,7 +309,7 @@ if processor == 'i386' or processor == 'emscripten': elif processor == 'arm': cpp_defines['IA32'] = '1' cpp_defines['ia32'] = '1' @@ -37,7 +37,7 @@ index f23c071..fb82cd6 100644 cpp_defines['EFI2'] = '1' # Using 64 bit little endian diff --git a/src/third_party/wiredtiger/SConscript b/src/third_party/wiredtiger/SConscript -index cdd090b..97a1b3b 100644 +index d6bd665e23..2f1e656a19 100644 --- a/src/third_party/wiredtiger/SConscript +++ b/src/third_party/wiredtiger/SConscript @@ -152,7 +152,7 @@ condition_map = { @@ -50,5 +50,5 @@ index cdd090b..97a1b3b 100644 'X86_HOST' : env['TARGET_ARCH'] == 'x86_64', 'ZSERIES_HOST' : env['TARGET_ARCH'] == 's390x', -- -2.7.4 +2.24.0 diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb index 58841ef31..a15349848 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb @@ -9,12 +9,13 @@ DEPENDS = "openssl libpcap zlib boost curl python3 \ python3-psutil-native python3-regex-native \ " -inherit scons dos2unix siteinfo python3native +inherit scons dos2unix siteinfo python3native systemd useradd -PV = "4.2.2" -#v4.2.2 -SRCREV = "a0bbbff6ada159e19298d37946ac8dc4b497eadf" -SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.2 \ +PV = "4.4.1" +#v4.4.1 +SRCREV = "ad91a93a5a31e175f5cbf8c69561e788bbc55ce1" +SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4 \ + file://0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch \ file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \ file://0001-Use-long-long-instead-of-int64_t.patch \ file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \ @@ -24,6 +25,8 @@ SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.2 \ file://0001-Support-deprecated-resolver-functions.patch \ file://0003-Fix-unknown-prefix-env.patch \ file://1296.patch \ + file://0001-Fix-compilation-with-fno-common.patch \ + file://0001-stacktrace-Define-ARCH_BITS-for-x86.patch \ " SRC_URI_append_libc-musl ="\ file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \ @@ -35,6 +38,7 @@ SRC_URI_append_toolchain-clang = "\ file://0001-asio-Dont-use-experimental-with-clang.patch \ " + S = "${WORKDIR}/git" COMPATIBLE_HOST ?= '(x86_64|i.86|powerpc64|arm|aarch64).*-linux' @@ -51,26 +55,65 @@ PACKAGECONFIG[tcmalloc] = "--use-system-tcmalloc,--allocator=system,gperftools," PACKAGECONFIG[shell] = ",--js-engine=none,," PACKAGECONFIG[system-pcre] = "--use-system-pcre,,libpcre," -EXTRA_OESCONS = "--prefix=${D}${prefix} \ +EXTRA_OESCONS = "PREFIX=${prefix} \ + DESTDIR=${D} \ LIBPATH=${STAGING_LIBDIR} \ LINKFLAGS='${LDFLAGS}' \ CXXFLAGS='${CXXFLAGS}' \ TARGET_ARCH=${TARGET_ARCH} \ + MONGO_VERSION=${PV} \ + OBJCOPY=${OBJCOPY} \ --ssl \ --disable-warnings-as-errors \ --use-system-zlib \ --nostrip \ --endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \ --wiredtiger=${@['off','on'][d.getVar('SITEINFO_BITS') != '32']} \ - ${PACKAGECONFIG_CONFARGS} \ - core" + --separate-debug \ + ${PACKAGECONFIG_CONFARGS}" + + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/${BPN} --shell /bin/false --user-group ${BPN}" + scons_do_compile() { - ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} || \ + ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} install-core || \ die "scons build execution failed." } scons_do_install() { - ${STAGING_BINDIR_NATIVE}/scons install ${EXTRA_OESCONS}|| \ - die "scons install execution failed." + # install binaries + install -d ${D}${bindir} + for i in mongod mongos mongo + do + if [ -f ${B}/build/opt/mongo/${i} ] + then + install -m 0755 ${B}/build/opt/mongo/${i} ${D}${bindir}/${i} + else + bbnote "${i} does not exist" + fi + done + + # install config + install -d ${D}${sysconfdir} + install -m 0644 ${S}/debian/mongod.conf ${D}${sysconfdir}/ + + # install systemd service + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/debian/mongod.service ${D}${systemd_system_unitdir} + + # install mongo data folder + install -m 755 -d ${D}${localstatedir}/lib/${BPN} + chown ${PN}:${PN} ${D}${localstatedir}/lib/${BPN} + + # Log files + install -m 755 -d ${D}${localstatedir}/log/${BPN} + chown ${PN}:${PN} ${D}${localstatedir}/log/${BPN} } + +CONFFILES_${PN} = "${sysconfdir}/mongod.conf" + +SYSTEMD_SERVICE_${PN} = "mongod.service" + + diff --git a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend new file mode 100644 index 000000000..b39a4d68f --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend @@ -0,0 +1,3 @@ +RDEPENDS_packagegroup-meta-oe-devtools += "\ + valijson \ +" diff --git a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb new file mode 100644 index 000000000..049cdeffc --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb @@ -0,0 +1,36 @@ +SUMMARY = "Header-only C++ library for JSON Schema validation" +HOMEPAGE = "https://github.com/tristanpenman/valijson" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=015106c62262b2383f6c72063f0998f2" + +SRC_URI = "git://github.com/tristanpenman/valijson.git" +SRCREV = "7a52fc88cdffd6678c009ca2fad700151f7363c6" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "-DINSTALL_HEADERS=1 -DBUILD_TESTS=0" + +DEPENDS = "curlpp" + +# valijson is a header only C++ library, so the main package will be empty. +RDEPENDS_${PN}-dev = "" + +BBCLASSEXTEND = "native nativesdk" + +do_install() { + install -d ${D}${includedir}/compat + install -d ${D}${includedir}/valijson + install -d ${D}${includedir}/valijson/adapters + install -d ${D}${includedir}/valijson/constraints + install -d ${D}${includedir}/valijson/internal + install -d ${D}${includedir}/valijson/utils + + install -m 0644 ${S}/include/compat/* ${D}${includedir}/compat + install -D -m 0644 ${S}/include/valijson/*.hpp -t ${D}${includedir}/valijson + install -D -m 0644 ${S}/include/valijson/adapters/*.hpp -t ${D}${includedir}/valijson/adapters + install -D -m 0644 ${S}/include/valijson/constraints/*.hpp -t ${D}${includedir}/valijson/constraints + install -D -m 0644 ${S}/include/valijson/internal/*.hpp -t ${D}${includedir}/valijson/internal + install -D -m 0644 ${S}/include/valijson/utils/*.hpp -t ${D}${includedir}/valijson/utils +} diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.21.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.21.bb deleted file mode 100644 index 83f38fc7b..000000000 --- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.21.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Filesystem and hardware benchmark and stress tool" -DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \ -stress/hardware verification. It has support for a number of I/O engines, \ -I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \ -and much more. It can work on block devices as well as files. fio accepts \ -job descriptions in a simple-to-understand text format. Several example job \ -files are included. fio displays all sorts of I/O performance information." -HOMEPAGE = "http://freecode.com/projects/fio" -SECTION = "console/tests" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "libaio zlib coreutils-native" -DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}" -RDEPENDS_${PN} = "python3-core bash" - -PACKAGECONFIG_NUMA = "numa" -# ARM does not currently support NUMA -PACKAGECONFIG_NUMA_arm = "" -PACKAGECONFIG_NUMA_armeb = "" - -PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}" -PACKAGECONFIG[numa] = ",--disable-numa,numactl" - -SRCREV = "d13596b225baf61425a9ca92b0583fc3fa97765d" -SRC_URI = "git://git.kernel.dk/fio.git \ -" - -S = "${WORKDIR}/git" - -# avoids build breaks when using no-static-libs.inc -DISABLE_STATIC = "" - -EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'" -EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}" - -do_configure() { - ./configure ${EXTRA_OECONF} -} - -do_install() { - oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir} - install -d ${D}/${docdir}/${PN} - cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/ -} diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.22.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.22.bb new file mode 100644 index 000000000..b50ed9f27 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.22.bb @@ -0,0 +1,45 @@ +SUMMARY = "Filesystem and hardware benchmark and stress tool" +DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \ +stress/hardware verification. It has support for a number of I/O engines, \ +I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \ +and much more. It can work on block devices as well as files. fio accepts \ +job descriptions in a simple-to-understand text format. Several example job \ +files are included. fio displays all sorts of I/O performance information." +HOMEPAGE = "http://freecode.com/projects/fio" +SECTION = "console/tests" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "libaio zlib coreutils-native" +DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}" +RDEPENDS_${PN} = "python3-core bash" + +PACKAGECONFIG_NUMA = "numa" +# ARM does not currently support NUMA +PACKAGECONFIG_NUMA_arm = "" +PACKAGECONFIG_NUMA_armeb = "" + +PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}" +PACKAGECONFIG[numa] = ",--disable-numa,numactl" + +SRCREV = "477b6753ad068983d49fea0abc91fab82da9bad0" +SRC_URI = "git://git.kernel.dk/fio.git \ +" + +S = "${WORKDIR}/git" + +# avoids build breaks when using no-static-libs.inc +DISABLE_STATIC = "" + +EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'" +EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}" + +do_configure() { + ./configure ${EXTRA_OECONF} +} + +do_install() { + oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir} + install -d ${D}/${docdir}/${PN} + cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/ +} diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb deleted file mode 100644 index c7ad91b24..000000000 --- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Network benchmark tool" -DESCRIPTION = "\ -iperf is a tool for active measurements of the maximum achievable bandwidth \ -on IP networks. It supports tuning of various parameters related to timing, \ -protocols, and buffers. For each test it reports the bandwidth, loss, and \ -other parameters." -HOMEPAGE = "http://software.es.net/iperf/" -SECTION = "console/network" -BUGTRACKER = "https://github.com/esnet/iperf/issues" -AUTHOR = "ESNET , Lawrence Berkeley National Laboratory " -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f9088fe7ffdccd042f7645f1012d7f70" - -SRC_URI = "git://github.com/esnet/iperf.git \ - file://0002-Remove-pg-from-profile_CFLAGS.patch \ - " - -SRCREV = "dfcea9f6a09ead01089a3c9d20c7032f2c0af2c1" - -S = "${WORKDIR}/git" - -inherit autotools - -PACKAGECONFIG ?= "openssl" - -PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools" -PACKAGECONFIG[openssl] = "--with-openssl=${RECIPE_SYSROOT}${prefix},--without-openssl,openssl" - -CFLAGS += "-D_GNU_SOURCE" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb new file mode 100644 index 000000000..d969555c2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb @@ -0,0 +1,29 @@ +SUMMARY = "Network benchmark tool" +DESCRIPTION = "\ +iperf is a tool for active measurements of the maximum achievable bandwidth \ +on IP networks. It supports tuning of various parameters related to timing, \ +protocols, and buffers. For each test it reports the bandwidth, loss, and \ +other parameters." +HOMEPAGE = "http://software.es.net/iperf/" +SECTION = "console/network" +BUGTRACKER = "https://github.com/esnet/iperf/issues" +AUTHOR = "ESNET , Lawrence Berkeley National Laboratory " +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b7fb682e9941a49f1214dcd7441410d7" + +SRC_URI = "git://github.com/esnet/iperf.git \ + file://0002-Remove-pg-from-profile_CFLAGS.patch \ + " + +SRCREV = "1f8fb13297f3e3e40169ebcd12e171167e394473" + +S = "${WORKDIR}/git" + +inherit autotools + +PACKAGECONFIG ?= "openssl" + +PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools" +PACKAGECONFIG[openssl] = "--with-openssl=${RECIPE_SYSROOT}${prefix},--without-openssl,openssl" + +CFLAGS += "-D_GNU_SOURCE" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-add-explicit-permissions-to-open-call.patch b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-add-explicit-permissions-to-open-call.patch deleted file mode 100644 index 9d52b908e..000000000 --- a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-add-explicit-permissions-to-open-call.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d07d2f9601b49bb72cd4b36838f0c238bd1b0fc1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 15 Jan 2020 18:45:09 -0800 -Subject: [PATCH] tests: add explicit permissions to open() call - -Fixes -gethugepagesizes.c:227:35: error: open with O_CREAT in second argument needs 3 arguments -| fd = open(fname, O_WRONLY|O_CREAT); -| ^ - -Upstream-Status: Submitted [https://groups.google.com/forum/#!topic/libhugetlbfs/anNtDXbQKro] -Signed-off-by: Khem Raj ---- - tests/gethugepagesizes.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/gethugepagesizes.c b/tests/gethugepagesizes.c -index 9551b38..5777265 100644 ---- a/tests/gethugepagesizes.c -+++ b/tests/gethugepagesizes.c -@@ -223,7 +223,7 @@ void setup_fake_data(long sizes[], int n_elem) - FAIL("mkdtemp: %s", strerror(errno)); - - sprintf(fname, "%s/meminfo-none", fake_meminfo); -- fd = open(fname, O_WRONLY|O_CREAT); -+ fd = open(fname, O_WRONLY|O_CREAT, 0600); - if (fd < 0) - FAIL("open: %s", strerror(errno)); - if (write(fd, meminfo_base, -@@ -233,7 +233,7 @@ void setup_fake_data(long sizes[], int n_elem) - FAIL("close: %s", strerror(errno)); - - sprintf(fname, "%s/meminfo-hugepages", fake_meminfo); -- fd = open(fname, O_WRONLY|O_CREAT); -+ fd = open(fname, O_WRONLY|O_CREAT, 0600); - if (fd < 0) - FAIL("open: %s", strerror(errno)); - if (write(fd, meminfo_base, --- -2.25.0 - diff --git a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb index 4768d7b63..b349096ec 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb +++ b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb @@ -7,10 +7,10 @@ DEPENDS = "sysfsutils" RDEPENDS_${PN} += "bash python3-core" RDEPENDS_${PN}-tests += "bash python3-core" -PV = "2.22" +PV = "2.23" PE = "1" -SRCREV = "e6499ff92b4a7dcffbd131d1f5d24933e48c3f20" +SRCREV = "6b126a4d7da9490fa40fe7e1b962edcb939feddc" SRC_URI = " \ git://github.com/libhugetlbfs/libhugetlbfs.git;protocol=https \ file://skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch \ @@ -24,7 +24,6 @@ SRC_URI = " \ file://0004-shm.c-Mark-glibc-specific-changes-so.patch \ file://0005-Include-dirent.h-for-ino_t.patch \ file://0006-include-limits.h-for-PATH_MAX.patch \ - file://0001-tests-add-explicit-permissions-to-open-call.patch \ file://0001-huge_page_setup_helper-use-python3-interpreter.patch \ " diff --git a/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb index 7e20b7da6..171ac31ac 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb +++ b/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb @@ -5,7 +5,7 @@ LICENSE = "GPLv2 & GPL-2.0-with-lmbench-restriction" LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ file://COPYING-2;md5=8e9aee2ccc75d61d107e43794a25cdf9" -inherit autotools-brokensep +inherit autotools-brokensep update-alternatives DEPENDS += "libtirpc" CFLAGS += "-I${STAGING_INCDIR}/tirpc" @@ -89,3 +89,7 @@ pkg_postinst_${PN} () { RDEPENDS_${PN} = "perl" FILES_${PN} += "${datadir}/lmbench" + +ALTERNATIVE_${PN} = "stream" +ALTERNATIVE_LINK_NAME[stream] = "${bindir}/stream" + diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.8.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.8.bb deleted file mode 100644 index b1e6fea2f..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.8.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "Wireless daemon for Linux" -HOMEPAGE = "https://iwd.wiki.kernel.org/" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "ell" - -SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git" -SRCREV = "a01754f56aacdc641c819f983c3c0ad374be77b2" -S = "${WORKDIR}/git" - -inherit autotools manpages pkgconfig python3native systemd - -PACKAGECONFIG ??= " \ - client \ - monitor \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" -PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" -PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" -PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" -PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" -PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" -PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" - -EXTRA_OECONF = "--enable-external-ell" - -SYSTEMD_SERVICE_${PN} = " \ - iwd.service \ - ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ -" - -do_configure_prepend() { - install -d ${S}/build-aux -} - -do_install_append() { - # If client and monitor are disabled, bindir is empty, causing a QA error - rmdir --ignore-fail-on-non-empty ${D}/${bindir} -} - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${nonarch_base_libdir}/modules-load.d \ - ${systemd_unitdir}/network \ -" - -RDEPENDS_${PN} = "dbus" - -RRECOMMENDS_${PN} = "\ - kernel-module-pkcs7-message \ - kernel-module-pkcs8-key-parser \ - kernel-module-x509-key-parser \ -" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.9.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.9.bb new file mode 100644 index 000000000..25500e650 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.9.bb @@ -0,0 +1,54 @@ +SUMMARY = "Wireless daemon for Linux" +HOMEPAGE = "https://iwd.wiki.kernel.org/" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "ell" + +SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git" +SRCREV = "aa3dc1b95348dea177e9d8c2c3063b29e20fe2e9" +S = "${WORKDIR}/git" + +inherit autotools manpages pkgconfig python3native systemd + +PACKAGECONFIG ??= " \ + client \ + monitor \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" +PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" +PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" +PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" +PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" +PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" + +EXTRA_OECONF = "--enable-external-ell" + +SYSTEMD_SERVICE_${PN} = " \ + iwd.service \ + ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ +" + +do_configure_prepend() { + install -d ${S}/build-aux +} + +do_install_append() { + # If client and monitor are disabled, bindir is empty, causing a QA error + rmdir --ignore-fail-on-non-empty ${D}/${bindir} +} + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${nonarch_libdir}/modules-load.d \ + ${systemd_unitdir}/network \ +" + +RDEPENDS_${PN} = "dbus" + +RRECOMMENDS_${PN} = "\ + kernel-module-pkcs7-message \ + kernel-module-pkcs8-key-parser \ + kernel-module-x509-key-parser \ +" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.0.bb deleted file mode 100644 index 3a1b70b80..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol" -DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \ - devices which speak the Qualcomm MSM Interface (QMI) protocol" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -DEPENDS = "glib-2.0 glib-2.0-native" - -inherit autotools pkgconfig bash-completion gobject-introspection - -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz" - -SRC_URI[md5sum] = "8da95a97e893311878f8ce12dcf8fad0" -SRC_URI[sha256sum] = "7f0429e0ae58792e21512d09ca2412537840ea42696762795af1284a65fd6e40" - -PACKAGECONFIG ??= "udev mbim" -PACKAGECONFIG[udev] = ",--without-udev,libgudev" -PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.4.bb new file mode 100644 index 000000000..f778ffac4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.4.bb @@ -0,0 +1,21 @@ +SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol" +DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \ + devices which speak the Qualcomm MSM Interface (QMI) protocol" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = "glib-2.0 glib-2.0-native" + +inherit autotools pkgconfig bash-completion gobject-introspection + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz" + +SRC_URI[sha256sum] = "c0adcb84ba452e3e13edeb3f94f7b003ea927b354bc187629e05efb333ce270b" + +PACKAGECONFIG ??= "udev mbim" +PACKAGECONFIG[udev] = ",--without-udev,libgudev" +PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch new file mode 100644 index 000000000..876088649 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch @@ -0,0 +1,26 @@ +From 8a4cad5e2f2cbb6a34bdc6e877fe499502b8c4c8 Mon Sep 17 00:00:00 2001 +From: Marcel Ziswiler +Date: Fri, 23 Dec 2016 18:12:29 +0100 +Subject: [PATCH] linuxptp: Use cross cpp in incdefs + +Use cross cpp incdefs.sh shell script since we are doing cross compiling +we need to ensure we use correct setttings from toolchain + +Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Khem Raj +--- + + makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/incdefs.sh ++++ b/incdefs.sh +@@ -27,7 +27,7 @@ user_flags() + printf " -D_GNU_SOURCE" + + # Get list of directories searched for header files. +- dirs=$(echo "" | ${CROSS_COMPILE}cpp -Wp,-v 2>&1 >/dev/null | grep ^" /") ++ dirs=$(${CPP} -Wp,-v -xc /dev/null 2>&1 >/dev/null | grep ^" /") + + # Look for clock_adjtime(). + for d in $dirs; do diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/no-incdefs-using-host-headers.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/no-incdefs-using-host-headers.patch deleted file mode 100644 index 02dbb2346..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/no-incdefs-using-host-headers.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8a4cad5e2f2cbb6a34bdc6e877fe499502b8c4c8 Mon Sep 17 00:00:00 2001 -From: Marcel Ziswiler -Date: Fri, 23 Dec 2016 18:12:29 +0100 -Subject: [PATCH] linuxptp: no incdefs using host headers - -Avoid using host headers via incdefs.sh shell script. - -Signed-off-by: Marcel Ziswiler ---- - - makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/makefile b/makefile -index 8cdbd15..85174b8 100644 ---- a/makefile -+++ b/makefile -@@ -33,7 +33,7 @@ OBJECTS = $(OBJ) hwstamp_ctl.o phc2sys.o phc_ctl.o pmc.o pmc_common.o \ - SRC = $(OBJECTS:.o=.c) - DEPEND = $(OBJECTS:.o=.d) - srcdir := $(dir $(lastword $(MAKEFILE_LIST))) --incdefs := $(shell $(srcdir)/incdefs.sh) -+#incdefs := $(shell $(srcdir)/incdefs.sh) - version := $(shell $(srcdir)/version.sh $(srcdir)) - VPATH = $(srcdir) - --- -2.9.3 - diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.0.bb index 69dee1a2f..1472a671a 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.0.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.0.bb @@ -4,14 +4,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \ file://build-Allow-CC-and-prefix-to-be-overriden.patch \ - file://no-incdefs-using-host-headers.patch \ + file://Use-cross-cpp-in-incdefs.patch \ " SRC_URI[md5sum] = "1318805702eb6d59f9f247e1dd5ce12a" SRC_URI[sha256sum] = "d74ceca722c75bfff53c633425f926dd48eb04f4a089451b855155c016d15785" -EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \ - EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_POSIX_SPAWN -DHAVE_ONESTEP_SYNC ${CFLAGS}'" +EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} EXTRA_CFLAGS='${CFLAGS}'" + +export KBUILD_OUTPUT="${RECIPE_SYSROOT}" do_install () { install -d ${D}/${bindir} diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.12.12.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.12.12.bb deleted file mode 100644 index b0ab46f3f..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.12.12.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "ModemManager is a daemon controlling broadband devices/connections" -DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/" -LICENSE = "GPL-2.0 & LGPL-2.1" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -inherit gnomebase gettext systemd vala gobject-introspection bash-completion - -DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native" - -SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz" -SRC_URI[sha256sum] = "a4fc4b33c0e8ae9372885f86fa033f3c1a89a76cd59a3458670eff1824222a3d" -S = "${WORKDIR}/ModemManager-${PV}" - -PACKAGECONFIG ??= "mbim qmi \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \ -" - -PACKAGECONFIG[at] = "--with-at-command-via-dbus" -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,," -PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit" -# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol. -PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim" -# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol. -PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi" - -EXTRA_OECONF = " \ - --with-udev-base-dir=${nonarch_base_libdir}/udev \ -" -EXTRA_OECONF_append_toolchain-clang = " --enable-more-warnings=no" - -FILES_${PN} += " \ - ${datadir}/icons \ - ${datadir}/polkit-1 \ - ${datadir}/dbus-1 \ - ${datadir}/ModemManager \ - ${libdir}/ModemManager \ - ${systemd_unitdir}/system \ -" - -FILES_${PN}-dev += " \ - ${libdir}/ModemManager/*.la \ -" - -FILES_${PN}-staticdev += " \ - ${libdir}/ModemManager/*.a \ -" - -FILES_${PN}-dbg += "${libdir}/ModemManager/.debug" - -SYSTEMD_SERVICE_${PN} = "ModemManager.service" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.2.bb new file mode 100644 index 000000000..d5fe9bf00 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.2.bb @@ -0,0 +1,53 @@ +SUMMARY = "ModemManager is a daemon controlling broadband devices/connections" +DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/" +LICENSE = "GPL-2.0 & LGPL-2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +inherit gnomebase gettext systemd vala gobject-introspection bash-completion + +DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native" + +SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz" +SRC_URI[sha256sum] = "5fb5553aecd6eb9d6d8ecd130a24f3461e5f93c5f91a0e4ae0508b5228e8b0be" +S = "${WORKDIR}/ModemManager-${PV}" + +PACKAGECONFIG ??= "mbim qmi \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \ +" + +PACKAGECONFIG[at] = "--with-at-command-via-dbus" +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,," +PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit" +# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol. +PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim" +# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol. +PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi" + +EXTRA_OECONF = " \ + --with-udev-base-dir=${nonarch_base_libdir}/udev \ +" + +FILES_${PN} += " \ + ${datadir}/icons \ + ${datadir}/polkit-1 \ + ${datadir}/dbus-1 \ + ${datadir}/ModemManager \ + ${libdir}/ModemManager \ + ${systemd_unitdir}/system \ +" + +FILES_${PN}-dev += " \ + ${libdir}/ModemManager/*.la \ +" + +FILES_${PN}-staticdev += " \ + ${libdir}/ModemManager/*.a \ +" + +FILES_${PN}-dbg += "${libdir}/ModemManager/.debug" + +SYSTEMD_SERVICE_${PN} = "ModemManager.service" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/0001-Fix-bug-of-free-with-musl.patch b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/0001-Fix-bug-of-free-with-musl.patch deleted file mode 100644 index 12f9e7abc..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/0001-Fix-bug-of-free-with-musl.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 96233a8382b9520293a48b08dc3b204a21205800 Mon Sep 17 00:00:00 2001 -From: Wang Mingyu -Date: Fri, 24 Apr 2020 00:53:19 +0900 -Subject: [PATCH] Fix bug of free() with musl - -This fixes build error with musl C library: -/ubinux-dev/ubinux001/contribution/build/tmp/work/armv7vet2hf-neon-poky-linux-musleabi/paho-mqtt-c/1.3.2-r0/git/src/Heap.h:55:24: -error: expected declaration specifiers or '...' before string constant - 55 | #define free(x) myfree(__FILE__, __LINE__, x) - | ^~~~~~~~ -/ubinux-dev/ubinux001/contribution/build/tmp/work/armv7vet2hf-neon-poky-linux-musleabi/paho-mqtt-c/1.3.2-r0/git/src/Heap.h:55:34: -error: expected declaration specifiers or '...' before numeric constant - 55 | #define free(x) myfree(__FILE__, __LINE__, x) - | ^~~~~~~~ - -Signed-off-by: Wang Mingyu ---- - src/MQTTReasonCodes.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/MQTTReasonCodes.c b/src/MQTTReasonCodes.c -index 416eab5..479dbac 100644 ---- a/src/MQTTReasonCodes.c -+++ b/src/MQTTReasonCodes.c -@@ -16,10 +16,10 @@ - - #include "MQTTReasonCodes.h" - --#include "Heap.h" - #include "StackTrace.h" - - #include -+#include "Heap.h" - - #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) - --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.4.bb deleted file mode 100644 index 2d4e39bf9..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.4.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols" -DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)." -HOMEPAGE = "http://www.eclipse.org/paho/" -SECTION = "console/network" -LICENSE = "EPL-2.0 | EDL-1.0" - -LIC_FILES_CHKSUM = " \ - file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \ - file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ - file://notice.html;md5=943f861069889acecebf51dfa24478e2 \ - file://about.html;md5=e5662cbb5f8fd5c9faac526e4077898e \ -" - -SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http \ - file://0001-Fix-bug-of-free-with-musl.patch" - -SRCREV = "2d3d0941a9233889d4d5cc37f5182bbefea261ad" - -DEPENDS = "openssl" - -S = "${WORKDIR}/git" - -inherit cmake - -do_configure_prepend() { - sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt -} - -do_install_append() { - # paho-mqtt installes some thing that we don't want. - rm -rf ${D}${prefix}/samples - find ${D}${prefix} -maxdepth 1 -type f -delete -} - -EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.5.bb new file mode 100644 index 000000000..673a24742 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.5.bb @@ -0,0 +1,34 @@ +SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols" +DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)." +HOMEPAGE = "http://www.eclipse.org/paho/" +SECTION = "console/network" +LICENSE = "EPL-2.0 | EDL-1.0" + +LIC_FILES_CHKSUM = " \ + file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \ + file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ + file://notice.html;md5=943f861069889acecebf51dfa24478e2 \ + file://about.html;md5=e5662cbb5f8fd5c9faac526e4077898e \ +" + +SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http" + +SRCREV = "153dfd3a4a1d510697c5d55e169fa158db16e04a" + +DEPENDS = "openssl" + +S = "${WORKDIR}/git" + +inherit cmake + +do_configure_prepend() { + sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt +} + +do_install_append() { + # paho-mqtt installes some thing that we don't want. + rm -rf ${D}${prefix}/samples + find ${D}${prefix} -maxdepth 1 -type f -delete +} + +EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb index b985d39ab..473ceabcf 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb @@ -9,7 +9,7 @@ inherit pkgconfig DEPENDS = "wvstreams" RDEPENDS_${PN} = "ppp" -SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.bz2 \ +SRC_URI = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${BPN}/${BP}.tar.bz2 \ file://typo_pon.wvdial.1.patch \ file://musl-support.patch \ " diff --git a/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb index 20becaf57..57163ce65 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" DEPENDS = "zlib openssl (>= 0.9.8) dbus readline" DEPENDS_append_libc-musl = " argp-standalone libexecinfo" -SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \ +SRC_URI = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${BPN}/${BP}.tar.gz \ file://04_signed_request.diff \ file://05_gcc.diff \ file://06_gcc-4.7.diff \ diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch index eb3dee4d3..3b0300c8a 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch +++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch @@ -1,6 +1,7 @@ +From 24ad50286a87833329213dc0b0e68c21aeeee95f Mon Sep 17 00:00:00 2001 From: Niko Mauno -Date: Wed Apr 22 09:00:00 2020 +0300 -Subject: CMakeLists.txt: Avoid host-specific path to libsodium +Date: Wed, 22 Apr 2020 09:00:00 +0300 +Subject: [PATCH] CMakeLists.txt: Avoid host-specific path to libsodium Avoid propagating full build host specific path to generated ZeroMQTargets.cmake when building with libsodium, which changes the @@ -17,10 +18,16 @@ Upstream-Status: Pending Signed-off-by: Niko Mauno +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e92141d..d0775c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1210,7 +1210,7 @@ - target_link_libraries(libzmq ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) +@@ -1428,7 +1428,7 @@ if(BUILD_SHARED) + endif() if(SODIUM_FOUND) - target_link_libraries(libzmq ${SODIUM_LIBRARIES}) @@ -28,8 +35,8 @@ Signed-off-by: Niko Mauno # On Solaris, libsodium depends on libssp if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS") target_link_libraries(libzmq ssp) -@@ -1240,7 +1240,7 @@ - target_link_libraries(libzmq-static ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) +@@ -1473,7 +1473,7 @@ if(BUILD_STATIC) + endif() if(SODIUM_FOUND) - target_link_libraries(libzmq-static ${SODIUM_LIBRARIES}) diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb deleted file mode 100644 index 02a4c04fd..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework" -HOMEPAGE = "http://www.zeromq.org" -LICENSE = "LGPLv3+" -LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1" - -PACKAGECONFIG ??= "libsodium" -PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium" - -SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \ - file://0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch \ - file://run-ptest \ -" -SRC_URI[md5sum] = "2047e917c2cc93505e2579bcba67a573" -SRC_URI[sha256sum] = "ebd7b5c830d6428956b67a0454a7f8cbed1de74b3b01e5c33c5378e22740f763" - -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/libzmq/releases" - -inherit cmake ptest pkgconfig - -EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTS=ON', '-DBUILD_TESTS=OFF', d)} \ - -DCMAKE_SKIP_RPATH=ON \ -" - -do_install_ptest () { - install -d ${D}${PTEST_PATH}/tests - install -m 0755 ${B}/bin/test_* ${D}${PTEST_PATH}/tests -} - -FILES_${PN}-doc += "${datadir}/zmq/*.txt" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.3.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.3.bb new file mode 100644 index 000000000..a10500475 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.3.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework" +HOMEPAGE = "http://www.zeromq.org" +LICENSE = "LGPLv3+" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1" + +PACKAGECONFIG ??= "libsodium" +PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium" + +SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \ + file://0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch \ + file://run-ptest \ +" +SRC_URI[md5sum] = "78acc277d95e10812d71b2b3c3c3c9a9" +SRC_URI[sha256sum] = "9d9285db37ae942ed0780c016da87060497877af45094ff9e1a1ca736e3875a2" + +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/libzmq/releases" + +inherit cmake ptest pkgconfig + +EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTS=ON', '-DBUILD_TESTS=OFF', d)} \ + -DCMAKE_SKIP_RPATH=ON \ +" + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/bin/test_* ${D}${PTEST_PATH}/tests +} + +FILES_${PN}-doc += "${datadir}/zmq/*.txt" diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 0812da1af..46cc935c6 100644 --- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -4,7 +4,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" inherit packagegroup PROVIDES = "${PACKAGES}" -PACKAGES = ' \ +PACKAGES = "\ packagegroup-meta-oe \ packagegroup-meta-oe-benchmarks \ packagegroup-meta-oe-connectivity \ @@ -17,27 +17,32 @@ PACKAGES = ' \ packagegroup-meta-oe-kernel \ packagegroup-meta-oe-multimedia \ packagegroup-meta-oe-navigation \ + packagegroup-meta-oe-printing \ + packagegroup-meta-oe-shells \ packagegroup-meta-oe-security \ packagegroup-meta-oe-support \ packagegroup-meta-oe-test \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-meta-oe-ptest-packages", "", d)} \ -' +" +#PACKAGES += "packagegroup-meta-oe-fortran-packages" RDEPENDS_packagegroup-meta-oe = "\ packagegroup-meta-oe-benchmarks \ + packagegroup-meta-oe-bsp \ packagegroup-meta-oe-connectivity \ packagegroup-meta-oe-core \ packagegroup-meta-oe-crypto \ - packagegroup-meta-oe-bsp \ packagegroup-meta-oe-dbs \ packagegroup-meta-oe-devtools \ packagegroup-meta-oe-extended \ packagegroup-meta-oe-kernel \ packagegroup-meta-oe-multimedia \ packagegroup-meta-oe-navigation \ + packagegroup-meta-oe-printing \ packagegroup-meta-oe-security \ + packagegroup-meta-oe-shells \ packagegroup-meta-oe-support \ packagegroup-meta-oe-test \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \ @@ -46,12 +51,31 @@ RDEPENDS_packagegroup-meta-oe = "\ " RDEPENDS_packagegroup-meta-oe-benchmarks = "\ - dhrystone iperf2 linpack phoronix-test-suite \ - tiobench bonnie++ fio iperf2 iperf3 lmbench s-suite whetstone \ - libc-bench memtester sysbench dbench iozone3 libhugetlbfs \ - nbench-byte tinymembench \ + bonnie++ \ + dbench \ + dhrystone \ + fio \ ${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "glmark2", "", d)} \ + iozone3 \ + iperf2 \ + iperf3 \ + libc-bench \ + libhugetlbfs \ + linpack \ + lmbench \ + memtester \ + nbench-byte \ + phoronix-test-suite \ + s-suite \ + stressapptest \ + sysbench \ + tinymembench \ + tiobench \ + whetstone \ " +RDEPENDS_packagegroup-meta-oe-benchmarks_append_armv7a = " cpuburn-arm" +RDEPENDS_packagegroup-meta-oe-benchmarks_append_armv7ve = " cpuburn-arm" +RDEPENDS_packagegroup-meta-oe-benchmarks_append_aarch64 = " cpuburn-arm" RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mipsarch = "libhugetlbfs" RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mips64 = "tinymembench" @@ -59,234 +83,820 @@ RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mips64el = "tinymembench" RDEPENDS_packagegroup-meta-oe-benchmarks_remove_riscv64 = "libhugetlbfs" RDEPENDS_packagegroup-meta-oe-benchmarks_remove_riscv32 = "libhugetlbfs" +RDEPENDS_packagegroup-meta-oe-bsp ="\ + acpitool \ + cpufrequtils \ + edac-utils \ + flashrom \ + irda-utils \ + lmsensors-config-cgi \ + lmsensors-config-fancontrol \ + lmsensors-config-sensord \ + lmsensors \ + lsscsi \ + nvme-cli \ + pcmciautils \ + pointercal \ +" +RDEPENDS_packagegroup-meta-oe-bsp_append_x86 = " ledmon" +RDEPENDS_packagegroup-meta-oe-bsp_append_x86-64 = " ledmon" + +RDEPENDS_packagegroup-meta-oe-bsp_remove_libc-musl = "ledmon" +RDEPENDS_packagegroup-meta-oe-bsp_remove_mipsarch = "efivar efibootmgr" +RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc = "efivar efibootmgr" +RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64 = "efivar efibootmgr" +RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64le = "efivar efibootmgr" +RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv64 = "efivar efibootmgr" +RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv32 = "efivar efibootmgr" + RDEPENDS_packagegroup-meta-oe-connectivity ="\ - gammu hostapd irssi krb5 libev libimobiledevice \ - libmbim libmtp libndp libqmi libtorrent \ - libuv libwebsockets linuxptp loudmouth \ - modemmanager mosh \ - paho-mqtt-c phonet-utils rabbitmq-c rfkill rtorrent \ - ser2net smstools3 telepathy-glib thrift \ - usbmuxd zabbix zeromq \ + gammu \ + gattlib \ + gensio \ + hostapd \ + ifplugd \ + irssi \ + iwd \ + krb5 \ + libev \ + libimobiledevice \ + libmbim \ + libmtp \ + libndp \ + libnet \ + libqmi \ + libtorrent \ + libuv \ + libwebsockets \ + linuxptp \ + loudmouth \ + modemmanager \ + mosh \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "obex-data-server", "", d)} \ - libmikmod \ - obexftp openobex libnet \ + openobex \ + obexftp \ + packagegroup-tools-bluetooth \ + paho-mqtt-c \ + phonet-utils \ + rabbitmq-c \ + rfkill \ + rtorrent \ + ser2net \ + smstools3 \ + telepathy-glib \ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "telepathy-idle", "", d)} \ - " + thrift \ + usbmuxd \ + wifi-test-suite \ + zabbix \ + czmq \ + zeromq \ +" + RDEPENDS_packagegroup-meta-oe-connectivity_append_libc-glibc = " wvstreams wvdial" # dracut needs dracut -RDEPENDS_packagegroup-meta-oe-core ="\ - dbus-daemon-proxy libdbus-c++ \ - ell glibmm libsigc++-2.0 libxml++ distro-feed-configs \ - mm-common opencl-headers opencl-icd-loader \ - proxy-libintl usleep \ - ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "dbus-broker ndctl", "", d)} \ - " +RDEPENDS_packagegroup-meta-oe-core = "\ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "dbus-broker", "", d)} \ + dbus-daemon-proxy \ + libdbus-c++ \ + emlog \ + kernel-module-emlog \ + glibmm \ + libnfc \ + libsigc++-2.0 \ + libsigc++-3 \ + libxml++ \ + mdbus2 \ + distro-feed-configs \ + mm-common \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "ndctl", "", d)} \ + opencl-icd-loader \ + proxy-libintl \ + safec \ + sdbus-c++-tools \ + sdbus-c++ \ + toybox \ + usleep \ +" +RDEPENDS_packagegroup-meta-oe-core_append_libc-glibc = " glfw" +RDEPENDS_packagegroup-meta-oe-core_remove_riscv64 = "safec" +RDEPENDS_packagegroup-meta-oe-core_remove_riscv32 = "safec" RDEPENDS_packagegroup-meta-oe-crypto ="\ - botan cryptsetup libkcapi libmcrypt \ - libsodium pkcs11-helper \ - " -RDEPENDS_packagegroup-meta-oe-bsp ="\ - acpitool cpufrequtils edac-utils efibootmgr \ - efivar flashrom lmsensors lmsensors-config \ - lsscsi nvme-cli pcmciautils pointercal \ - " -RDEPENDS_packagegroup-meta-oe-bsp_remove_mipsarch = "efivar efibootmgr" -RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc = "efivar efibootmgr" -RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64 = "efivar efibootmgr" -RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64le = "efivar efibootmgr" -RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv64 = "efivar efibootmgr" -RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv32 = "efivar efibootmgr" + botan \ + cryptsetup \ + libkcapi \ + libmcrypt \ + libsodium \ + pkcs11-helper \ +" RDEPENDS_packagegroup-meta-oe-dbs ="\ - leveldb libdbi mariadb mariadb-native \ - postgresql psqlodbc rocksdb soci \ - sqlite \ + leveldb \ + libdbi \ + mariadb \ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "mysql-python", "", d)} \ - " + postgresql \ + psqlodbc \ + rocksdb \ + soci \ + sqlite \ +" RDEPENDS_packagegroup-meta-oe-devtools ="\ - android-tools android-tools-conf bootchart breakpad \ - capnproto cgdb cscope ctags \ - debootstrap dmalloc flatbuffers \ - giflib grpc icon-slicer iptraf-ng jq jsoncpp jsonrpc json-spirit \ - kconfig-frontends lemon libedit libgee libsombok3 \ - libubox log4cplus lshw ltrace lua mcpp memstat mercurial \ - mpich msgpack-c nlohmann-json openocd pax-utils \ - ipc-run libdbd-mysql-perl libdbi-perl libio-pty-perl php \ - protobuf protobuf-c \ - rapidjson serialcheck sip3 tclap uftrace uw-imap valijson \ - xmlrpc-c yajl yasm \ - ${@bb.utils.contains("DISTRO_FEATURES", "x11", "geany geany-plugins glade tk", "", d)} \ + abseil-cpp \ + breakpad \ + bootchart \ + android-tools-conf \ + android-tools \ + concurrencykit \ + cgdb \ + ctags \ + debootstrap \ + cjson \ + cloc \ + icon-slicer \ + cscope \ + dmalloc \ + ${@bb.utils.contains("PACKAGE_CLASSES", "package_rpm", "dnf-plugin-tui", "", d)} \ + doxygen \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "geany-plugins geany", "", d)} \ + lemon \ + flatbuffers \ + libubox \ + ltrace \ + lua \ + luajit \ + mcpp \ + memstat \ + giflib \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "glade", "", d)} \ + grpc \ + guider \ + php \ + iptraf-ng \ + jq \ + json-spirit \ + serialcheck \ + tclap \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "tk", "", d)} \ + uw-imap \ + jsoncpp \ + jsonrpc \ + yajl \ + yajl \ + kconfig-frontends \ + ldns \ + libgee \ + libsombok3 \ + lshw \ + luaposix \ + capnproto-compiler \ + mpich \ + msgpack-c \ + mercurial \ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "nodejs", "", d)} \ - " + openocd \ + pax-utils \ + ipc-run \ + libdbd-mysql-perl \ + libdbi-perl \ + libdev-checklib-perl \ + libio-pty-perl \ + libjson-perl \ + libperlio-gzip-perl \ + ply \ + protobuf-c \ + protobuf \ + pugixml \ + python3-distutils-extra \ + rapidjson \ + sip3 \ + uftrace \ + libxerces-c \ + xerces-c-samples \ + xmlrpc-c \ + yasm \ + json-schema-validator \ +" +RDEPENDS_packagegroup-meta-oe-devtools_append_x86 = " cpuid msr-tools pmtools" +RDEPENDS_packagegroup-meta-oe-devtools_append_x86-64 = " cpuid msr-tools pcimem pmtools" +RDEPENDS_packagegroup-meta-oe-devtools_append_arm = " pcimem" +RDEPENDS_packagegroup-meta-oe-devtools_append_aarch64 = " pcimem" +RDEPENDS_packagegroup-meta-oe-devtools_remove_arm = "concurrencykit" RDEPENDS_packagegroup-meta-oe-devtools_remove_armv5 = "uftrace nodejs" -RDEPENDS_packagegroup-meta-oe-devtools_remove_mipsarch = "uftrace lshw" -RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64 = "nodejs" -RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64el = "nodejs" -RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc = "android-tools breakpad uftrace lshw" -RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64 = "android-tools uftrace lshw" -RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64le = "android-tools uftrace lshw" -RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "breakpad ltrace nodejs uftrace lshw" -RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "breakpad ltrace nodejs uftrace lshw" +RDEPENDS_packagegroup-meta-oe-devtools_remove_mipsarch = "concurrencykit lshw ply uftrace" +RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64 = "luajit nodejs" +RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64el = "luajit nodejs" +RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc = "android-tools breakpad lshw luajit uftrace" +RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64 = "android-tools lshw luajit uftrace" +RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64le = "android-tools lshw luajit uftrace" +RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "breakpad concurrencykit lshw ltrace luajit nodejs ply uftrace" +RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "breakpad concurrencykit lshw ltrace luajit nodejs ply uftrace" +RDEPENDS_packagegroup-meta-oe-devtools_remove_aarch64 = "${@bb.utils.contains("TUNE_FEATURES", "crypto", "", "abseil-cpp", d)} concurrencykit" +RDEPENDS_packagegroup-meta-oe-devtools_remove_x86-64 = "${@bb.utils.contains("TUNE_FEATURES", "corei7", "", "abseil-cpp", d)}" +RDEPENDS_packagegroup-meta-oe-devtools_remove_x86 = "ply" RDEPENDS_packagegroup-meta-oe-extended ="\ - byacc cfengine cfengine-masterfiles cmpi-bindings \ - ddrescue dialog dumb-init enscript fluentbit \ - haveged hexedit hiredis hplip hwloc indent iotop isomd5sum \ - jansson konkretcmpi libblockdev libcec libconfig \ - libdivecomputer libplist libusbmuxd \ - liblockfile liblogging liblognorm libmodbus libmodbus \ - libpwquality libqb libuio \ - lockfile-progs logwatch lprng mailx md5deep \ - mraa nana nicstat \ - p7zip p8platform libfile-fnmatch-perl \ - rarpd redis rrdtool libfastjson librelp rsyslog sanlock \ - sblim-cmpi-devel sblim-sfc-common sblim-sfcc \ - scsirastools sgpio smartmontools snappy \ - can-utils libsocketcan tipcutils tiptop \ - tmux uml-utilities upm vlock volume-key wipe zlog zram \ ${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "boinc-client", "", d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "x11", " libgxim gnuplot libwmf", "", d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "bluez", "collectd", "", d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-plugin-ccreds pam-plugin-ldapdb", "", d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-ssh-agent-auth openwsman sblim-sfcb ", "", d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit polkit-group-rule-datetime ", "", d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit-group-rule-network ", "", d)} \ - ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "openlmi-tools", "", d)} \ - " -RDEPENDS_packagegroup-meta-oe-extended_remove_mipsarch = "upm mraa tiptop" -RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc = "upm mraa" -RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64 = "upm mraa" + brotli \ + byacc \ + cmpi-bindings \ + collectd \ + cfengine-masterfiles \ + cfengine \ + ddrescue \ + dialog \ + enscript \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gnuplot", "", d)} \ + dlt-daemon \ + docopt.cpp \ + iotop \ + dumb-init \ + konkretcmpi \ + figlet \ + libcec \ + libdivecomputer \ + fluentbit \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libgxim", "", d)} \ + liblognorm \ + libmodbus \ + haveged \ + hexedit \ + hiredis \ + hplip \ + hwloc \ + libuio \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libwmf", "", d)} \ + lprng \ + icewm \ + md5deep \ + indent \ + jansson \ + nana \ + nicstat \ + ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "openlmi-tools", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "pam", "openwsman", "", d)} \ + p7zip \ + isomd5sum \ + jpnevulator \ + ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit-group-rule-datetime polkit-group-rule-network polkit", "", d)} \ + rarpd \ + redis \ + libfastjson \ + librelp \ + sblim-cmpi-devel \ + sblim-sfc-common \ + ${@bb.utils.contains("DISTRO_FEATURES", "pam", "sblim-sfcb ", "", d)} \ + sblim-sfcc \ + libblockdev \ + sgpio \ + smartmontools \ + can-utils \ + canutils \ + libsocketcan \ + libconfig \ + uml-utilities \ + libidn \ + libqb \ + wipe \ + libzip \ + zram \ + libplist \ + libusbmuxd \ + liblockfile \ + liblogging \ + libnss-nisplus \ + libpwquality \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "libreport", "", d)} \ + libserialport \ + libstatgrab \ + lockfile-progs \ + logwatch \ + mailx \ + mraa \ + ostree \ + ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-plugin-ccreds pam-plugin-ldapdb pam-ssh-agent-auth", "", d)} \ + pegtl \ + libfile-fnmatch-perl \ + rrdtool \ + sanlock \ + scsirastools \ + sedutil \ + libsigrok \ + libsigrokdecode \ + sigrok-cli \ + snappy \ + tipcutils \ + tiptop \ + tmux \ + triggerhappy \ + upm \ + vlock \ + volume-key \ + wxwidgets \ + zlog \ + zstd \ + redis-plus-plus \ +" +RDEPENDS_packagegroup-meta-oe-extended_append_libc-musl = " libexecinfo" +RDEPENDS_packagegroup-meta-oe-extended_append_x86-64 = " pmdk libx86-1" +RDEPENDS_packagegroup-meta-oe-extended_append_x86 = " libx86-1" + +RDEPENDS_packagegroup-meta-oe-extended_remove_libc-musl = "libnss-nisplus sysdig" +RDEPENDS_packagegroup-meta-oe-extended_remove_mipsarch = "upm mraa minifi-cpp tiptop" +RDEPENDS_packagegroup-meta-oe-extended_remove_mips = "sysdig" +RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc = "upm mraa minifi-cpp" +RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64 = "upm mraa minifi-cpp" RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64le = "upm mraa" -RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm mraa tiptop" -RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm mraa tiptop" +RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm mraa sysdig tiptop" +RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm mraa sysdig tiptop" RDEPENDS_packagegroup-meta-oe-gnome ="\ - atkmm gnome-common gnome-doc-utils-stub gtkmm \ - gtkmm3 pyxdg vte9 \ - " + atkmm \ + gcab \ + gnome-common \ + gmime \ + libjcat \ + gtk+ \ + gtkmm3 \ + gtkmm \ + libpeas \ + pyxdg \ + vte9 \ + gnome-theme-adwaita \ + libxmlb \ +" RDEPENDS_packagegroup-meta-oe-graphics ="\ - cairomm dietsplash directfb directfb-examples \ - ${@bb.utils.contains("PACKAGE_CLASSES", "package_rpm", "dnfdragora dnf-plugin-tui", "", d)} \ - fbgrab fbida fontforge fvwm glm gphoto2 libgphoto2 \ - gtkperf jasper leptonica libmng libsdl2-image libsdl2-mixer libsdl2-net \ - libsdl-gfx libsdl-image libsdl-mixer libsdl-net libsdl-ttf \ - libvncserver libyui libyui-ncurses lxdm numlockx openbox openjpeg \ - packagegroup-fonts-truetype pangomm qrencode takao-fonts terminus-font \ - tesseract tesseract-lang tigervnc tslib source-han-sans-cn-fonts \ - source-han-sans-jp-fonts source-han-sans-kr-fonts source-han-sans-tw-fonts ttf-abyssinica \ - libvdpau x11vnc xcursorgen xdotool \ - bdftopcf iceauth sessreg setxkbmap twm xclock xfontsel xgamma xkbevd xkbprint xkbutils \ - xlsatoms xlsclients xlsfonts xmag xmessage xrdb xrefresh xsetmode xsetroot xstdcmap \ - xterm xwd xwud xbitmaps xorg-sgml-doctools \ - font-adobe-100dpi font-adobe-utopia-100dpi \ - font-bh-100dpi font-bh-lucidatypewriter-100dpi font-bitstream-100dpi font-cursor-misc \ - font-misc-misc xorg-fonts-100dpi liblbxutil libxaw libxkbui libxpresent xserver-common \ - ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "freeglut libsdl2-ttf", "", d)} \ - " - + cairomm \ + directfb-examples \ + directfb \ + fbgrab \ + dietsplash \ + ${@bb.utils.contains("PACKAGE_CLASSES", "package_rpm", "dnfdragora", "", d)} \ + fontforge \ + fbida \ + ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "freeglut", "", d)} \ + ftgl \ + fvwm \ + gtkperf \ + gphoto2 \ + libgphoto2 \ + graphviz \ + gtkwave \ + jasper \ + libforms \ + lxdm \ + numlockx \ + openbox \ + packagegroup-fonts-truetype \ + qrencode \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "st", "", d)} \ + takao-fonts \ + leptonica \ + libvncserver \ + libmng \ + libsdl-gfx \ + libsdl-image \ + libsdl-mixer \ + libsdl-net \ + libsdl-ttf \ + libsdl2-image \ + libsdl2-mixer \ + libsdl2-net \ + ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "libsdl2-ttf", "", d)} \ + libsdl \ + ttf-arphic-uming \ + ttf-droid-sans ttf-droid-sans-mono ttf-droid-sans-fallback ttf-droid-sans-japanese ttf-droid-serif \ + ttf-abyssinica \ + source-han-sans-cn-fonts \ + source-han-sans-jp-fonts \ + source-han-sans-kr-fonts \ + source-han-sans-tw-fonts \ + source-code-pro-fonts \ + ttf-dejavu-sans \ + ttf-dejavu-sans-condensed \ + ttf-dejavu-sans-mono \ + ttf-dejavu-serif \ + ttf-dejavu-serif-condensed \ + ttf-dejavu-mathtexgyre \ + ttf-dejavu-common \ + ttf-gentium \ + ttf-hunky-sans \ + ttf-hunky-serif \ + ttf-lohit \ + ttf-inconsolata \ + ttf-liberation-sans-narrow \ + ttf-liberation-mono \ + ttf-liberation-sans \ + ttf-liberation-serif \ + ttf-lklug \ + ttf-noto-emoji-color \ + ttf-noto-emoji-regular \ + ttf-sazanami-gothic \ + ttf-sazanami-mincho \ + ttf-tlwg \ + ttf-roboto \ + ttf-wqy-zenhei \ + ttf-pt-sans \ + ttf-vlgothic \ + ttf-ubuntu-mono \ + ttf-ubuntu-sans \ + libyui-ncurses \ + libyui \ + x11vnc \ + terminus-font-consolefonts \ + terminus-font-pcf \ + xdotool \ + xkbevd \ + bdftopcf \ + iceauth \ + sessreg \ + xgamma \ + setxkbmap \ + xkbutils \ + twm \ + xclock \ + xfontsel \ + xkbprint \ + xsetmode \ + xlsatoms \ + xlsclients \ + xlsfonts \ + xmag \ + xmessage \ + xrdb \ + xrefresh \ + xsetroot \ + xstdcmap \ + xterm \ + xwd \ + xwud \ + xorg-sgml-doctools \ + xf86-input-tslib \ + xf86-input-void \ + xf86-video-armsoc \ + xf86-video-ati \ + font-adobe-100dpi \ + font-adobe-utopia-100dpi \ + font-bh-100dpi \ + font-bh-lucidatypewriter-100dpi \ + font-bitstream-100dpi \ + font-cursor-misc \ + font-misc-misc \ + xorg-fonts-100dpi \ + liblbxutil \ + libxaw6 \ + libxkbui \ + libxpresent \ + xcb-util-cursor \ + xserver-common \ + openjpeg \ + pangomm \ + spirv-shader-generator \ + spirv-tools \ + stalonetray \ + surf \ + tesseract-lang \ + tesseract \ + tigervnc \ + tslib \ + unclutter-xfixes \ + libvdpau \ + xcursorgen \ + xscreensaver \ + yad \ + parallel-deqp-runner \ + ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "opengl-es-cts", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "opengl vulkan", "vulkan-cts", "", d)} \ +" +RDEPENDS_packagegroup-meta-oe-graphics_append_x86 = " renderdoc xf86-video-nouveau xf86-video-mga" +RDEPENDS_packagegroup-meta-oe-graphics_append_x86-64 = " renderdoc xf86-video-nouveau xf86-video-mga" +RDEPENDS_packagegroup-meta-oe-graphics_append_arm = " renderdoc" +RDEPENDS_packagegroup-meta-oe-graphics_append_aarch64 = " renderdoc" +RDEPENDS_packagegroup-meta-oe-graphics_remove_libc-musl = "renderdoc" RDEPENDS_packagegroup-meta-oe-kernel ="\ - agent-proxy broadcom-bt-firmware cpupower \ - crash ipmitool minicoredumper oprofile \ - " -RDEPENDS_packagegroup-meta-oe-kernel_append_x86 = " pm-graph " -RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " pm-graph " + agent-proxy \ + crash \ + cpupower \ + ipmitool \ + broadcom-bt-firmware \ + kernel-selftest \ + minicoredumper \ + oprofile \ + spidev-test \ +" +RDEPENDS_packagegroup-meta-oe-kernel_append_x86 = " intel-speed-select ipmiutil pm-graph turbostat" +RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " intel-speed-select ipmiutil kpatch pm-graph turbostat" +RDEPENDS_packagegroup-meta-oe-kernel_append_poerpc64 = " libpfm4" -RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "crash minicoredumper" +# Kernel-selftest does not build with 5.8 and its exluded from build too so until its fixed remove it +RDEPENDS_packagegroup-meta-oe-kernel_remove = "kernel-selftest" +RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "crash intel-speed-select kernel-selftest minicoredumper turbostat" +RDEPENDS_packagegroup-meta-oe-kernel_remove_mipsarch = "makedumpfile" RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64 = "crash" RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64el = "crash" -RDEPENDS_packagegroup-meta-oe-kernel_remove_riscv64 = "crash oprofile" -RDEPENDS_packagegroup-meta-oe-kernel_remove_riscv32 = "crash oprofile" +RDEPENDS_packagegroup-meta-oe-kernel_remove_riscv64 = "crash makedumpfile oprofile" +RDEPENDS_packagegroup-meta-oe-kernel_remove_riscv32 = "crash makedumpfile oprofile" RDEPENDS_packagegroup-meta-oe-multimedia ="\ - alsa-oss audiofile cdrkit id3lib \ - a2jmidid jack libass libburn libcdio libcdio-paranoia \ - libdvdread libmms libmodplug libopus live555 \ - opus-tools \ - sound-theme-freedesktop v4l-utils yavta wavpack libvpx \ - ${@bb.utils.contains("DISTRO_FEATURES", "x11", "xpext pavucontrol xsp", "", d)} \ + alsa-oss \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "faad2", "", d)} \ + cdrkit \ + id3lib \ + audiofile \ + a2jmidid \ + jack-server \ + jack-utils \ + libass \ + libburn \ + libcdio-paranoia \ + libcdio \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libmad", "", d)} \ + libmms \ + libdvdread \ + libopus \ + live555-examples \ + live555-mediaserver \ libmikmod \ - ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libmad faad2 mpv", "", d)} \ - " + opus-tools \ + libmodplug \ + sound-theme-freedesktop \ + yavta \ + v4l-utils \ + wavpack \ + libvpx \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "xsp", "", d)} \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "mpv", "", d)} \ + pipewire \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pavucontrol", "", d)} \ + libopusenc \ +" + RDEPENDS_packagegroup-meta-oe-multimedia_remove_libc-musl = "alsa-oss" RDEPENDS_packagegroup-meta-oe-navigation ="\ - geoclue geos libspatialite proj \ + geos \ + ${@bb.utils.contains("DISTRO_FEATURES", "bluz4", "gpsd-machine-conf gpsd", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "orrery", "", d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "bluz4", "gpsd gpsd-machine-conf", "", d)} \ - " + geoclue \ + libspatialite \ + proj \ +" + +RDEPENDS_packagegroup-meta-oe-printing ="\ + cups-filters \ + qpdf \ +" RDEPENDS_packagegroup-meta-oe-security ="\ - tomoyo-tools \ + keyutils \ + nmap \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "passwdqc", "", d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "bluz5", "nmap", "", d)} \ - " + softhsm \ + tomoyo-tools \ +" RDEPENDS_packagegroup-meta-oe-shells ="\ - dash tcsh zsh \ - " - -NE10 = "" -NE10_aarch64 = "ne10" -NE10_armv7a = "ne10" -NE10_armv7ve = "ne10" + dash \ + mksh \ + tcsh \ + zsh \ +" RDEPENDS_packagegroup-meta-oe-support ="\ - anthy asio atop augeas avro-c bdwgc frame grail c-ares \ - ccid ceres-solver ckermit cpprest ctapi-common daemonize \ - daemontools devmem2 dfu-util dfu-util-native digitemp \ - dstat eject enca epeg espeak fbset fbset-modes \ - fftw fltk-native gd gflags glog gnulib gperftools \ - gpm gradm gsl gsoap hddtemp hidapi htop hunspell hwdata iksemel \ - libinih inotify-tools joe lcms lcov libatasmart libbytesize \ - libcereal libcyusbserial libee libeigen libestr libftdi libgit2 \ - libgpiod libiio libjs-jquery libjs-sizzle liblinebreak libmicrohttpd \ - libmxml liboauth libol liboop libp11 libraw1394 libsmi libsoc libssh2 \ - libssh libtar libteam libtinyxml2 libtinyxml libusbg libusb-compat libutempter \ - links lockdev log4c log4cpp logwarn libdevmapper lvm2 \ - mailcap mbuffer mg minini \ - multipath-tools nano neon nmon numactl onig openct openldap \ - opensc wbxml2 p910nd pcsc-lite picocom libotr pidgin \ - pngcheck poco poppler poppler-data portaudio-v19 pps-tools \ - pv pxaregs raptor2 rdfind read-edid rsnapshot \ - satyr sdparm pty-forward-native serial-forward \ - sg3-utils sharutils spitools srecord ssiapi stm32flash \ - syslog-ng system-config-keyboard tbb thin-provisioning-tools tokyocabinet \ - tree uhubctl unixodbc uriparser usb-modeswitch \ - usb-modeswitch-data uthash utouch-evemu utouch-frame \ - vim vim-tiny websocketpp xdelta3 xdg-user-dirs xmlstarlet \ - zbar zile \ - ${@bb.utils.contains("DISTRO_FEATURES", "x11", "geis toscoterm uim synergy utouch-mtview links-x11 fltk pidgin-otr", "", d)} \ + anthy \ + atop \ + ace-cloud-editor \ + frame \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "geis", "", d)} \ + geis \ + grail \ + asio \ + augeas \ + avro-c \ + bdwgc \ + c-ares \ + cmark \ + ${@bb.utils.contains("DISTRO_FEATURES", "polkit gobject-introspection-data", "colord", "", d)} \ + consolation \ + cpprest \ + ctapi-common \ + dfu-util \ + dhex \ + digitemp \ + dstat \ + espeak \ + exiv2 \ + libnice \ + c-periphery \ + fmt \ + function2 \ + gd \ + gflags \ + glog \ + gperftools \ + gpm \ + gsoap \ + hdf5 \ + htop \ + hunspell-dictionaries \ + hunspell \ + hwdata \ + iksemel \ + gengetopt \ + imagemagick \ + iniparser \ + inotify-tools \ + joe \ + lcms \ + lcov \ + imapfilter \ + libbytesize \ + libcyusbserial \ + libestr \ + libfann \ + libftdi \ + ccid \ + zchunk \ + libgpiod \ + libgpiod \ + ckermit \ + libcereal \ + daemontools \ + libiio \ + devmem2 \ + libgit2 \ + libharu \ + eject \ + enca \ + epeg \ + libmxml \ + fbset-modes \ + fbset \ + liboop \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "fltk", "", d)} \ + freerdp \ + libgusb \ + emacs \ + libp11 \ + libraw1394 \ + gradm \ + gsl \ + librsync \ + hddtemp \ + hidapi \ + libsoc \ + libmimetic \ + libinih \ + libtar \ + libteam \ + libusb-compat \ + libatasmart \ libcanberra \ - ${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "xorgxrdp xrdp", "", d)} \ - procmail \ - ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "udisks2 upower", "", d)} \ - ${NE10} \ + libssh \ + libssh2 \ + libee \ + libusbgx-config \ + libusbgx \ + lockdev \ + logwarn \ + libjs-jquery \ + libjs-sizzle \ + liblinebreak \ + mailcap \ + liboauth \ + libol \ + mg \ + monit \ + mscgen \ + libsmi \ + remmina \ + neon \ + nmon \ + libtinyxml \ + libusbg \ + libutempter \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "links-x11", "links", d)} \ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "lio-utils", "", d)} \ - " - + log4c \ + log4cpp \ + nspr \ + libdevmapper \ + lvm2 \ + nss \ + mbuffer \ + onig \ + mime-support \ + minini \ + multipath-tools \ + numactl \ + clinfo \ + opencv \ + opensc \ + openct \ + openldap \ + wbxml2 \ + p910nd \ + libtinyxml2 \ + picocom \ + funyahoo-plusplus \ + icyque \ + libotr \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pidgin-otr", "", d)} \ + pidgin \ + purple-skypeweb \ + pidgin-sipe \ + pngcheck \ + poco \ + poppler-data \ + poppler \ + portaudio-v19 \ + procmail \ + pxaregs \ + pv \ + rsnapshot \ + pps-tools \ + raptor2 \ + rdfind \ + sdparm \ + serial-forward \ + read-edid \ + spitools \ + libsass \ + sassc \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "synergy", "", d)} \ + syslog-ng \ + system-config-keyboard \ + tbb \ + satyr \ + pcsc-lite \ + sharutils \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "toscoterm", "", d)} \ + sg3-utils \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "uim", "", d)} \ + uchardet \ + srecord \ + ssiapi \ + tree \ + utouch-evemu \ + utouch-frame \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "utouch-mtview", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "udisks2", "", d)} \ + stm32flash \ + tokyocabinet \ + xmlstarlet \ + thin-provisioning-tools \ + uhubctl \ + zile \ + unixodbc \ + daemonize \ + upower \ + xxhash \ + unicode-ucd \ + xdelta3 \ + uriparser \ + nano \ + xdg-user-dirs \ + xmlsec1 \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "xorgxrdp xrdp", "", d)} \ + usb-modeswitch-data \ + usb-modeswitch \ + liburing \ + zbar \ + libmicrohttpd \ +" +RDEPENDS_packagegroup-meta-oe-support_append_armv7a = " ne10" +RDEPENDS_packagegroup-meta-oe-support_append_armv7ve = " ne10" +RDEPENDS_packagegroup-meta-oe-support_append_aarch64 = " ne10" +RDEPENDS_packagegroup-meta-oe-support_append_x86 = " mcelog mce-inject mce-test open-vm-tools vboxguestdrivers" +RDEPENDS_packagegroup-meta-oe-support_append_x86-64 = " mcelog mce-inject mce-test open-vm-tools vboxguestdrivers" RDEPENDS_packagegroup-meta-oe-support_remove_arm ="numactl" RDEPENDS_packagegroup-meta-oe-support_remove_mipsarch = "gperftools" RDEPENDS_packagegroup-meta-oe-support_remove_riscv64 = "gperftools uim" RDEPENDS_packagegroup-meta-oe-support_remove_riscv32 = "gperftools uim" RDEPENDS_packagegroup-meta-oe-support_remove_powerpc = "ssiapi" -RDEPENDS_packagegroup-meta-oe-support-egl ="\ - freerdp libnice opencv \ - " - RDEPENDS_packagegroup-meta-oe-test ="\ - catch2 cppunit cunit cxxtest evtest fb-test \ - fwts googletest pm-qa stress-ng testfloat \ - " + bats \ + cppunit \ + cukinia \ + cunit \ + cxxtest \ + evtest \ + fb-test \ + fwts \ + googletest \ + pm-qa \ + testfloat \ +" RDEPENDS_packagegroup-meta-oe-test_remove_libc-musl = "pm-qa" RDEPENDS_packagegroup-meta-oe-test_remove_arm = "fwts" RDEPENDS_packagegroup-meta-oe-test_remove_mipsarch = "fwts" @@ -306,14 +916,29 @@ RDEPENDS_packagegroup-meta-oe-ptest-packages = "\ uthash-ptest \ libee-ptest \ poco-ptest \ - " +" +RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86 = " mcelog-ptest" +RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86-64 = " mcelog-ptest" + RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_riscv64 = "oprofile-ptest" RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_riscv32 = "oprofile-ptest" +RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_arm = "numactl-ptest" -RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86 = "\ - mcelog-ptest \ -" -RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86-64 = "\ - mcelog-ptest \ + +RDEPENDS_packagegroup-meta-oe-fortran-packages = "\ + lapack \ + octave \ " -RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_arm = "numactl-ptest" +# library-only or headers-only packages +# They wont be built as part of images but might be interesting to include +# with dev-pkgs images +# +# opencl-headers sdbus-c++-libsystemd boost-url nlohmann-fifo sqlite-orm +# nlohmann-json exprtk liblightmodbus p8platform gnome-doc-utils-stub +# glm ttf-mplus xbitmaps ceres-solver cli11 fftw gnulib libeigen ade +# spdlog span-lite uthash websocketpp catch2 properties-cpp + +# rsyslog conflicts with syslog-ng so its not included here + +EXCLUDE_FROM_WORLD = "1" + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.1/run-ptest b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.1/run-ptest deleted file mode 100755 index f6ade0c7e..000000000 --- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.1/run-ptest +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -set -e -set -o pipefail - -SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" - -${SCRIPTPATH}/../tests/sdbus-c++-unit-tests 2>&1 | \ -sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \ -sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \ -awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}' - -${SCRIPTPATH}/../tests/sdbus-c++-integration-tests 2>&1 | \ -sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \ -sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \ -awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}' diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/run-ptest b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/run-ptest new file mode 100755 index 000000000..f6ade0c7e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/run-ptest @@ -0,0 +1,15 @@ +#!/bin/sh +set -e +set -o pipefail + +SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" + +${SCRIPTPATH}/../tests/sdbus-c++-unit-tests 2>&1 | \ +sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \ +sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \ +awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}' + +${SCRIPTPATH}/../tests/sdbus-c++-integration-tests 2>&1 | \ +sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \ +sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \ +awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}' diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.1.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.1.bb deleted file mode 100644 index 9eaec0f2a..000000000 --- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "sdbus-c++ native tools" -DESCRIPTION = "Native interface code generator for development with sdbus-c++" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" - -inherit cmake - -DEPENDS += "expat" - -SRCREV = "3a4f343fb924650e7639660efa5f143961162044" -SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools" - -S = "${WORKDIR}/tools" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.3.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.3.bb new file mode 100644 index 000000000..3b87c2265 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.3.bb @@ -0,0 +1,16 @@ +SUMMARY = "sdbus-c++ native tools" +DESCRIPTION = "Native interface code generator for development with sdbus-c++" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" + +inherit cmake + +DEPENDS += "expat" + +SRCREV = "6e8e5aadb674cccea5bdd55141db5dad887fbacd" +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools" + +S = "${WORKDIR}/tools" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb deleted file mode 100644 index 82860a82f..000000000 --- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "sdbus-c++" -DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++" - -SECTION = "libs" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" - -inherit cmake pkgconfig systemd ptest - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}" -PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap" -PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd" -PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF" - -DEPENDS += "expat" - -SRCREV = "3a4f343fb924650e7639660efa5f143961162044" -SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master" -SRC_URI += "file://run-ptest" - -EXTRA_OECMAKE = "-DBUILD_CODE_GEN=ON \ - -DBUILD_DOC=ON \ - -DBUILD_DOXYGEN_DOC=OFF" - -S = "${WORKDIR}/git" - -do_install_append() { - if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then - rm -rf ${D}${sysconfdir}/dbus-1 - fi -} - -PTEST_PATH = "${libdir}/${BPN}/tests" -FILES_${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/" -FILES_${PN}-dev += "${bindir}/sdbus-c++-xml2cpp" diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb new file mode 100644 index 000000000..98829765c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb @@ -0,0 +1,37 @@ +SUMMARY = "sdbus-c++" +DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++" + +SECTION = "libs" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" + +inherit cmake pkgconfig systemd ptest + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}" +PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap" +PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd" +PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF" + +DEPENDS += "expat" + +SRCREV = "6e8e5aadb674cccea5bdd55141db5dad887fbacd" +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master" +SRC_URI += "file://run-ptest" + +EXTRA_OECMAKE = "-DBUILD_CODE_GEN=ON \ + -DBUILD_DOC=ON \ + -DBUILD_DOXYGEN_DOC=OFF" + +S = "${WORKDIR}/git" + +do_install_append() { + if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then + rm -rf ${D}${sysconfdir}/dbus-1 + fi +} + +PTEST_PATH = "${libdir}/${BPN}/tests" +FILES_${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/" +FILES_${PN}-dev += "${bindir}/sdbus-c++-xml2cpp" diff --git a/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.3.bb b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.3.bb index 5d453219f..1513255c4 100644 --- a/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.3.bb +++ b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.3.bb @@ -29,6 +29,11 @@ CFLAGS += "${TOOLCHAIN_OPTIONS} ${TUNE_CCARGS}" COMPILER_toolchain-clang = "clang" COMPILER ?= "gcc" +PACKAGECONFIG ??= "no-iconv no-getconf" + +PACKAGECONFIG[no-iconv] = ",," +PACKAGECONFIG[no-getconf] = ",," + EXTRA_OEMAKE = 'CROSS_COMPILE="${HOST_PREFIX}" \ CC="${COMPILER}" \ STRIP="strip" \ @@ -56,7 +61,7 @@ do_configure() { sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config # Enable init if toybox was set as init manager - if [[ ${VIRTUAL-RUNTIME_init_manager} == *"toybox"* ]]; then + if ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','toybox','true','false',d)}; then sed -e 's/# CONFIG_INIT is not set/CONFIG_INIT=y/' -i .config fi } @@ -67,6 +72,12 @@ do_compile() { # Create a list of links needed ${BUILD_CC} -I . scripts/install.c -o generated/instlist ./generated/instlist long | sed -e 's#^#/#' > toybox.links + if ${@bb.utils.contains('PACKAGECONFIG','no-iconv','true','false',d)}; then + sed -i -e '/iconv$/d' toybox.links + fi + if ${@bb.utils.contains('PACKAGECONFIG','no-getconf','true','false',d)}; then + sed -i -e '/getconf$/d' toybox.links + fi } do_install() { diff --git a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.3.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.3.bb deleted file mode 100644 index 93eba93a9..000000000 --- a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.3.bb +++ /dev/null @@ -1,92 +0,0 @@ -SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes" -DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \ -device-mapper mappings. These include plain dm-crypt volumes and \ -LUKS volumes. The difference is that LUKS uses a metadata header \ -and can hence offer more features than plain dm-crypt. On the other \ -hand, the header is visible and vulnerable to damage." -HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup" -SECTION = "console" -LICENSE = "GPL-2.0-with-OpenSSL-exception" -LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326" - -DEPENDS = " \ - json-c \ - libdevmapper \ - popt \ - util-linux \ -" - -RDEPENDS_${PN} = " \ - libdevmapper \ -" - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" -SRC_URI[md5sum] = "6c0ce8be21a7687b89354c77757d0c5b" -SRC_URI[sha256sum] = "3bca4ffe39e2f94cef50f6ea65acb873a6dbce5db34fc6bcefe38b6d095e82df" - -inherit autotools gettext pkgconfig - -# Use openssl because libgcrypt drops root privileges -# if libgcrypt is linked with libcap support -PACKAGECONFIG ??= " \ - keyring \ - cryptsetup \ - veritysetup \ - cryptsetup-reencrypt \ - integritysetup \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ - kernel_crypto \ - internal-argon2 \ - blkid \ - luks-adjust-xts-keysize \ - openssl \ -" -PACKAGECONFIG_append_class-target = " \ - udev \ -" - -PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring" -PACKAGECONFIG[fips] = "--enable-fips,--disable-fips" -PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality" -PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc" -PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup" -PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup" -PACKAGECONFIG[cryptsetup-reencrypt] = "--enable-cryptsetup-reencrypt,--disable-cryptsetup-reencrypt" -PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup" -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux" -PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,,udev" -PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto" -# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't -# recognized. -PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2" -PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2" -PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2" -PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" -PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random" -PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize" -PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl" -PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt" -PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss" -PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel" -PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle" -PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1" - -RRECOMMENDS_${PN} = "kernel-module-aes-generic \ - kernel-module-dm-crypt \ - kernel-module-md5 \ - kernel-module-cbc \ - kernel-module-sha256-generic \ - kernel-module-xts \ -" - -EXTRA_OECONF = "--enable-static" -# Building without largefile is not supported by upstream -EXTRA_OECONF += "--enable-largefile" -# Requires a static popt library -EXTRA_OECONF += "--disable-static-cryptsetup" -# There's no recipe for libargon2 yet -EXTRA_OECONF += "--disable-libargon2" - -FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb new file mode 100644 index 000000000..b9a6b7179 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb @@ -0,0 +1,92 @@ +SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes" +DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \ +device-mapper mappings. These include plain dm-crypt volumes and \ +LUKS volumes. The difference is that LUKS uses a metadata header \ +and can hence offer more features than plain dm-crypt. On the other \ +hand, the header is visible and vulnerable to damage." +HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup" +SECTION = "console" +LICENSE = "GPL-2.0-with-OpenSSL-exception" +LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326" + +DEPENDS = " \ + json-c \ + libdevmapper \ + popt \ + util-linux \ +" + +RDEPENDS_${PN} = " \ + libdevmapper \ +" + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" +SRC_URI[md5sum] = "911272e73181fdc850bb4d25103a9f83" +SRC_URI[sha256sum] = "9d16eebb96b53b514778e813019b8dd15fea9fec5aafde9fae5febf59df83773" + +inherit autotools gettext pkgconfig + +# Use openssl because libgcrypt drops root privileges +# if libgcrypt is linked with libcap support +PACKAGECONFIG ??= " \ + keyring \ + cryptsetup \ + veritysetup \ + cryptsetup-reencrypt \ + integritysetup \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ + kernel_crypto \ + internal-argon2 \ + blkid \ + luks-adjust-xts-keysize \ + openssl \ +" +PACKAGECONFIG_append_class-target = " \ + udev \ +" + +PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring" +PACKAGECONFIG[fips] = "--enable-fips,--disable-fips" +PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality" +PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc" +PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup" +PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup" +PACKAGECONFIG[cryptsetup-reencrypt] = "--enable-cryptsetup-reencrypt,--disable-cryptsetup-reencrypt" +PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux" +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,,udev" +PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto" +# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't +# recognized. +PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2" +PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2" +PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2" +PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" +PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random" +PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize" +PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl" +PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt" +PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss" +PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel" +PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle" +PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1" + +RRECOMMENDS_${PN} = "kernel-module-aes-generic \ + kernel-module-dm-crypt \ + kernel-module-md5 \ + kernel-module-cbc \ + kernel-module-sha256-generic \ + kernel-module-xts \ +" + +EXTRA_OECONF = "--enable-static" +# Building without largefile is not supported by upstream +EXTRA_OECONF += "--enable-largefile" +# Requires a static popt library +EXTRA_OECONF += "--disable-static-cryptsetup" +# There's no recipe for libargon2 yet +EXTRA_OECONF += "--disable-libargon2" + +FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc index 1aa1f68cd..46a64006d 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -31,7 +31,8 @@ BINCONFIG_GLOB = "mysql_config" inherit cmake gettext binconfig update-rc.d useradd systemd multilib_script -MULTILIB_SCRIPTS = "${PN}-server:${bindir}/mysql_install_db ${PN}-server:${bindir}/mysqld_safe" +MULTILIB_SCRIPTS = "${PN}-server:${bindir}/mariadbd-safe \ + ${PN}-server:${bindir}/mariadb-install-db" INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb" INITSCRIPT_NAME_${PN}-server = "mysqld" @@ -243,69 +244,78 @@ FILES_libmysqld-dev = "\ FILES_${PN}-client = "\ ${bindir}/myisam_ftdump \ ${bindir}/mysql \ + ${bindir}/mariadb \ ${bindir}/mysql_client_test \ + ${bindir}/mariadb-client-test \ ${bindir}/mysql_client_test_embedded \ + ${bindir}/mariadb-client-test-embedded \ ${bindir}/mysql_find_rows \ + ${bindir}/mariadb-find-rows \ ${bindir}/mysql_fix_extensions \ + ${bindir}/mariadb-fix-extensions \ ${bindir}/mysql_waitpid \ + ${bindir}/mariadb-waitpid \ ${bindir}/mysqlaccess \ + ${bindir}/mariadb-access \ ${bindir}/mysqladmin \ - ${bindir}/mysqlbug \ + ${bindir}/mariadb-admin \ ${bindir}/mysqlcheck \ + ${bindir}/mariadb-check \ ${bindir}/mysqldump \ + ${bindir}/mariadb-dump \ ${bindir}/mysqldumpslow \ + ${bindir}/mariadb-dumpslow \ ${bindir}/mysqlimport \ + ${bindir}/mariadb-import \ ${bindir}/mysqlshow \ + ${bindir}/mariadb-show \ ${bindir}/mysqlslap \ + ${bindir}/mariadb-slap \ ${bindir}/mysqltest_embedded \ + ${bindir}/mariadb-test-embedded \ ${libexecdir}/mysqlmanager \ ${sysconfdir}/my.cnf.d/mysql-clients.cnf" FILES_${PN}-server = "\ - ${bindir}/comp_err \ - ${bindir}/isamchk \ - ${bindir}/isamlog \ ${bindir}/msql2mysql \ ${bindir}/my_print_defaults \ ${bindir}/myisamchk \ ${bindir}/myisamlog \ ${bindir}/myisampack \ ${bindir}/mysql_convert_table_format \ - ${bindir}/mysql_fix_privilege_tables \ + ${bindir}/mariadb-convert-table-format \ ${bindir}/mysql_install_db \ + ${bindir}/mariadb-install-db \ ${bindir}/mysql_secure_installation \ + ${bindir}/mariadb-secure-installation \ ${bindir}/mysql_setpermission \ + ${bindir}/mariadb-setpermission \ ${bindir}/mysql-systemd-start \ ${bindir}/mysql_tzinfo_to_sql \ + ${bindir}/mariadb-tzinfo-to-sql \ ${bindir}/mysql_upgrade \ + ${bindir}/mariadb-upgrade \ ${bindir}/mysql_plugin \ - ${bindir}/mysql_zap \ + ${bindir}/mariadb-plugin \ ${bindir}/mysqlbinlog \ + ${bindir}/mariadb-binlog \ ${bindir}/mysqld_multi \ + ${bindir}/mariadbd-multi \ + ${bindir}/mariadbd-safe \ ${bindir}/mysqld_safe \ ${bindir}/mysqld_safe_helper \ + ${bindir}/mariadbd-safe-helper \ ${bindir}/mysqlhotcopy \ + ${bindir}/mariadb-hotcopy \ ${bindir}/mysqltest \ - ${bindir}/ndb_delete_all \ - ${bindir}/ndb_desc \ - ${bindir}/ndb_drop_index \ - ${bindir}/ndb_drop_table \ - ${bindir}/ndb_mgm \ - ${bindir}/ndb_restore \ - ${bindir}/ndb_select_all \ - ${bindir}/ndb_select_count \ - ${bindir}/ndb_show_tables \ - ${bindir}/ndb_waiter \ - ${bindir}/pack_isam \ + ${bindir}/mariadb-test \ ${bindir}/perror \ ${bindir}/replace \ ${bindir}/resolve_stack_dump \ ${bindir}/resolveip \ ${libexecdir}/mysqld \ ${sbindir}/mysqld \ - ${sbindir}/ndb_cpcd \ - ${sbindir}/ndbd \ - ${sbindir}/ndb_mgmd \ + ${sbindir}/mariadbd \ ${libdir}/plugin/*.so \ ${libdir}/security/*.so \ ${libdir}/plugin/auth_pam_tool_dir/auth_pam_tool \ diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc index 54ccf1fe7..090e16f58 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc +++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc @@ -247,10 +247,8 @@ FILES_${PN} += "${sysconfdir}/init.d/${BPN}-server \ FILES_${PN}-client = "${bindir}/clusterdb \ ${bindir}/createdb \ - ${bindir}/createlang \ ${bindir}/createuser \ ${bindir}/dropdb \ - ${bindir}/droplang \ ${bindir}/dropuser \ ${bindir}/pg_dump \ ${bindir}/pg_dumpall \ @@ -332,7 +330,7 @@ FILES_${PN}-contrib = " ${bindir}/oid2name ${bindir}/pg_standby \ ${libdir}/${BPN}/sslinfo.so \ ${libdir}/${BPN}/tablefunc.so \ ${libdir}/${BPN}/test_parser.so ${libdir}/${BPN}/timetravel.so \ - ${libdir}/${BPN}/tsearch2.so ${libdir}/${BPN}/uuid-ossp.so \ + ${libdir}/${BPN}/uuid-ossp.so \ ${libdir}/${BPN}/pgxml.so ${libdir}/${BPN}/passwordcheck.so \ ${libdir}/${BPN}/pg_upgrade_support.so ${libdir}/${BPN}/.so \ ${libdir}/${BPN}/unaccent.so \ diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.3.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.3.bb deleted file mode 100644 index cc7e3ff52..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.3.bb +++ /dev/null @@ -1,12 +0,0 @@ -require postgresql.inc - -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fc4ce21960f0c561460d750bc270d11f" - -SRC_URI += "\ - file://not-check-libperl.patch \ - file://0001-Add-support-for-RISC-V.patch \ - file://0001-Improve-reproducibility.patch \ -" - -SRC_URI[md5sum] = "a30c023dd7088e44d73be71af2ef404a" -SRC_URI[sha256sum] = "94ed64a6179048190695c86ec707cc25d016056ce10fc9d229267d9a8f1dcf41" diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.4.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.4.bb new file mode 100644 index 000000000..6ea9acc00 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.4.bb @@ -0,0 +1,11 @@ +require postgresql.inc + +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fc4ce21960f0c561460d750bc270d11f" + +SRC_URI += "\ + file://not-check-libperl.patch \ + file://0001-Add-support-for-RISC-V.patch \ + file://0001-Improve-reproducibility.patch \ +" + +SRC_URI[sha256sum] = "bee93fbe2c32f59419cb162bcc0145c58da9a8644ee154a30b9a5ce47de606cc" diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch index 8524517cb..87771cba8 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch @@ -29,24 +29,21 @@ Signed-off-by: Khem Raj --- a/src/procattr.c +++ b/src/procattr.c -@@ -8,7 +8,19 @@ +@@ -8,12 +8,16 @@ #include "selinux_internal.h" #include "policy.h" -#ifndef __BIONIC__ +/* Bionic and glibc >= 2.30 declare gettid() system call wrapper in unistd.h and + * has a definition for it */ -+#ifdef __BIONIC__ -+ #define OVERRIDE_GETTID 0 -+#elif !defined(__GLIBC_PREREQ) -+ #define OVERRIDE_GETTID 1 -+#elif !__GLIBC_PREREQ(2,29) -+ #define OVERRIDE_GETTID 1 -+#else -+ #define OVERRIDE_GETTID 0 -+#endif -+ -+#if OVERRIDE_GETTID ++#if defined(__GLIBC_) ++#if !__GLIBC_PREREQ(2,30) static pid_t gettid(void) { return syscall(__NR_gettid); + } + #endif ++#endif + + static int getprocattrcon(char ** context, + pid_t pid, const char *attr) diff --git a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch index a9650c232..53f88885f 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch @@ -1,5 +1,10 @@ -It fails to compile doxygen-native when /usr/bin/python is a link to python3 on -build host: +From aa833cf56c5cc2e87a1d91881eb2286beb34e417 Mon Sep 17 00:00:00 2001 +From: Leon Anavi +Date: Wed, 26 Aug 2020 10:52:10 +0300 +Subject: [PATCH] doxygen: Fix Python issues for doxygen-native + +It fails to compile doxygen-native when /usr/bin/python is a link +to python3 on build host: | Failed to import the site module | Traceback (most recent call last): @@ -21,21 +26,31 @@ build host: | _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) | ModuleNotFoundError: No module named '_sysconfigdata' -Replace find_package PythonInterp with Python3 to fix this issue that -it uses python3 from python3-native. And it also replaces the result -variable PYTHON_EXECUTABLE with Python3_EXECUTABLE. +Replace find_package PythonInterp with Python3 to fix this issue +that it uses python3 from python3-native. And it also replaces the +result variable PYTHON_EXECUTABLE with Python3_EXECUTABLE. This patch is only needded by doxygen-native. Upstream-Status: Inappropriate[oe specific] -Signed-off-by: Kai Kang +Co-Authored-By: Kai Kang +Signed-off-by: Leon Anavi --- + CMakeLists.txt | 2 +- + addon/doxywizard/CMakeLists.txt | 6 +++--- + doc/CMakeLists.txt | 6 +++--- + examples/CMakeLists.txt | 4 ++-- + libmscgen/CMakeLists.txt | 2 +- + src/CMakeLists.txt | 12 ++++++------ + testing/CMakeLists.txt | 4 ++-- + 7 files changed, 18 insertions(+), 18 deletions(-) + diff --git a/CMakeLists.txt b/CMakeLists.txt -index 969ae58..604400f 100644 +index 35e6a0c2..9aaebbdf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -93,7 +93,7 @@ else () +@@ -100,7 +100,7 @@ else () endif () find_program(DOT NAMES dot) @@ -45,7 +60,7 @@ index 969ae58..604400f 100644 find_package(BISON REQUIRED) if (BISON_VERSION VERSION_LESS 2.7) diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt -index 6aacd8b..fa197e9 100644 +index 6aacd8b6..fa197e9e 100644 --- a/addon/doxywizard/CMakeLists.txt +++ b/addon/doxywizard/CMakeLists.txt @@ -58,7 +58,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA @@ -76,7 +91,7 @@ index 6aacd8b..fa197e9 100644 OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h ) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt -index 032c16a..332f1b2 100644 +index a094c570..8a757c20 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -132,7 +132,7 @@ configure_file(${CMAKE_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR}/ @@ -85,7 +100,7 @@ index 032c16a..332f1b2 100644 add_custom_command( - COMMAND ${PYTHON_EXECUTABLE} translator.py ${CMAKE_SOURCE_DIR} + COMMAND ${Python3_EXECUTABLE} translator.py ${CMAKE_SOURCE_DIR} - DEPENDS ${PROJECT_BINARY_DIR}/doc/maintainers.txt ${PROJECT_BINARY_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py + DEPENDS ${CMAKE_SOURCE_DIR}/doc/maintainers.txt ${CMAKE_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES} OUTPUT language.doc WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc @@ -141,7 +141,7 @@ set_source_files_properties(language.doc PROPERTIES GENERATED 1) @@ -107,235 +122,19 @@ index 032c16a..332f1b2 100644 COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 967f3d4..a8d1aad 100644 +index 3f1c79b8..d5866ee1 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt -@@ -52,196 +52,196 @@ add_custom_target(examples - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen class.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex - DEPENDS doxygen class.h class.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/class/html/index.html ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen define.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex - DEPENDS doxygen define.h define.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/define/html/index.html ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen enum.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex - DEPENDS doxygen enum.h enum.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/enum/html/index.html ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen file.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex - DEPENDS doxygen file.h file.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/file/html/index.html ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen func.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex - DEPENDS doxygen func.h func.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/func/html/index.html ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen javadoc-banner.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman_doc.tex - DEPENDS doxygen javadoc-banner.h javadoc-banner.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/html/index.html ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen page.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex - DEPENDS doxygen page.doc page.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/page/html/index.html ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen relates.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex - DEPENDS doxygen relates.cpp relates.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/relates/html/index.html ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen author.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex - DEPENDS doxygen author.cpp author.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/author/html/index.html ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen par.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex - DEPENDS doxygen par.cpp par.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/par/html/index.html ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen overload.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex - DEPENDS doxygen overload.cpp overload.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/overload/html/index.html ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen example.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex - DEPENDS doxygen example.cpp example_test.cpp example.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/example/html/index.html ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen include.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex - DEPENDS doxygen include.cpp include_test.cpp include.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/include/html/index.html ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen qtstyle.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex - DEPENDS doxygen qtstyle.cpp qtstyle.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/qtstyle/html/index.html ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen jdstyle.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex - DEPENDS doxygen jdstyle.cpp jdstyle.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/jdstyle/html/index.html ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen structcmd.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex - DEPENDS doxygen structcmd.h structcmd.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/structcmd/html/index.html ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen autolink.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex - DEPENDS doxygen autolink.cpp autolink.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/autolink/html/index.html ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen tag.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman_doc.tex - DEPENDS doxygen tag.cpp tag.cfg ${PROJECT_BINARY_DIR}/html/examples/example/html/index.html ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/tag/html/index.html ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen restypedef.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex - DEPENDS doxygen restypedef.cpp restypedef.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/restypedef/html/index.html ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen afterdoc.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex - DEPENDS doxygen afterdoc.h afterdoc.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/afterdoc/html/index.html ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen templ.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman_doc.tex - DEPENDS doxygen templ.cpp templ.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/template/html/index.html ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen group.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex - DEPENDS doxygen group.cpp group.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/group/html/index.html ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen memgrp.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex - DEPENDS doxygen memgrp.cpp memgrp.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/memgrp/html/index.html ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen pyexample.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex - DEPENDS doxygen pyexample.py pyexample.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/pyexample/html/index.html ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen tclexample.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex - DEPENDS doxygen tclexample.tcl tclexample.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/tclexample/html/index.html ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen mux.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex - DEPENDS doxygen mux.vhdl mux.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/mux/html/index.html ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen manual.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex - DEPENDS doxygen manual.c manual.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/manual/html/index.html ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex - ) - - add_custom_command( - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen docstring.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex - DEPENDS doxygen docstring.py docstring.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/docstring/html/index.html ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex - ) -@@ -249,7 +249,7 @@ add_custom_command( +@@ -51,7 +51,7 @@ foreach (f_inp ${BASIC_EXAMPLES}) + string(REGEX REPLACE ":.*" "" f ${f_inp}) + add_custom_command( + COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen ${f}.cfg +- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/${f}/latex/refman_doc.tex ++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/${f}/latex/refman_doc.tex + DEPENDS doxygen ${f}.${f_ext} ${f}.cfg ${TOP}/examples/strip_example.py + OUTPUT ${PROJECT_BINARY_DIR}/html/examples/${f}/html/index.html ${PROJECT_BINARY_DIR}/html/examples/${f}/latex/refman_doc.tex + ) +@@ -68,7 +68,7 @@ add_custom_target(examples if (DOT) add_custom_command( COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg @@ -345,7 +144,7 @@ index 967f3d4..a8d1aad 100644 OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex ) diff --git a/libmscgen/CMakeLists.txt b/libmscgen/CMakeLists.txt -index 079fcfc..e6d86f6 100644 +index 079fcfc8..e6d86f61 100644 --- a/libmscgen/CMakeLists.txt +++ b/libmscgen/CMakeLists.txt @@ -7,7 +7,7 @@ include_directories( @@ -358,76 +157,84 @@ index 079fcfc..e6d86f6 100644 OUTPUT ${GENERATED_SRC}/${lex_file}.l.h ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 23460d0..58f679a 100644 +index cb289116..356741ff 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -35,7 +35,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1) +@@ -39,7 +39,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1) # configvalues.h add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maph ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.h -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maph ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.h - DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py +- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h ++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h + DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py OUTPUT ${GENERATED_SRC}/configvalues.h ) -@@ -47,7 +47,7 @@ add_custom_target( +@@ -51,7 +51,7 @@ add_custom_target( # configvalues.cpp add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maps ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.cpp -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maps ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.cpp - DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py +- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp ++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp + DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py OUTPUT ${GENERATED_SRC}/configvalues.cpp ) -@@ -55,7 +55,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT +@@ -59,7 +59,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT # configoptions.cpp add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -cpp ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configoptions.cpp -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -cpp ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configoptions.cpp - DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py +- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp ++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp + DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py OUTPUT ${GENERATED_SRC}/configoptions.cpp ) -@@ -86,7 +86,7 @@ file(GLOB RESOURCES ${CMAKE_SOURCE_DIR}/templates/*/*) +@@ -94,7 +94,7 @@ endif() # resources.cpp add_custom_command( COMMENT "Generating ${GENERATED_SRC}/resources.cpp" -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp - DEPENDS ${RESOURCES} +- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp ++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp + DEPENDS ${RESOURCES} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py OUTPUT ${GENERATED_SRC}/resources.cpp ) -@@ -94,7 +94,7 @@ set_source_files_properties(${GENERATED_SRC}/resources.cpp PROPERTIES GENERATED +@@ -102,7 +102,7 @@ set_source_files_properties(${GENERATED_SRC}/resources.cpp PROPERTIES GENERATED # layout_default.xml add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/to_c_cmd.py < ${CMAKE_SOURCE_DIR}/src/layout_default.xml > ${GENERATED_SRC}/layout_default.xml.h -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/to_c_cmd.py < ${CMAKE_SOURCE_DIR}/src/layout_default.xml > ${GENERATED_SRC}/layout_default.xml.h - DEPENDS ${CMAKE_SOURCE_DIR}/src/layout_default.xml +- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/to_c_cmd.py < ${CMAKE_CURRENT_LIST_DIR}/layout_default.xml > ${GENERATED_SRC}/layout_default.xml.h ++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/to_c_cmd.py < ${CMAKE_CURRENT_LIST_DIR}/layout_default.xml > ${GENERATED_SRC}/layout_default.xml.h + DEPENDS ${CMAKE_CURRENT_LIST_DIR}/layout_default.xml ${CMAKE_CURRENT_LIST_DIR}/to_c_cmd.py OUTPUT ${GENERATED_SRC}/layout_default.xml.h ) -@@ -124,7 +124,7 @@ foreach(lex_file ${LEX_FILES}) +@@ -131,7 +131,7 @@ foreach(lex_file ${LEX_FILES}) set(LEX_FILES_H ${LEX_FILES_H} " " ${GENERATED_SRC}/${lex_file}.l.h CACHE INTERNAL "Stores generated files") set(LEX_FILES_CPP ${LEX_FILES_CPP} " " ${GENERATED_SRC}/${lex_file}.cpp CACHE INTERNAL "Stores generated files") add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/src/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/src/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h - DEPENDS ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/src/${lex_file}.l +- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h ++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h + DEPENDS ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l OUTPUT ${GENERATED_SRC}/${lex_file}.l.h ) diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt -index 40cb40b..a301acd 100644 +index b354e78f..28d45e11 100644 --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt -@@ -1,9 +1,9 @@ +@@ -1,7 +1,7 @@ + # run all tests sequentially (keep for backward compatibility) add_custom_target(tests - COMMENT "Running doxygen tests..." -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing - DEPENDS doxygen - ) - add_test(NAME suite -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen $ --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen $ --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing - ) - + COMMENT "Running doxygen tests..." +- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing ++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing + DEPENDS doxygen + ) + +@@ -19,6 +19,6 @@ foreach(TEST_FILE ${TEST_FILES}) + string(REGEX REPLACE "^.*/([0-9][0-9][0-9]*).*$" "\\1" TEST_ID "${TEST_FILE}") + # add a test target for each test + add_test(NAME ${TEST_NAME} +- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $ --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing ++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $ --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing + ) + endforeach() +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb deleted file mode 100644 index 45de71826..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources." -HOMEPAGE = "http://www.doxygen.org/" - -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "flex-native bison-native" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \ - file://0001-build-don-t-look-for-Iconv.patch \ -" -SRC_URI_append_class-native = " file://doxygen-native-only-check-python3.patch" -SRC_URI[md5sum] = "7997a15c73a8bd6d003eaba5c2ee2b47" -SRC_URI[sha256sum] = "2cba988af2d495541cbbe5541b3bee0ee11144dcb23a81eada19f5501fd8b599" - -inherit cmake python3native - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.20.bb b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.20.bb new file mode 100644 index 000000000..d4ac3b720 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.20.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources." +HOMEPAGE = "http://www.doxygen.org/" + +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "flex-native bison-native" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \ + file://0001-build-don-t-look-for-Iconv.patch \ +" +SRC_URI_append_class-native = " file://doxygen-native-only-check-python3.patch" +SRC_URI[md5sum] = "8729936a843232a66fe970ef65f3c3e4" +SRC_URI[sha256sum] = "e0db6979286fd7ccd3a99af9f97397f2bae50532e4ecb312aa18862f8401ddec" + +inherit cmake python3native + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb index 8282091b3..039999f6b 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb @@ -16,3 +16,5 @@ SRC_URI[sha256sum] = "9184dd3dd40b7b84fca70083284bb9dbf2ee8022bf2be066bdc36592d9 FILES_${PN} += "${datadir}/icons" EXTRA_OECONF = "--disable-html-docs" + +RRECOMMENDS_${PN} += "source-code-pro-fonts" diff --git a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb deleted file mode 100644 index 967ac7623..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "log4cplus provides a simple C++ logging API for log management" -SECTION = "libs" -HOMEPAGE = "http://sourceforge.net/projects/log4cplus/" -BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/" - -LICENSE = "Apache-2.0 & BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b" - -SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz \ - " -SRC_URI[md5sum] = "71dd956bf686195127559671f1426cff" -SRC_URI[sha256sum] = "c07115c23219390633798def30b7b51a0f79fdeb857e4b49632f17746d0ceb97" - -UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/" -UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P\d+(\.\d+)+)/" - -inherit autotools pkgconfig - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0001-Fix-musl-build.patch b/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0001-Fix-musl-build.patch new file mode 100644 index 000000000..fa90aa121 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0001-Fix-musl-build.patch @@ -0,0 +1,125 @@ +From a5a4bb4254b2109bd3e272174946f0bb36ee99a8 Mon Sep 17 00:00:00 2001 +From: Leon Anavi +Date: Tue, 25 Aug 2020 11:45:45 +0300 +Subject: [PATCH] Fix musl build + +Apply the following fixes for musl: + +- Fix basename() is in libgen.h +- Fix wrong usage of LONG_BIT + +Same fixes have been submitted to the upstream of lshw by Sergio +Prado but they have not been merged yet. + +Upstream-Status: Submitted + +Co-Authored-By: Sergio Prado +Signed-off-by: Leon Anavi +--- + src/core/abi.cc | 4 +--- + src/core/sysfs.cc | 19 ++++++++++--------- + 2 files changed, 11 insertions(+), 12 deletions(-) + +diff --git a/src/core/abi.cc b/src/core/abi.cc +index adff7b5..76c664c 100644 +--- a/src/core/abi.cc ++++ b/src/core/abi.cc +@@ -20,9 +20,7 @@ __ID("@(#) $Id: mem.cc 1352 2006-05-27 23:54:13Z ezix $"); + bool scan_abi(hwNode & system) + { + // are we compiled as 32- or 64-bit process ? +- long sc = sysconf(LONG_BIT); +- if(sc==-1) sc = sysconf(_SC_LONG_BIT); +- if(sc!=-1) system.setWidth(sc); ++ system.setWidth(LONG_BIT); + + pushd(PROC_SYS); + +diff --git a/src/core/sysfs.cc b/src/core/sysfs.cc +index 32d6564..c2fa84f 100644 +--- a/src/core/sysfs.cc ++++ b/src/core/sysfs.cc +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + + + __ID("@(#) $Id$"); +@@ -100,7 +101,7 @@ static string sysfs_getbustype(const string & path) + { + devname = + string(fs.path + "/bus/") + string(namelist[i]->d_name) + +- "/devices/" + basename(path.c_str()); ++ "/devices/" + basename(const_cast(path.c_str())); + + if (samefile(devname, path)) + return string(namelist[i]->d_name); +@@ -140,7 +141,7 @@ static string sysfstobusinfo(const string & path) + + if (bustype == "usb") + { +- string name = basename(path.c_str()); ++ string name = basename(const_cast(path.c_str())); + if (matches(name, "^[0-9]+-[0-9]+(\\.[0-9]+)*:[0-9]+\\.[0-9]+$")) + { + size_t colon = name.rfind(":"); +@@ -151,7 +152,7 @@ static string sysfstobusinfo(const string & path) + + if (bustype == "virtio") + { +- string name = basename(path.c_str()); ++ string name = basename(const_cast(path.c_str())); + if (name.compare(0, 6, "virtio") == 0) + return "virtio@" + name.substr(6); + else +@@ -159,10 +160,10 @@ static string sysfstobusinfo(const string & path) + } + + if (bustype == "vio") +- return string("vio@") + basename(path.c_str()); ++ return string("vio@") + basename(const_cast(path.c_str())); + + if (bustype == "ccw") +- return string("ccw@") + basename(path.c_str()); ++ return string("ccw@") + basename(const_cast(path.c_str())); + + if (bustype == "ccwgroup") + { +@@ -240,7 +241,7 @@ string entry::driver() const + string driverlink = This->devpath + "/driver"; + if (!exists(driverlink)) + return ""; +- return basename(readlink(driverlink).c_str()); ++ return basename(const_cast(readlink(driverlink).c_str())); + } + + +@@ -328,7 +329,7 @@ string entry::name_in_class(const string & classname) const + + string entry::name() const + { +- return basename(This->devpath.c_str()); ++ return basename(const_cast(This->devpath.c_str())); + } + + +@@ -340,12 +341,12 @@ entry entry::parent() const + + string entry::classname() const + { +- return basename(dirname(This->devpath).c_str()); ++ return basename(const_cast(dirname(This->devpath).c_str())); + } + + bool entry::isvirtual() const + { +- return string(basename(dirname(dirname(This->devpath)).c_str())) == "virtual"; ++ return string(basename(const_cast(dirname(dirname(This->devpath)).c_str()))) == "virtual"; + } + + string entry::string_attr(const string & name, const string & def) const +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0001-Makefile-Fix-cross-compilation.patch b/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0001-Makefile-Fix-cross-compilation.patch deleted file mode 100644 index 6db6ab95e..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0001-Makefile-Fix-cross-compilation.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 62f9ed95b5d0feab426bff452be793c62a6b795a Mon Sep 17 00:00:00 2001 -From: Krzysztof Kozlowski -Date: Wed, 6 Jun 2018 12:49:21 +0200 -Subject: [PATCH 1/2] Makefile: Fix cross compilation - -Allow building on ARMv7 and ARMv8. - -Upstream-Status: Submitted -Signed-off-by: Krzysztof Kozlowski ---- - src/Makefile | 2 +- - src/core/Makefile | 2 +- - src/gui/Makefile | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/Makefile b/src/Makefile -index b50586bc9234..654b786dd899 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -18,7 +18,7 @@ export MANDIR - export DATADIR - export SQLITE - --CXX?=c++ -+CXX?=$(CROSS_COMPILE)c++ - INCLUDES=-I./core/ - DEFINES=-DPREFIX=\"$(PREFIX)\" -DSBINDIR=\"$(SBINDIR)\" -DMANDIR=\"$(MANDIR)\" -DDATADIR=\"$(DATADIR)\" - CXXFLAGS=-g -Wall -g $(INCLUDES) $(DEFINES) $(RPM_OPT_FLAGS) -diff --git a/src/core/Makefile b/src/core/Makefile -index 5bf5a69cc6a6..2bd1b94c4175 100644 ---- a/src/core/Makefile -+++ b/src/core/Makefile -@@ -1,6 +1,6 @@ - PACKAGENAME?=lshw - --CXX=c++ -+CXX?=$(CROSS_COMPILE)c++ - INCLUDES= - DEFINES=-DPREFIX=\"$(PREFIX)\" -DSBINDIR=\"$(SBINDIR)\" -DMANDIR=\"$(MANDIR)\" -DDATADIR=\"$(DATADIR)\" - CXXFLAGS?=-g -Wall $(INCLUDES) $(DEFINES) $(RPM_OPT_FLAGS) -diff --git a/src/gui/Makefile b/src/gui/Makefile -index 332ce5704819..b0f925490356 100644 ---- a/src/gui/Makefile -+++ b/src/gui/Makefile -@@ -1,7 +1,7 @@ - PACKAGENAME?=lshw - --CXX?=c++ --CC?=cc -+CXX?=$(CROSS_COMPILE)c++ -+CC?=$(CROSS_COMPILE)cc - STRIP?=strip - OBJCOPY?=objcopy - --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0002-Makefile-Use-supplied-LDFLAGS-to-silence-OE-GNU_HASH.patch b/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0002-Makefile-Use-supplied-LDFLAGS-to-silence-OE-GNU_HASH.patch deleted file mode 100644 index d3da01b40..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0002-Makefile-Use-supplied-LDFLAGS-to-silence-OE-GNU_HASH.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 75667f8a0ae4f1689ff03eb1768b1ee8cdfbf00d Mon Sep 17 00:00:00 2001 -From: Krzysztof Kozlowski -Date: Wed, 6 Jun 2018 12:49:30 +0200 -Subject: [PATCH 2/2] Makefile: Use supplied LDFLAGS to silence OE GNU_HASH QA - warning - -Fix OpenEmbedded/Yocto QA warning: - - ERROR: lshw-02.16-r1 do_package_qa: QA Issue: No GNU_HASH in the elf binary: 'build/tmp/work/cortexa5hf-neon-poky-linux-gnueabi/lshw/02.16-r1/packages-split/lshw/usr/sbin/lshw' [ldflags] - ERROR: lshw-02.16-r1 do_package_qa: QA run found fatal errors. Please consider fixing them. - ERROR: lshw-02.16-r1 do_package_qa: Function failed: do_package_qa - -Upstream-Status: Submitted -Signed-off-by: Krzysztof Kozlowski ---- - src/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index 654b786dd899..a441ba2bb666 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -25,7 +25,7 @@ CXXFLAGS=-g -Wall -g $(INCLUDES) $(DEFINES) $(RPM_OPT_FLAGS) - ifeq ($(SQLITE), 1) - CXXFLAGS+= -DSQLITE $(shell pkg-config --cflags sqlite3) - endif --LDFLAGS=-L./core/ -g -+LDFLAGS+=-L./core/ -g - ifneq ($(shell $(LD) --help 2| grep -- --as-needed), ) - LDFLAGS+= -Wl,--as-needed - endif --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0003-sysfs-Fix-basename-build-with-musl.patch b/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0003-sysfs-Fix-basename-build-with-musl.patch deleted file mode 100644 index 34924939d..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/lshw/files/0003-sysfs-Fix-basename-build-with-musl.patch +++ /dev/null @@ -1,92 +0,0 @@ -From a89f2ba8496994c8b5e28a89202df15d64c648f9 Mon Sep 17 00:00:00 2001 -From: Krzysztof Kozlowski -Date: Wed, 6 Jun 2018 12:47:02 +0200 -Subject: [PATCH] sysfs: Fix basename() build with musl - -musl provides only standard basename() which accepts non-const string. -This fixes build error with musl C library: - - | sysfs.cc: In function 'std::__cxx11::string sysfs_getbustype(const string&)': - | sysfs.cc:102:21: error: 'basename' was not declared in this scope - | "/devices/" + basename(path.c_str()); - | ^~~~~~~~ - -Upstream-Status: Submitted -Signed-off-by: Krzysztof Kozlowski ---- - src/core/dasd.cc | 3 ++- - src/core/sysfs.cc | 9 +++++---- - 2 files changed, 7 insertions(+), 5 deletions(-) - -diff --git a/src/core/dasd.cc b/src/core/dasd.cc -index 626b8a872b0f..b27844215cc4 100644 ---- a/src/core/dasd.cc -+++ b/src/core/dasd.cc -@@ -2,6 +2,7 @@ - #include "osutils.h" - #include "dasd.h" - #include -+#include - #include - #include - #include -@@ -42,7 +43,7 @@ bool scan_dasd(hwNode & n) - { - for(dev_num=0;dev_num(devices.gl_pathv[dev_num])); - for (std::vector::iterator it = sysfs_attribs.begin(); it != sysfs_attribs.end(); ++it) - { - std::string attrib_fname = std::string(SYSFS_PREFIX) + dev_name + "/device/" + *it; -diff --git a/src/core/sysfs.cc b/src/core/sysfs.cc -index acc9d0056d5e..c56bab7b3b9f 100644 ---- a/src/core/sysfs.cc -+++ b/src/core/sysfs.cc -@@ -7,6 +7,7 @@ - #include "version.h" - #include "sysfs.h" - #include "osutils.h" -+#include - #include - #include - #include -@@ -99,7 +100,7 @@ static string sysfs_getbustype(const string & path) - { - devname = - string(fs.path + "/bus/") + string(namelist[i]->d_name) + -- "/devices/" + basename(path.c_str()); -+ "/devices/" + basename(const_cast(path.c_str())); - - if (samefile(devname, path)) - return string(namelist[i]->d_name); -@@ -139,7 +140,7 @@ static string sysfstobusinfo(const string & path) - - if (bustype == "virtio") - { -- string name = basename(path.c_str()); -+ string name = basename(const_cast(path.c_str())); - if (name.compare(0, 6, "virtio") == 0) - return "virtio@" + name.substr(6); - else -@@ -207,7 +208,7 @@ string entry::driver() const - string driverlink = This->devpath + "/driver"; - if (!exists(driverlink)) - return ""; -- return basename(readlink(driverlink).c_str()); -+ return basename(const_cast(readlink(driverlink).c_str())); - } - - -@@ -288,7 +289,7 @@ string entry::name_in_class(const string & classname) const - - string entry::name() const - { -- return basename(This->devpath.c_str()); -+ return basename(const_cast(This->devpath.c_str())); - } - - --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb b/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb deleted file mode 100644 index d1a733424..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb +++ /dev/null @@ -1,34 +0,0 @@ -DESCRIPTION = "A small tool to provide detailed information on the hardware \ -configuration of the machine. It can report exact memory configuration, \ -firmware version, mainboard configuration, CPU version and speed, cache \ -configuration, bus speed, etc. on DMI-capable or EFI systems." -SUMMARY = "Hardware lister" -HOMEPAGE = "http://ezix.org/project/wiki/HardwareLiSter" -SECTION = "console/tools" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" - -SRC_URI = " \ - http://ezix.org/software/files/lshw-B.${PV}.tar.gz \ - file://0001-Makefile-Fix-cross-compilation.patch \ - file://0002-Makefile-Use-supplied-LDFLAGS-to-silence-OE-GNU_HASH.patch \ - file://0003-sysfs-Fix-basename-build-with-musl.patch \ -" -SRC_URI[md5sum] = "8671c6d94d6324a744b7f21f1bfecfd2" -SRC_URI[sha256sum] = "ae22ef11c934364be4fd2a0a1a7aadf4495a0251ec6979da280d342a89ca3c2f" - -S = "${WORKDIR}/lshw-B.${PV}" - -do_compile() { - # build core only - don't ship gui - oe_runmake -C src core -} - -do_install() { - oe_runmake install DESTDIR=${D} -} - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.19.2.bb b/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.19.2.bb new file mode 100644 index 000000000..a26fac992 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.19.2.bb @@ -0,0 +1,32 @@ +DESCRIPTION = "A small tool to provide detailed information on the hardware \ +configuration of the machine. It can report exact memory configuration, \ +firmware version, mainboard configuration, CPU version and speed, cache \ +configuration, bus speed, etc. on DMI-capable or EFI systems." +SUMMARY = "Hardware lister" +HOMEPAGE = "http://ezix.org/project/wiki/HardwareLiSter" +SECTION = "console/tools" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" + +SRC_URI = " \ + http://ezix.org/software/files/lshw-B.${PV}.tar.gz \ + file://0001-Fix-musl-build.patch \ +" +SRC_URI[md5sum] = "8c70d46e906688309095c73ecb9396e3" +SRC_URI[sha256sum] = "9bb347ac87142339a366a1759ac845e3dbb337ec000aa1b99b50ac6758a80f80" + +S = "${WORKDIR}/lshw-B.${PV}" + +do_compile() { + # build core only - don't ship gui + oe_runmake -C src core +} + +do_install() { + oe_runmake install DESTDIR=${D} +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch b/meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch new file mode 100644 index 000000000..a302874d7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch @@ -0,0 +1,90 @@ +From 1e6df25ac28dcd89f0324177bb55019422404b44 Mon Sep 17 00:00:00 2001 +From: Roberto Ierusalimschy +Date: Thu, 3 Sep 2020 15:32:17 +0800 +Subject: [PATCH] Fixed bug: barriers cannot be active during sweep + +Barriers cannot be active during sweep, even in generational mode. +(Although gen. mode is not incremental, it can hit a barrier when +deleting a thread and closing its upvalues.) The colors of objects are +being changed during sweep and, therefore, cannot be trusted. + +Upstream-Status: Backport [https://github.com/lua/lua/commit/a6da1472c0c5e05ff249325f979531ad51533110] +CVE: CVE-2020-24371 + +[Adjust code KGC_INC -> KGC_NORMAL, refer 69371c4b84becac09c445aae01d005b49658ef82] +Signed-off-by: Wenlin Kang +--- + src/lgc.c | 33 ++++++++++++++++++++++++--------- + 1 file changed, 24 insertions(+), 9 deletions(-) + +diff --git a/src/lgc.c b/src/lgc.c +index 973c269..7af23d5 100644 +--- a/src/lgc.c ++++ b/src/lgc.c +@@ -142,10 +142,17 @@ static int iscleared (global_State *g, const TValue *o) { + + + /* +-** barrier that moves collector forward, that is, mark the white object +-** being pointed by a black object. (If in sweep phase, clear the black +-** object to white [sweep it] to avoid other barrier calls for this +-** same object.) ++** Barrier that moves collector forward, that is, marks the white object ++** 'v' being pointed by the black object 'o'. In the generational ++** mode, 'v' must also become old, if 'o' is old; however, it cannot ++** be changed directly to OLD, because it may still point to non-old ++** objects. So, it is marked as OLD0. In the next cycle it will become ++** OLD1, and in the next it will finally become OLD (regular old). By ++** then, any object it points to will also be old. If called in the ++** incremental sweep phase, it clears the black object to white (sweep ++** it) to avoid other barrier calls for this same object. (That cannot ++** be done is generational mode, as its sweep does not distinguish ++** whites from deads.) + */ + void luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v) { + global_State *g = G(L); +@@ -154,7 +161,8 @@ void luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v) { + reallymarkobject(g, v); /* restore invariant */ + else { /* sweep phase */ + lua_assert(issweepphase(g)); +- makewhite(g, o); /* mark main obj. as white to avoid other barriers */ ++ if (g->gckind == KGC_NORMAL) /* incremental mode? */ ++ makewhite(g, o); /* mark 'o' as white to avoid other barriers */ + } + } + +@@ -299,10 +307,15 @@ static void markbeingfnz (global_State *g) { + + + /* +-** Mark all values stored in marked open upvalues from non-marked threads. +-** (Values from marked threads were already marked when traversing the +-** thread.) Remove from the list threads that no longer have upvalues and +-** not-marked threads. ++** For each non-marked thread, simulates a barrier between each open ++** upvalue and its value. (If the thread is collected, the value will be ++** assigned to the upvalue, but then it can be too late for the barrier ++** to act. The "barrier" does not need to check colors: A non-marked ++** thread must be young; upvalues cannot be older than their threads; so ++** any visited upvalue must be young too.) Also removes the thread from ++** the list, as it was already visited. Removes also threads with no ++** upvalues, as they have nothing to be checked. (If the thread gets an ++** upvalue later, it will be linked in the list again.) + */ + static void remarkupvals (global_State *g) { + lua_State *thread; +@@ -313,9 +326,11 @@ static void remarkupvals (global_State *g) { + p = &thread->twups; /* keep marked thread with upvalues in the list */ + else { /* thread is not marked or without upvalues */ + UpVal *uv; ++ lua_assert(!isold(thread) || thread->openupval == NULL); + *p = thread->twups; /* remove thread from the list */ + thread->twups = thread; /* mark that it is out of list */ + for (uv = thread->openupval; uv != NULL; uv = uv->u.open.next) { ++ lua_assert(getage(uv) <= getage(thread)); + if (uv->u.open.touched) { + markvalue(g, uv->v); /* remark upvalue's value */ + uv->u.open.touched = 0; +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2020-15945.patch b/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2020-15945.patch new file mode 100644 index 000000000..89ce49148 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2020-15945.patch @@ -0,0 +1,167 @@ +From d8d344365945a534f700c82c5dd26f704f89fef3 Mon Sep 17 00:00:00 2001 +From: Roberto Ierusalimschy +Date: Wed, 5 Aug 2020 16:59:58 +0800 +Subject: [PATCH] Fixed bug: invalid 'oldpc' when returning to a function + +The field 'L->oldpc' is not always updated when control returns to a +function; an invalid value can seg. fault when computing 'changedline'. +(One example is an error in a finalizer; control can return to +'luaV_execute' without executing 'luaD_poscall'.) Instead of trying to +fix all possible corner cases, it seems safer to be resilient to invalid +values for 'oldpc'. Valid but wrong values at most cause an extra call +to a line hook. + +CVE: CVE-2020-15945 + +[Adjust the code to be applicable to the tree] + +Upstream-Status: Backport [https://github.com/lua/lua/commit/a2195644d89812e5b157ce7bac35543e06db05e3] + +Signed-off-by: Wenlin Kang +Signed-off-by: Joe Slater + +--- + src/ldebug.c | 30 +++++++++++++++--------------- + src/ldebug.h | 4 ++++ + src/ldo.c | 2 +- + src/lstate.c | 1 + + src/lstate.h | 2 +- + 5 files changed, 22 insertions(+), 17 deletions(-) + +diff --git a/src/ldebug.c b/src/ldebug.c +index 239affb..832b16c 100644 +--- a/src/ldebug.c ++++ b/src/ldebug.c +@@ -34,9 +34,8 @@ + #define noLuaClosure(f) ((f) == NULL || (f)->c.tt == LUA_TCCL) + + +-/* Active Lua function (given call info) */ +-#define ci_func(ci) (clLvalue((ci)->func)) +- ++/* inverse of 'pcRel' */ ++#define invpcRel(pc, p) ((p)->code + (pc) + 1) + + static const char *funcnamefromcode (lua_State *L, CallInfo *ci, + const char **name); +@@ -71,20 +70,18 @@ static void swapextra (lua_State *L) { + + /* + ** This function can be called asynchronously (e.g. during a signal). +-** Fields 'oldpc', 'basehookcount', and 'hookcount' (set by +-** 'resethookcount') are for debug only, and it is no problem if they +-** get arbitrary values (causes at most one wrong hook call). 'hookmask' +-** is an atomic value. We assume that pointers are atomic too (e.g., gcc +-** ensures that for all platforms where it runs). Moreover, 'hook' is +-** always checked before being called (see 'luaD_hook'). ++** Fields 'basehookcount' and 'hookcount' (set by 'resethookcount') ++** are for debug only, and it is no problem if they get arbitrary ++** values (causes at most one wrong hook call). 'hookmask' is an atomic ++** value. We assume that pointers are atomic too (e.g., gcc ensures that ++** for all platforms where it runs). Moreover, 'hook' is always checked ++** before being called (see 'luaD_hook'). + */ + LUA_API void lua_sethook (lua_State *L, lua_Hook func, int mask, int count) { + if (func == NULL || mask == 0) { /* turn off hooks? */ + mask = 0; + func = NULL; + } +- if (isLua(L->ci)) +- L->oldpc = L->ci->u.l.savedpc; + L->hook = func; + L->basehookcount = count; + resethookcount(L); +@@ -665,7 +662,10 @@ l_noret luaG_runerror (lua_State *L, const char *fmt, ...) { + void luaG_traceexec (lua_State *L) { + CallInfo *ci = L->ci; + lu_byte mask = L->hookmask; ++ const Proto *p = ci_func(ci)->p; + int counthook = (--L->hookcount == 0 && (mask & LUA_MASKCOUNT)); ++ /* 'L->oldpc' may be invalid; reset it in this case */ ++ int oldpc = (L->oldpc < p->sizecode) ? L->oldpc : 0; + if (counthook) + resethookcount(L); /* reset count */ + else if (!(mask & LUA_MASKLINE)) +@@ -677,15 +677,15 @@ void luaG_traceexec (lua_State *L) { + if (counthook) + luaD_hook(L, LUA_HOOKCOUNT, -1); /* call count hook */ + if (mask & LUA_MASKLINE) { +- Proto *p = ci_func(ci)->p; + int npc = pcRel(ci->u.l.savedpc, p); + int newline = getfuncline(p, npc); + if (npc == 0 || /* call linehook when enter a new function, */ +- ci->u.l.savedpc <= L->oldpc || /* when jump back (loop), or when */ +- newline != getfuncline(p, pcRel(L->oldpc, p))) /* enter a new line */ ++ ci->u.l.savedpc <= invpcRel(oldpc, p) || /* when jump back (loop), or when */ ++ newline != getfuncline(p, oldpc)) /* enter a new line */ + luaD_hook(L, LUA_HOOKLINE, newline); /* call line hook */ ++ ++ L->oldpc = npc; /* 'pc' of last call to line hook */ + } +- L->oldpc = ci->u.l.savedpc; + if (L->status == LUA_YIELD) { /* did hook yield? */ + if (counthook) + L->hookcount = 1; /* undo decrement to zero */ +diff --git a/src/ldebug.h b/src/ldebug.h +index 0e31546..c224cc4 100644 +--- a/src/ldebug.h ++++ b/src/ldebug.h +@@ -13,6 +13,10 @@ + + #define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1) + ++/* Active Lua function (given call info) */ ++#define ci_func(ci) (clLvalue((ci)->func)) ++ ++ + #define getfuncline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : -1) + + #define resethookcount(L) (L->hookcount = L->basehookcount) +diff --git a/src/ldo.c b/src/ldo.c +index 90b695f..f66ac1a 100644 +--- a/src/ldo.c ++++ b/src/ldo.c +@@ -382,7 +382,7 @@ int luaD_poscall (lua_State *L, CallInfo *ci, StkId firstResult, int nres) { + luaD_hook(L, LUA_HOOKRET, -1); + firstResult = restorestack(L, fr); + } +- L->oldpc = ci->previous->u.l.savedpc; /* 'oldpc' for caller function */ ++ L->oldpc = pcRel(ci->u.l.savedpc, ci_func(ci)->p); /* 'oldpc' for caller function */ + } + res = ci->func; /* res == final position of 1st result */ + L->ci = ci->previous; /* back to caller */ +diff --git a/src/lstate.c b/src/lstate.c +index 9194ac3..3573e36 100644 +--- a/src/lstate.c ++++ b/src/lstate.c +@@ -236,6 +236,7 @@ static void preinit_thread (lua_State *L, global_State *g) { + L->nny = 1; + L->status = LUA_OK; + L->errfunc = 0; ++ L->oldpc = 0; + } + + +diff --git a/src/lstate.h b/src/lstate.h +index a469466..d75eadf 100644 +--- a/src/lstate.h ++++ b/src/lstate.h +@@ -164,7 +164,6 @@ struct lua_State { + StkId top; /* first free slot in the stack */ + global_State *l_G; + CallInfo *ci; /* call info for current function */ +- const Instruction *oldpc; /* last pc traced */ + StkId stack_last; /* last free slot in the stack */ + StkId stack; /* stack base */ + UpVal *openupval; /* list of open upvalues in this stack */ +@@ -174,6 +173,7 @@ struct lua_State { + CallInfo base_ci; /* CallInfo for first level (C calling Lua) */ + volatile lua_Hook hook; + ptrdiff_t errfunc; /* current error handling function (stack index) */ ++ int oldpc; /* last pc traced */ + int stacksize; + int basehookcount; + int hookcount; +-- +2.13.3 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb b/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb index d3461b06d..7d84ea60b 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb @@ -8,6 +8,8 @@ SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \ file://lua.pc.in \ file://0001-Allow-building-lua-without-readline-on-Linux.patch \ file://CVE-2020-15888.patch \ + file://CVE-2020-15945.patch \ + file://0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch \ " # if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release. diff --git a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb index cc9039416..6573efcd9 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb @@ -3,13 +3,15 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d739bb9250a55c124a545b588fd76771" HOMEPAGE = "http://luajit.org" -PV = "2.1.0~beta3" -SRCREV = "0ad60ccbc3768fa8e3e726858adf261950edbc22" SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \ file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \ file://clang.patch \ " +# Set PV to a version tag and date associated with SRCREV if it is later. +PV = "2.1.0~beta3-200809" +SRCREV = "94d4abcca966df2cc423e821bcacd04898f73117" + S = "${WORKDIR}/git" inherit pkgconfig binconfig siteinfo diff --git a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.4.bb b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.4.bb deleted file mode 100644 index fa3c73451..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.4.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "The Mercurial distributed SCM" -HOMEPAGE = "http://mercurial.selenic.com/" -SECTION = "console/utils" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "python3 python3-native" -RDEPENDS_${PN} = "python3 python3-modules" - -inherit python3native - -SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz" -SRC_URI[md5sum] = "0859029d0bb54bcf7c583c55680573cb" -SRC_URI[sha256sum] = "1df8d1978aefcbb65dc51e3666a452583f47aeaf3c5682e4c00a3b23cd805d6a" - -S = "${WORKDIR}/mercurial-${PV}" - -BBCLASSEXTEND = "native" - -export LDSHARED="${CCLD} -shared" - -EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \ - PREFIX=${prefix}" - -do_configure_append () { - sed -i -e 's:PYTHON?=python:PYTHON=python3:g' ${S}/Makefile -} - -do_install () { - oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix} - sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/hg -} -PACKAGES =+ "${PN}-python" - -FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}" - -FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" - diff --git a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb new file mode 100644 index 000000000..7980960f1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb @@ -0,0 +1,38 @@ +SUMMARY = "The Mercurial distributed SCM" +HOMEPAGE = "http://mercurial.selenic.com/" +SECTION = "console/utils" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "python3 python3-native" +RDEPENDS_${PN} = "python3 python3-modules" + +inherit python3native + +SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz" +SRC_URI[md5sum] = "17b21729cbc61dda80b2e3dfc046319f" +SRC_URI[sha256sum] = "c1ed28e1534304a7a4981ed59905286d1c56acd5b75755eedd184171a4a782b4" + +S = "${WORKDIR}/mercurial-${PV}" + +BBCLASSEXTEND = "native" + +export LDSHARED="${CCLD} -shared" + +EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \ + PREFIX=${prefix}" + +do_configure_append () { + sed -i -e 's:PYTHON?=python:PYTHON=python3:g' ${S}/Makefile +} + +do_install () { + oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix} + sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/hg +} +PACKAGES =+ "${PN}-python" + +FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}" + +FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" + diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.0.bb deleted file mode 100644 index 0f5ef7052..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "JSON for modern C++" -HOMEPAGE = "https://nlohmann.github.io/json/" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=dd0607f896f392c8b7d0290a676efc24" - -SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1 \ - " - -SRCREV = "d34771cafc87b358ba421faca28facc7f8080174" - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE += "-DJSON_BuildTests=OFF" - -# nlohmann-json is a header only C++ library, so the main package will be empty. - -RDEPENDS_${PN}-dev = "" - -BBCLASSEXTEND = "native nativesdk" - -# other packages commonly reference the file directly as "json.hpp" -# create symlink to allow this usage -do_install_append() { - ln -s nlohmann/json.hpp ${D}${includedir}/json.hpp -} diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.1.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.1.bb new file mode 100644 index 000000000..359324266 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.1.bb @@ -0,0 +1,28 @@ +SUMMARY = "JSON for modern C++" +HOMEPAGE = "https://nlohmann.github.io/json/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=dd0607f896f392c8b7d0290a676efc24" + +SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1 \ + " + +SRCREV = "db78ac1d7716f56fc9f1b030b715f872f93964e4" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE += "-DJSON_BuildTests=OFF" + +# nlohmann-json is a header only C++ library, so the main package will be empty. + +RDEPENDS_${PN}-dev = "" + +BBCLASSEXTEND = "native nativesdk" + +# other packages commonly reference the file directly as "json.hpp" +# create symlink to allow this usage +do_install_append() { + ln -s nlohmann/json.hpp ${D}${includedir}/json.hpp +} diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch deleted file mode 100644 index 618ce2689..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch +++ /dev/null @@ -1,33 +0,0 @@ -From a763610719e7d7f6cdc45569b6fbfdb91bb7c87b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 27 Jul 2019 14:30:08 -0700 -Subject: [PATCH] Do not include syscrtl.h with glibc - -glibc 2.30 has deprecated it see [1] -Fixes -sys/sysctl.h:21:2: error: "The header is deprecated and will be removed." [-Werror,-W#warnings] - -[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=744e829637162bb7d5029632aacf341c64b86990 - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - src/helper/options.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/helper/options.c b/src/helper/options.c -index 12755e010..4007e37f6 100644 ---- a/src/helper/options.c -+++ b/src/helper/options.c -@@ -34,7 +34,7 @@ - #if IS_DARWIN - #include - #endif --#ifdef HAVE_SYS_SYSCTL_H -+#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__) - #include - #endif - #if IS_WIN32 && !IS_CYGWIN --- -2.22.0 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-bitbang-Make-bitbang_swd-extern-definition.patch b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-bitbang-Make-bitbang_swd-extern-definition.patch deleted file mode 100644 index d42b628da..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-bitbang-Make-bitbang_swd-extern-definition.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 428f9f3c4a5be973e4c7fc1325ae9dbe41040df2 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 13 Aug 2020 17:47:35 -0700 -Subject: [PATCH] bitbang: Make bitbang_swd extern definition - -Fixes build with gcc10+ - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - src/jtag/drivers/bitbang.c | 1 + - src/jtag/drivers/bitbang.h | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/jtag/drivers/bitbang.c b/src/jtag/drivers/bitbang.c -index b5078c080..f8612aade 100644 ---- a/src/jtag/drivers/bitbang.c -+++ b/src/jtag/drivers/bitbang.c -@@ -43,6 +43,7 @@ static int bitbang_stableclocks(int num_cycles); - static void bitbang_swd_write_reg(uint8_t cmd, uint32_t value, uint32_t ap_delay_clk); - - struct bitbang_interface *bitbang_interface; -+const struct swd_driver bitbang_swd; - - /* DANGER!!!! clock absolutely *MUST* be 0 in idle or reset won't work! - * -diff --git a/src/jtag/drivers/bitbang.h b/src/jtag/drivers/bitbang.h -index 577717ebd..0faf5d9ae 100644 ---- a/src/jtag/drivers/bitbang.h -+++ b/src/jtag/drivers/bitbang.h -@@ -57,7 +57,7 @@ struct bitbang_interface { - void (*swdio_drive)(bool on); - }; - --const struct swd_driver bitbang_swd; -+extern const struct swd_driver bitbang_swd; - - extern bool swd_mode; - --- -2.28.0 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb index c7d754fdb..4f6aaa8a6 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb @@ -9,15 +9,13 @@ SRC_URI = " \ git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl \ git://repo.or.cz/r/jimtcl.git;protocol=http;destsuffix=git/jimtcl;name=jimtcl \ git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink \ - file://0001-Do-not-include-syscrtl.h-with-glibc.patch \ - file://0001-bitbang-Make-bitbang_swd-extern-definition.patch \ " SRCREV_FORMAT = "openocd" -SRCREV_openocd = "ded67990255cc1e63c77832ffd6e6bef9120873d" +SRCREV_openocd = "d46f28c2ea2611f5fbbc679a5eed253d3dcd2fe3" SRCREV_git2cl = "8373c9f74993e218a08819cbcdbab3f3564bbeba" -SRCREV_jimtcl = "dc4ba7770d580800634f90b67a24e077b4a26d98" -SRCREV_libjaylink = "3322dfa5e7aa56f5b12b7f2197e3e6b850b7b66e" +SRCREV_jimtcl = "0aa0fb4e3a38d38a49de9eb585d93d63a370dcf6" +SRCREV_libjaylink = "9aa7a5957c07bb6e862fc1a6d3153d109c7407e4" PV = "0.10+gitr${SRCPV}" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch old mode 100755 new mode 100644 index 21050f760..a4804d184 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch @@ -1,31 +1,32 @@ -php: remove host specific info from header file +From 1234a8ef7c5ab88e24bc5908f0ccfd55af21aa39 Mon Sep 17 00:00:00 2001 +From: Leon Anavi +Date: Mon, 31 Aug 2020 16:03:27 +0300 +Subject: [PATCH] php: remove host specific info from header file +Based on: https://sources.debian.org/data/main/p/php7.3/7.3.6-1/debian/patches/ 0036-php-5.4.9-fixheader.patch Upstream-Status: Inappropriate [not author] Signed-off-by: Joe Slater - ---- -From: Debian PHP Maintainers -Date: Sat, 2 May 2015 10:26:56 +0200 -Subject: php-5.4.9-fixheader - -Make generated php_config.h constant across rebuilds. +Signed-off-by: Leon Anavi --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 433d7e6..41893d7 100644 +index 2a474ba36d..6d22a21630 100644 --- a/configure.ac +++ b/configure.ac -@@ -1357,7 +1357,7 @@ PHP_BUILD_DATE=`date -u +%Y-%m-%d` +@@ -1323,7 +1323,7 @@ PHP_BUILD_DATE=`date -u +%Y-%m-%d` fi AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date]) --PHP_UNAME=`uname -a | xargs` -+PHP_UNAME=`uname | xargs` +-UNAME=`uname -a | xargs` ++UNAME=`uname | xargs` + PHP_UNAME=${PHP_UNAME:-$UNAME} AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output]) PHP_OS=`uname | xargs` - AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output]) +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb deleted file mode 100644 index f74533c1d..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb +++ /dev/null @@ -1,276 +0,0 @@ -SUMMARY = "A server-side, HTML-embedded scripting language" -HOMEPAGE = "http://www.php.net" -SECTION = "console/network" - -LICENSE = "PHP-3.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7e571b888d585b31f9ef5edcc647fa30" - -BBCLASSEXTEND = "native" -DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native" -DEPENDS_class-native = "zlib-native libxml2-native" - -PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}" - -SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \ - file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \ - file://debian-php-fixheader.patch \ - file://0001-configure.ac-don-t-include-build-libtool.m4.patch \ - file://0001-php.m4-don-t-unset-cache-variables.patch \ - " - -SRC_URI_append_class-target = " \ - file://iconv.patch \ - file://imap-fix-autofoo.patch \ - file://php_exec_native.patch \ - file://php-fpm.conf \ - file://php-fpm-apache.conf \ - file://70_mod_php${PHP_MAJOR_VERSION}.conf \ - file://php-fpm.service \ - file://pear-makefile.patch \ - file://phar-makefile.patch \ - file://0001-opcache-config.m4-enable-opcache.patch \ - file://xfail_two_bug_tests.patch \ - " -S = "${WORKDIR}/php-${PV}" -SRC_URI[md5sum] = "262c258a3b8b5699fcca89a64e58758c" -SRC_URI[sha256sum] = "308e8f4182ec8a2767b0b1b8e1e7c69fb149b37cfb98ee4a37475e082fa9829f" - -inherit autotools pkgconfig python3native gettext - -# phpize is not scanned for absolute paths by default (but php-config is). -# -SSTATE_SCAN_FILES += "phpize" -SSTATE_SCAN_FILES += "build-defs.h" - -PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}" - -# Common EXTRA_OECONF -COMMON_EXTRA_OECONF = "--enable-sockets \ - --enable-pcntl \ - --enable-shared \ - --disable-rpath \ - --with-pic \ - --libdir=${PHP_LIBDIR} \ -" -EXTRA_OECONF = "--enable-mbstring \ - --enable-fpm \ - --with-libdir=${baselib} \ - --with-gettext=${STAGING_LIBDIR}/.. \ - --with-zlib=${STAGING_LIBDIR}/.. \ - --with-iconv=${STAGING_LIBDIR}/.. \ - --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ - --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \ - ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \ - ${COMMON_EXTRA_OECONF} \ -" - -EXTRA_OECONF_append_riscv64 = " --with-pcre-jit=no" -EXTRA_OECONF_append_riscv32 = " --with-pcre-jit=no" - -CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes" - -EXTRA_OECONF_class-native = " \ - --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ - --without-iconv \ - ${COMMON_EXTRA_OECONF} \ -" - -PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ -" -PACKAGECONFIG_class-native = "" - -PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip" - -PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ - --with-pdo-mysql=mysqlnd \ - ,--without-mysqli --without-pdo-mysql \ - ,mysql5" - -PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ - --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ - ,--without-sqlite3 --without-pdo-sqlite \ - ,sqlite3" -PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql" -PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2" -PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2" -PACKAGECONFIG[pam] = ",,libpam" -PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \ - --with-imap-ssl=${STAGING_DIR_HOST} \ - ,--without-imap --without-imap-ssl \ - ,uw-imap" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache" -PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl" -PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" -PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma" -PACKAGECONFIG[mbstring] = "--enable-mbstring,," - -export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" -export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" -CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2" - -# Adding these flags enables dynamic library support, which is disabled by -# default when cross compiling -# See https://bugs.php.net/bug.php?id=60109 -CFLAGS += " -DHAVE_LIBDL " -LDFLAGS += " -ldl " - -EXTRA_OEMAKE = "INSTALL_ROOT=${D}" - -acpaths = "" - -do_configure_prepend () { - rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 - find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!' -} - -do_configure_append() { - # No, libtool, we really don't want rpath set... - sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool - sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool -} - -do_install_append_class-native() { - rm -rf ${D}/${PHP_LIBDIR}/php/.registry - rm -rf ${D}/${PHP_LIBDIR}/php/.channels - rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]* -} - -do_install_prepend() { - cat ${ACLOCALDIR}/libtool.m4 ${ACLOCALDIR}/lt~obsolete.m4 ${ACLOCALDIR}/ltoptions.m4 \ - ${ACLOCALDIR}/ltsugar.m4 ${ACLOCALDIR}/ltversion.m4 > ${S}/build/libtool.m4 -} - -do_install_prepend_class-target() { - if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then - # Install dummy config file so apxs doesn't fail - install -d ${D}${sysconfdir}/apache2 - printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf - fi -} - -# fixme -do_install_append_class-target() { - install -d ${D}${sysconfdir}/ - rm -rf ${D}/${TMPDIR} - rm -rf ${D}/.registry - rm -rf ${D}/.channels - rm -rf ${D}/.[a-z]* - rm -rf ${D}/var - rm -f ${D}/${sysconfdir}/php-fpm.conf.default - install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf - install -d ${D}/${sysconfdir}/apache2/conf.d - install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf - install -d ${D}${sysconfdir}/init.d - sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm - sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm - sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm - install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm - install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/php-fpm.service ${D}${systemd_unitdir}/system/ - sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ - ${D}${systemd_unitdir}/system/php-fpm.service - fi - - TMP=`dirname ${D}/${TMPDIR}` - while test ${TMP} != ${D}; do - if [ -d ${TMP} ]; then - rmdir ${TMP} - fi - TMP=`dirname ${TMP}`; - done - - if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/apache2/modules.d - install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} - install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d - sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf - cat ${S}/php.ini-production | \ - sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ - > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini - rm -f ${D}${sysconfdir}/apache2/httpd.conf* - fi -} - -SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess" - -php_sysroot_preprocess () { - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - - sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize - sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config -} - -MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}" - -PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}" - -RDEPENDS_${PN} += "libgcc" -RDEPENDS_${PN}-pear = "${PN}" -RDEPENDS_${PN}-phar = "${PN}-cli" -RDEPENDS_${PN}-cli = "${PN}" -RDEPENDS_${PN}-modphp = "${PN} apache2" -RDEPENDS_${PN}-opcache = "${PN}" - -INITSCRIPT_PACKAGES = "${PN}-fpm" -inherit update-rc.d - -FILES_${PN}-dbg =+ "${bindir}/.debug \ - ${libexecdir}/apache2/modules/.debug" -FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc" -FILES_${PN}-cli = "${bindir}/php" -FILES_${PN}-phar = "${bindir}/phar*" -FILES_${PN}-cgi = "${bindir}/php-cgi" -FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service ${sysconfdir}/php-fpm.d/www.conf.default" -FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" -CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf" -CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" -INITSCRIPT_NAME_${PN}-fpm = "php-fpm" -INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60" -FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \ - ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \ - ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \ - ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \ - ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \ - ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \ - ${PHP_LIBDIR}/php/data/PEAR \ - ${sysconfdir}/pear.conf" -FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \ - ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \ - ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \ - ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test" -FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a" -FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}" -FILES_${PN} = "${PHP_LIBDIR}/php" -FILES_${PN} += "${bindir} ${libexecdir}/apache2" - -SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server" -FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}" - -MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}" -RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" -RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" -RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}" - -do_install_append_class-native() { - create_wrapper ${D}${bindir}/php \ - PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ -} - - -# Fails to build with thumb-1 (qemuarm) -# | {standard input}: Assembler messages: -# | {standard input}:3719: Error: selected processor does not support Thumb mode `smull r0,r2,r9,r3' -# | {standard input}:3720: Error: unshifted register required -- `sub r2,r2,r0,asr#31' -# | {standard input}:3796: Error: selected processor does not support Thumb mode `smull r0,r2,r3,r3' -# | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31' -# | make: *** [ext/standard/math.lo] Error 1 -ARM_INSTRUCTION_SET = "arm" diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb new file mode 100644 index 000000000..abd8b1672 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb @@ -0,0 +1,277 @@ +SUMMARY = "A server-side, HTML-embedded scripting language" +HOMEPAGE = "http://www.php.net" +SECTION = "console/network" + +LICENSE = "PHP-3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7e571b888d585b31f9ef5edcc647fa30" + +BBCLASSEXTEND = "native" +DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native" +DEPENDS_class-native = "zlib-native libxml2-native" + +PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}" + +SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \ + file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \ + file://debian-php-fixheader.patch \ + file://0001-configure.ac-don-t-include-build-libtool.m4.patch \ + file://0001-php.m4-don-t-unset-cache-variables.patch \ + " + +SRC_URI_append_class-target = " \ + file://iconv.patch \ + file://imap-fix-autofoo.patch \ + file://php_exec_native.patch \ + file://php-fpm.conf \ + file://php-fpm-apache.conf \ + file://70_mod_php${PHP_MAJOR_VERSION}.conf \ + file://php-fpm.service \ + file://pear-makefile.patch \ + file://phar-makefile.patch \ + file://0001-opcache-config.m4-enable-opcache.patch \ + file://xfail_two_bug_tests.patch \ + " + +S = "${WORKDIR}/php-${PV}" +SRC_URI[md5sum] = "e68a66c54b080d108831f6dc2e1e403d" +SRC_URI[sha256sum] = "2e270958a4216480da7886743438ccc92b6acf32ea96fefda88d07e0a5095deb" + +inherit autotools pkgconfig python3native gettext + +# phpize is not scanned for absolute paths by default (but php-config is). +# +SSTATE_SCAN_FILES += "phpize" +SSTATE_SCAN_FILES += "build-defs.h" + +PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}" + +# Common EXTRA_OECONF +COMMON_EXTRA_OECONF = "--enable-sockets \ + --enable-pcntl \ + --enable-shared \ + --disable-rpath \ + --with-pic \ + --libdir=${PHP_LIBDIR} \ +" +EXTRA_OECONF = "--enable-mbstring \ + --enable-fpm \ + --with-libdir=${baselib} \ + --with-gettext=${STAGING_LIBDIR}/.. \ + --with-zlib=${STAGING_LIBDIR}/.. \ + --with-iconv=${STAGING_LIBDIR}/.. \ + --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ + --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \ + ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \ + ${COMMON_EXTRA_OECONF} \ +" + +EXTRA_OECONF_append_riscv64 = " --with-pcre-jit=no" +EXTRA_OECONF_append_riscv32 = " --with-pcre-jit=no" + +CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes" + +EXTRA_OECONF_class-native = " \ + --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ + --without-iconv \ + ${COMMON_EXTRA_OECONF} \ +" + +PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ +" +PACKAGECONFIG_class-native = "" + +PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip" + +PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ + --with-pdo-mysql=mysqlnd \ + ,--without-mysqli --without-pdo-mysql \ + ,mysql5" + +PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ + --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ + ,--without-sqlite3 --without-pdo-sqlite \ + ,sqlite3" +PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql" +PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2" +PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2" +PACKAGECONFIG[pam] = ",,libpam" +PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \ + --with-imap-ssl=${STAGING_DIR_HOST} \ + ,--without-imap --without-imap-ssl \ + ,uw-imap" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache" +PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl" +PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" +PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma" +PACKAGECONFIG[mbstring] = "--enable-mbstring,," + +export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" +export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" +CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2" + +# Adding these flags enables dynamic library support, which is disabled by +# default when cross compiling +# See https://bugs.php.net/bug.php?id=60109 +CFLAGS += " -DHAVE_LIBDL " +LDFLAGS += " -ldl " + +EXTRA_OEMAKE = "INSTALL_ROOT=${D}" + +acpaths = "" + +do_configure_prepend () { + rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 + find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!' +} + +do_configure_append() { + # No, libtool, we really don't want rpath set... + sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool + sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool +} + +do_install_append_class-native() { + rm -rf ${D}/${PHP_LIBDIR}/php/.registry + rm -rf ${D}/${PHP_LIBDIR}/php/.channels + rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]* +} + +do_install_prepend() { + cat ${ACLOCALDIR}/libtool.m4 ${ACLOCALDIR}/lt~obsolete.m4 ${ACLOCALDIR}/ltoptions.m4 \ + ${ACLOCALDIR}/ltsugar.m4 ${ACLOCALDIR}/ltversion.m4 > ${S}/build/libtool.m4 +} + +do_install_prepend_class-target() { + if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then + # Install dummy config file so apxs doesn't fail + install -d ${D}${sysconfdir}/apache2 + printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf + fi +} + +# fixme +do_install_append_class-target() { + install -d ${D}${sysconfdir}/ + rm -rf ${D}/${TMPDIR} + rm -rf ${D}/.registry + rm -rf ${D}/.channels + rm -rf ${D}/.[a-z]* + rm -rf ${D}/var + rm -f ${D}/${sysconfdir}/php-fpm.conf.default + install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf + install -d ${D}/${sysconfdir}/apache2/conf.d + install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf + install -d ${D}${sysconfdir}/init.d + sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm + sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm + sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm + install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm + install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/php-fpm.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ + ${D}${systemd_unitdir}/system/php-fpm.service + fi + + TMP=`dirname ${D}/${TMPDIR}` + while test ${TMP} != ${D}; do + if [ -d ${TMP} ]; then + rmdir ${TMP} + fi + TMP=`dirname ${TMP}`; + done + + if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/apache2/modules.d + install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} + install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d + sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf + cat ${S}/php.ini-production | \ + sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ + > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini + rm -f ${D}${sysconfdir}/apache2/httpd.conf* + fi +} + +SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess" + +php_sysroot_preprocess () { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + + sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize + sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config +} + +MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}" + +PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}" + +RDEPENDS_${PN} += "libgcc" +RDEPENDS_${PN}-pear = "${PN}" +RDEPENDS_${PN}-phar = "${PN}-cli" +RDEPENDS_${PN}-cli = "${PN}" +RDEPENDS_${PN}-modphp = "${PN} apache2" +RDEPENDS_${PN}-opcache = "${PN}" + +INITSCRIPT_PACKAGES = "${PN}-fpm" +inherit update-rc.d + +FILES_${PN}-dbg =+ "${bindir}/.debug \ + ${libexecdir}/apache2/modules/.debug" +FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc" +FILES_${PN}-cli = "${bindir}/php" +FILES_${PN}-phar = "${bindir}/phar*" +FILES_${PN}-cgi = "${bindir}/php-cgi" +FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service ${sysconfdir}/php-fpm.d/www.conf.default" +FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" +CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf" +CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" +INITSCRIPT_NAME_${PN}-fpm = "php-fpm" +INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60" +FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \ + ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \ + ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \ + ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \ + ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \ + ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \ + ${PHP_LIBDIR}/php/data/PEAR \ + ${sysconfdir}/pear.conf" +FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \ + ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \ + ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \ + ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test" +FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a" +FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}" +FILES_${PN} = "${PHP_LIBDIR}/php" +FILES_${PN} += "${bindir} ${libexecdir}/apache2" + +SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server" +FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}" + +MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}" +RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" +RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" +RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}" + +do_install_append_class-native() { + create_wrapper ${D}${bindir}/php \ + PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ +} + + +# Fails to build with thumb-1 (qemuarm) +# | {standard input}: Assembler messages: +# | {standard input}:3719: Error: selected processor does not support Thumb mode `smull r0,r2,r9,r3' +# | {standard input}:3720: Error: unshifted register required -- `sub r2,r2,r0,asr#31' +# | {standard input}:3796: Error: selected processor does not support Thumb mode `smull r0,r2,r3,r3' +# | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31' +# | make: *** [ext/standard/math.lo] Error 1 +ARM_INSTRUCTION_SET = "arm" diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.12.3.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.12.3.bb deleted file mode 100644 index 21ad7a460..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.12.3.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "Protocol Buffers - structured data serialisation mechanism" -DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \ -efficient yet extensible format. Google uses Protocol Buffers for almost \ -all of its internal RPC protocols and file formats." -HOMEPAGE = "https://github.com/google/protobuf" -SECTION = "console/tools" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b" - -DEPENDS = "zlib" -DEPENDS_append_class-target = " protobuf-native" - -SRCREV = "31ebe2ac71400344a5db91ffc13c4ddfb7589f92" - -SRC_URI = "git://github.com/protocolbuffers/protobuf.git \ - file://run-ptest \ - file://0001-protobuf-fix-configure-error.patch \ - file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \ - file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \ -" -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig ptest - -PACKAGECONFIG ??= "" -PACKAGECONFIG[python] = ",," - -EXTRA_OECONF += "--with-protoc=echo" - -TEST_SRC_DIR = "examples" -LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" - -do_compile_ptest() { - mkdir -p "${B}/${TEST_SRC_DIR}" - - # Add the location of the cross-compiled header and library files - # which haven't been installed yet. - cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}" - - # Save the pkgcfg sysroot variable, and update it to nothing so - # that it doesn't append the sysroot to the beginning of paths. - # The header and library files aren't installed to the target - # system yet. So the absolute paths were specified above. - save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR - export PKG_CONFIG_SYSROOT_DIR= - - # Compile the tests - for lang in ${LANG_SUPPORT}; do - oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang} - done - - # Restore the pkgconfig sysroot variable - export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir -} - -do_install_ptest() { - local olddir=`pwd` - - cd "${S}/${TEST_SRC_DIR}" - install -d "${D}/${PTEST_PATH}" - for i in add_person* list_people*; do - if [ -x "$i" ]; then - install "$i" "${D}/${PTEST_PATH}" - fi - done - cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}" - cd "$olddir" -} - -PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite" - -FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}" -FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}" - -RDEPENDS_${PN}-compiler = "${PN}" -RDEPENDS_${PN}-dev += "${PN}-compiler" -RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}" - -MIPS_INSTRUCTION_SET = "mips" - -BBCLASSEXTEND = "native nativesdk" - -LDFLAGS_append_arm = " -latomic" -LDFLAGS_append_mips = " -latomic" -LDFLAGS_append_powerpc = " -latomic" -LDFLAGS_append_mipsel = " -latomic" diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.13.0.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.13.0.bb new file mode 100644 index 000000000..f2c5e2bee --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.13.0.bb @@ -0,0 +1,90 @@ +SUMMARY = "Protocol Buffers - structured data serialisation mechanism" +DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \ +efficient yet extensible format. Google uses Protocol Buffers for almost \ +all of its internal RPC protocols and file formats." +HOMEPAGE = "https://github.com/google/protobuf" +SECTION = "console/tools" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b" + +DEPENDS = "zlib" +DEPENDS_append_class-target = " protobuf-native" + +SRCREV = "fde7cf7358ec7cd69e8db9be4f1fa6a5c431386a" + +SRC_URI = "git://github.com/protocolbuffers/protobuf.git \ + file://run-ptest \ + file://0001-protobuf-fix-configure-error.patch \ + file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \ + file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \ +" +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig ptest + +PACKAGECONFIG ??= "" +PACKAGECONFIG[python] = ",," + +EXTRA_OECONF += "--with-protoc=echo" + +TEST_SRC_DIR = "examples" +LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" + +do_compile_ptest() { + mkdir -p "${B}/${TEST_SRC_DIR}" + + # Add the location of the cross-compiled header and library files + # which haven't been installed yet. + cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}" + + # Save the pkgcfg sysroot variable, and update it to nothing so + # that it doesn't append the sysroot to the beginning of paths. + # The header and library files aren't installed to the target + # system yet. So the absolute paths were specified above. + save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR + export PKG_CONFIG_SYSROOT_DIR= + + # Compile the tests + for lang in ${LANG_SUPPORT}; do + oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang} + done + + # Restore the pkgconfig sysroot variable + export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir +} + +do_install_ptest() { + local olddir=`pwd` + + cd "${S}/${TEST_SRC_DIR}" + install -d "${D}/${PTEST_PATH}" + for i in add_person* list_people*; do + if [ -x "$i" ]; then + install "$i" "${D}/${PTEST_PATH}" + fi + done + cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}" + cd "$olddir" +} + +PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite" + +FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}" +FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}" + +RDEPENDS_${PN}-compiler = "${PN}" +RDEPENDS_${PN}-dev += "${PN}-compiler" +RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}" + +MIPS_INSTRUCTION_SET = "mips" + +BBCLASSEXTEND = "native nativesdk" + +LDFLAGS_append_arm = " -latomic" +LDFLAGS_append_mips = " -latomic" +LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_mipsel = " -latomic" diff --git a/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_0.3.bb b/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_0.3.bb deleted file mode 100644 index 049cdeffc..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_0.3.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Header-only C++ library for JSON Schema validation" -HOMEPAGE = "https://github.com/tristanpenman/valijson" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=015106c62262b2383f6c72063f0998f2" - -SRC_URI = "git://github.com/tristanpenman/valijson.git" -SRCREV = "7a52fc88cdffd6678c009ca2fad700151f7363c6" - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE = "-DINSTALL_HEADERS=1 -DBUILD_TESTS=0" - -DEPENDS = "curlpp" - -# valijson is a header only C++ library, so the main package will be empty. -RDEPENDS_${PN}-dev = "" - -BBCLASSEXTEND = "native nativesdk" - -do_install() { - install -d ${D}${includedir}/compat - install -d ${D}${includedir}/valijson - install -d ${D}${includedir}/valijson/adapters - install -d ${D}${includedir}/valijson/constraints - install -d ${D}${includedir}/valijson/internal - install -d ${D}${includedir}/valijson/utils - - install -m 0644 ${S}/include/compat/* ${D}${includedir}/compat - install -D -m 0644 ${S}/include/valijson/*.hpp -t ${D}${includedir}/valijson - install -D -m 0644 ${S}/include/valijson/adapters/*.hpp -t ${D}${includedir}/valijson/adapters - install -D -m 0644 ${S}/include/valijson/constraints/*.hpp -t ${D}${includedir}/valijson/constraints - install -D -m 0644 ${S}/include/valijson/internal/*.hpp -t ${D}${includedir}/valijson/internal - install -D -m 0644 ${S}/include/valijson/utils/*.hpp -t ${D}${includedir}/valijson/utils -} diff --git a/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0003-src-Makefile-Fix-Makefile-macro-error.patch b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0003-src-Makefile-Fix-Makefile-macro-error.patch new file mode 100644 index 000000000..3d861fc62 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0003-src-Makefile-Fix-Makefile-macro-error.patch @@ -0,0 +1,29 @@ +From ea4ca50ca9cab755f3722096158a46deec0e663a Mon Sep 17 00:00:00 2001 +From: Arthur She +Date: Tue, 25 Aug 2020 09:51:26 -0700 +Subject: [PATCH] src/Makefile: Fix Makefile macro error + +This error caused the curl library wouldn't be linked correctly. + +Upstream-Status: Pending +Signed-off-by: Arthur She +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 1cdf8b0..acd04dd 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -57,7 +57,7 @@ ifeq ($(MUST_BUILD_CURL_CLIENT),yes) + TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/xmlrpc_curl_transport + TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curltransaction + TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curlmulti +- TRANSPORT_LIBDEP += $(shell $CURL_CONFIG --libs) ++ TRANSPORT_LIBDEP += $(shell $(CURL_CONFIG) --libs) + TRANSPORT_INCLUDES += -Isrcdir/lib/curl_transport + endif + ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb index c1f0b78ca..aba6dfd88 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb @@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951" SRC_URI = "git://github.com/mirror/xmlrpc-c.git \ file://0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch \ file://0002-fix-formatting-issues.patch \ + file://0003-src-Makefile-Fix-Makefile-macro-error.patch \ " #Release 1.54.02 diff --git a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli/838.patch b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli/838.patch new file mode 100644 index 000000000..98b888760 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli/838.patch @@ -0,0 +1,48 @@ +Upstream-Status: Backport [https://github.com/google/brotli/pull/838] +From 092446fafb4bfb81738853b7c7f76b293cd92a80 Mon Sep 17 00:00:00 2001 +From: Evgenii Kliuchnikov +Date: Wed, 2 Sep 2020 10:49:49 +0200 +Subject: [PATCH] Revert "Add runtime linker path to pkg-config files (#740)" + +This reverts commit 31754d4ffce14153b5c2addf7a11019ec23f51c1. +--- + scripts/libbrotlicommon.pc.in | 2 +- + scripts/libbrotlidec.pc.in | 2 +- + scripts/libbrotlienc.pc.in | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/scripts/libbrotlicommon.pc.in b/scripts/libbrotlicommon.pc.in +index 10ca969e..2a8cf7a3 100644 +--- a/scripts/libbrotlicommon.pc.in ++++ b/scripts/libbrotlicommon.pc.in +@@ -7,5 +7,5 @@ Name: libbrotlicommon + URL: https://github.com/google/brotli + Description: Brotli common dictionary library + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -R${libdir} -lbrotlicommon ++Libs: -L${libdir} -lbrotlicommon + Cflags: -I${includedir} +diff --git a/scripts/libbrotlidec.pc.in b/scripts/libbrotlidec.pc.in +index e7c3124f..6f8ef2e4 100644 +--- a/scripts/libbrotlidec.pc.in ++++ b/scripts/libbrotlidec.pc.in +@@ -7,6 +7,6 @@ Name: libbrotlidec + URL: https://github.com/google/brotli + Description: Brotli decoder library + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -R${libdir} -lbrotlidec ++Libs: -L${libdir} -lbrotlidec + Requires.private: libbrotlicommon >= 1.0.2 + Cflags: -I${includedir} +diff --git a/scripts/libbrotlienc.pc.in b/scripts/libbrotlienc.pc.in +index 4dd0811b..2098afe2 100644 +--- a/scripts/libbrotlienc.pc.in ++++ b/scripts/libbrotlienc.pc.in +@@ -7,6 +7,6 @@ Name: libbrotlienc + URL: https://github.com/google/brotli + Description: Brotli encoder library + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -R${libdir} -lbrotlienc ++Libs: -L${libdir} -lbrotlienc + Requires.private: libbrotlicommon >= 1.0.2 + Cflags: -I${includedir} diff --git a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb deleted file mode 100644 index 32f855844..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Lossless compression library and tool" -DESCRIPTION = "Brotli is a generic-purpose lossless compression algorithm \ -that it is similar in speed to deflate but offers more dense compression." -HOMEPAGE = "https://github.com/google/brotli" -BUGTRACKER = "https://github.com/google/brotli/issues" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=941ee9cd1609382f946352712a319b4b" - -SRC_URI = "git://github.com/google/brotli.git" -# tag 1.0.7 -SRCREV= "d6d98957ca8ccb1ef45922e978bb10efca0ea541" -S = "${WORKDIR}/git" - -inherit cmake lib_package - -do_install_append () { - for lib in $(ls ${D}${libdir}/*-static.a); do - mv -v "${lib}" "$(echo ${lib} | sed s/-static//)" - done -} - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb new file mode 100644 index 000000000..0038ba74d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb @@ -0,0 +1,23 @@ +SUMMARY = "Lossless compression library and tool" +DESCRIPTION = "Brotli is a generic-purpose lossless compression algorithm \ +that it is similar in speed to deflate but offers more dense compression." +HOMEPAGE = "https://github.com/google/brotli" +BUGTRACKER = "https://github.com/google/brotli/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=941ee9cd1609382f946352712a319b4b" + +SRC_URI = "git://github.com/google/brotli.git \ + file://838.patch " +# tag 1.0.9 +SRCREV= "e61745a6b7add50d380cfd7d3883dd6c62fc2c71" +S = "${WORKDIR}/git" + +inherit cmake lib_package + +do_install_append () { + for lib in $(ls ${D}${libdir}/*-static.a); do + mv -v "${lib}" "$(echo ${lib} | sed s/-static//)" + done +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc index 5214715cd..cffa7f5dc 100644 --- a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc +++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc.inc @@ -12,7 +12,7 @@ SRC_URI = "ftp://ftp.invisible-island.net/byacc/byacc-${PV}.tgz \ EXTRA_OECONF += "--program-transform-name='s,^,b,'" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.11.0.bb b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.11.0.bb deleted file mode 100644 index a70e82e03..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.11.0.bb +++ /dev/null @@ -1,88 +0,0 @@ -SUMMARY = "Collects and summarises system performance statistics" -DESCRIPTION = "collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files." -LICENSE = "GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=1bd21f19f7f0c61a7be8ecacb0e28854" - -DEPENDS = "rrdtool curl libpcap libxml2 yajl libgcrypt libtool lvm2" - -SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \ - file://collectd.init \ - file://collectd.service \ - file://no-gcrypt-badpath.patch \ - file://0001-fix-to-build-with-glibc-2.25.patch \ - file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ - file://0005-Disable-new-gcc8-warnings.patch \ - file://0006-libcollectdclient-Fix-string-overflow-errors.patch \ - file://0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch \ - " -SRC_URI[md5sum] = "13b1c946f6684abe453e24b5cd80ec45" -SRC_URI[sha256sum] = "37b10a806e34aa8570c1cafa6006c604796fae13cc2e1b3e630d33dcba9e5db2" - -inherit autotools python3native update-rc.d pkgconfig systemd - -SYSTEMD_SERVICE_${PN} = "collectd.service" - -# Floatingpoint layout, architecture dependent -# 'nothing', 'endianflip' or 'intswap' -FPLAYOUT ?= "--with-fp-layout=nothing" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[openjdk] = "--with-java=${STAGING_DIR_TARGET}${libdir}/jvm,--without-java,openjdk-7" -PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp --with-libnetsnmp=no,net-snmp" -PACKAGECONFIG[libmemcached] = "--with-libmemcached,--without-libmemcached,libmemcached" -PACKAGECONFIG[iptables] = "--enable-iptables,--disable-iptables,iptables" -PACKAGECONFIG[postgresql] = "--enable-postgresql --with-libpq=yes, \ - --disable-postgresql --with-libpq=no,postgresql" -PACKAGECONFIG[mysql] = "--enable-mysql --with-libmysql=yes, \ - --disable-mysql --with-libmysql=no,mysql5" -PACKAGECONFIG[dbi] = "--enable-dbi,--disable-dbi,libdbi" -PACKAGECONFIG[modbus] = "--enable-modbus,--disable-modbus,libmodbus" -PACKAGECONFIG[libowcapi] = "--with-libowcapi,--without-libowcapi,owfs" -PACKAGECONFIG[sensors] = "--enable-sensors --with-libsensors=yes, \ - --disable-sensors --with-libsensors=no,lmsensors" -PACKAGECONFIG[amqp] = "--enable-amqp --with-librabbitmq=yes, \ - --disable-amqp --with-librabbitmq=no,rabbitmq-c" -# protobuf-c, libvirt that are currently only available in meta-virtualization layer -PACKAGECONFIG[pinba] = "--enable-pinba,--disable-pinba,protobuf-c-native protobuf-c" -PACKAGECONFIG[libvirt] = "--enable-virt,--disable-virt,libvirt" -PACKAGECONFIG[libesmtp] = "--with-libesmtp,--without-libesmtp,libesmtp" -PACKAGECONFIG[libmnl] = "--with-libmnl,--without-libmnl,libmnl" -PACKAGECONFIG[libatasmart] = "--with-libatasmart,--without-libatasmart,libatasmart" -PACKAGECONFIG[ldap] = "--enable-openldap --with-libldap,--disable-openldap --without-libldap, openldap" - -EXTRA_OECONF = " \ - ${FPLAYOUT} \ - --disable-perl --with-libperl=no --with-perl-bindings=no \ - --with-libgcrypt=${STAGING_BINDIR_CROSS}/libgcrypt-config \ - --disable-notify_desktop \ -" - -do_install_append() { - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/collectd.init ${D}${sysconfdir}/init.d/collectd - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/collectd - sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/collectd - sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/collectd - sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/collectd - install -Dm 0640 ${B}/src/collectd.conf ${D}${sysconfdir}/collectd.conf - # Fix configuration file to allow collectd to start up - sed -i 's!^#FQDNLookup[ \t]*true!FQDNLookup false!g' ${D}${sysconfdir}/collectd.conf - - rmdir "${D}${localstatedir}/run" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" - - # Install systemd unit files - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/collectd.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SBINDIR@,${sbindir},g' \ - ${D}${systemd_unitdir}/system/collectd.service -} - -CONFFILES_${PN} = "${sysconfdir}/collectd.conf" - -INITSCRIPT_NAME = "collectd" -INITSCRIPT_PARAMS = "defaults" - -# threshold.so load.so are also provided by gegl -# disk.so is also provided by libgphoto2-camlibs -PRIVATE_LIBS = "threshold.so load.so disk.so" diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb new file mode 100644 index 000000000..40a8442a5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb @@ -0,0 +1,88 @@ +SUMMARY = "Collects and summarises system performance statistics" +DESCRIPTION = "collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files." +LICENSE = "GPLv2 & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=1bd21f19f7f0c61a7be8ecacb0e28854" + +DEPENDS = "rrdtool curl libpcap libxml2 yajl libgcrypt libtool lvm2" + +SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \ + file://collectd.init \ + file://collectd.service \ + file://no-gcrypt-badpath.patch \ + file://0001-fix-to-build-with-glibc-2.25.patch \ + file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ + file://0005-Disable-new-gcc8-warnings.patch \ + file://0006-libcollectdclient-Fix-string-overflow-errors.patch \ + file://0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch \ + " +SRC_URI[md5sum] = "2b23a65960bc323d065234776a542e04" +SRC_URI[sha256sum] = "5bae043042c19c31f77eb8464e56a01a5454e0b39fa07cf7ad0f1bfc9c3a09d6" + +inherit autotools python3native update-rc.d pkgconfig systemd + +SYSTEMD_SERVICE_${PN} = "collectd.service" + +# Floatingpoint layout, architecture dependent +# 'nothing', 'endianflip' or 'intswap' +FPLAYOUT ?= "--with-fp-layout=nothing" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[openjdk] = "--with-java=${STAGING_DIR_TARGET}${libdir}/jvm,--without-java,openjdk-7" +PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp --with-libnetsnmp=no,net-snmp" +PACKAGECONFIG[libmemcached] = "--with-libmemcached,--without-libmemcached,libmemcached" +PACKAGECONFIG[iptables] = "--enable-iptables,--disable-iptables,iptables" +PACKAGECONFIG[postgresql] = "--enable-postgresql --with-libpq=yes, \ + --disable-postgresql --with-libpq=no,postgresql" +PACKAGECONFIG[mysql] = "--enable-mysql --with-libmysql=yes, \ + --disable-mysql --with-libmysql=no,mysql5" +PACKAGECONFIG[dbi] = "--enable-dbi,--disable-dbi,libdbi" +PACKAGECONFIG[modbus] = "--enable-modbus,--disable-modbus,libmodbus" +PACKAGECONFIG[libowcapi] = "--with-libowcapi,--without-libowcapi,owfs" +PACKAGECONFIG[sensors] = "--enable-sensors --with-libsensors=yes, \ + --disable-sensors --with-libsensors=no,lmsensors" +PACKAGECONFIG[amqp] = "--enable-amqp --with-librabbitmq=yes, \ + --disable-amqp --with-librabbitmq=no,rabbitmq-c" +# protobuf-c, libvirt that are currently only available in meta-virtualization layer +PACKAGECONFIG[pinba] = "--enable-pinba,--disable-pinba,protobuf-c-native protobuf-c" +PACKAGECONFIG[libvirt] = "--enable-virt,--disable-virt,libvirt" +PACKAGECONFIG[libesmtp] = "--with-libesmtp,--without-libesmtp,libesmtp" +PACKAGECONFIG[libmnl] = "--with-libmnl,--without-libmnl,libmnl" +PACKAGECONFIG[libatasmart] = "--with-libatasmart,--without-libatasmart,libatasmart" +PACKAGECONFIG[ldap] = "--enable-openldap --with-libldap,--disable-openldap --without-libldap, openldap" + +EXTRA_OECONF = " \ + ${FPLAYOUT} \ + --disable-perl --with-libperl=no --with-perl-bindings=no \ + --with-libgcrypt=${STAGING_BINDIR_CROSS}/libgcrypt-config \ + --disable-notify_desktop \ +" + +do_install_append() { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/collectd.init ${D}${sysconfdir}/init.d/collectd + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/collectd + sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/collectd + sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/collectd + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/collectd + install -Dm 0640 ${B}/src/collectd.conf ${D}${sysconfdir}/collectd.conf + # Fix configuration file to allow collectd to start up + sed -i 's!^#FQDNLookup[ \t]*true!FQDNLookup false!g' ${D}${sysconfdir}/collectd.conf + + rmdir "${D}${localstatedir}/run" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/collectd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/collectd.service +} + +CONFFILES_${PN} = "${sysconfdir}/collectd.conf" + +INITSCRIPT_NAME = "collectd" +INITSCRIPT_PARAMS = "defaults" + +# threshold.so load.so are also provided by gegl +# disk.so is also provided by libgphoto2-camlibs +PRIVATE_LIBS = "threshold.so load.so disk.so" diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/238.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/238.patch deleted file mode 100644 index 14c44e6ed..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/238.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 214f8c71552fc096077f0b916dad75b31eefea3d Mon Sep 17 00:00:00 2001 -From: Gianfranco Costamagna -Date: Fri, 31 Jul 2020 15:26:35 +0200 -Subject: [PATCH] dlt_offline: fix build failures with gcc-10 - -see bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=957140 - -/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_client.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here -/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_common.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: multiple definition of `g_logstorage_cache_size'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: first defined here -/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_common.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here -/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_connection.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: multiple definition of `g_logstorage_cache_size'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: first defined here -/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_connection.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here -/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_event_handler.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: multiple definition of `g_logstorage_cache_size'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: first defined here -/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_event_handler.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here -/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_offline_logstorage.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here ---- - src/offlinelogstorage/dlt_offline_logstorage.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h -index b58da70..8ad84b8 100644 ---- a/src/offlinelogstorage/dlt_offline_logstorage.h -+++ b/src/offlinelogstorage/dlt_offline_logstorage.h -@@ -114,9 +114,9 @@ - #define DLT_OFFLINE_LOGSTORAGE_IS_STRATEGY_SET(S, s) ((S)&(s)) - - /* logstorage max cache */ --unsigned int g_logstorage_cache_max; -+static unsigned int g_logstorage_cache_max; - /* current logstorage cache size */ --unsigned int g_logstorage_cache_size; -+static unsigned int g_logstorage_cache_size; - - typedef struct - { diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/245.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/245.patch new file mode 100644 index 000000000..43057489c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/245.patch @@ -0,0 +1,74 @@ +From 57fd61ea5c58a4f9fcd7140b53ac6cd6e971ef47 Mon Sep 17 00:00:00 2001 +From: Gianfranco Costamagna +Date: Fri, 31 Jul 2020 15:16:02 +0200 +Subject: [PATCH] dlt_offline: fix build failures with gcc-10 + +see bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=957140 + +/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_client.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here +/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_common.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: multiple definition of `g_logstorage_cache_size'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: first defined here +/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_common.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here +/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_connection.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: multiple definition of `g_logstorage_cache_size'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: first defined here +/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_connection.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here +/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_event_handler.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: multiple definition of `g_logstorage_cache_size'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: first defined here +/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_event_handler.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here +/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_offline_logstorage.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here +--- + src/daemon/dlt_daemon_offline_logstorage.c | 1 + + src/offlinelogstorage/dlt_offline_logstorage.h | 4 ++-- + src/offlinelogstorage/dlt_offline_logstorage_behavior.c | 1 + + tests/gtest_dlt_daemon_offline_log.cpp | 1 + + 4 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/daemon/dlt_daemon_offline_logstorage.c b/src/daemon/dlt_daemon_offline_logstorage.c +index 0b3c14f..db9637e 100644 +--- a/src/daemon/dlt_daemon_offline_logstorage.c ++++ b/src/daemon/dlt_daemon_offline_logstorage.c +@@ -56,6 +56,7 @@ DLT_STATIC DltReturnValue dlt_logstorage_split_ecuid(char *key, + return DLT_RETURN_OK; + } + ++unsigned int g_logstorage_cache_max; + /** + * dlt_logstorage_split_ctid + * +diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h +index b58da70..c9bc93b 100644 +--- a/src/offlinelogstorage/dlt_offline_logstorage.h ++++ b/src/offlinelogstorage/dlt_offline_logstorage.h +@@ -114,9 +114,9 @@ + #define DLT_OFFLINE_LOGSTORAGE_IS_STRATEGY_SET(S, s) ((S)&(s)) + + /* logstorage max cache */ +-unsigned int g_logstorage_cache_max; ++extern unsigned int g_logstorage_cache_max; + /* current logstorage cache size */ +-unsigned int g_logstorage_cache_size; ++extern unsigned int g_logstorage_cache_size; + + typedef struct + { +diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c +index afbf8c4..edef482 100644 +--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c ++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c +@@ -32,6 +32,7 @@ + #include "dlt_offline_logstorage_behavior.h" + #include "dlt_offline_logstorage_behavior_internal.h" + ++unsigned int g_logstorage_cache_size; + /** + * dlt_logstorage_log_file_name + * +diff --git a/tests/gtest_dlt_daemon_offline_log.cpp b/tests/gtest_dlt_daemon_offline_log.cpp +index b8965de..0bd4d5e 100644 +--- a/tests/gtest_dlt_daemon_offline_log.cpp ++++ b/tests/gtest_dlt_daemon_offline_log.cpp +@@ -29,6 +29,7 @@ extern "C" + #include + } + ++unsigned int g_logstorage_cache_max; + /* Begin Method: dlt_logstorage::t_dlt_logstorage_list_add*/ + TEST(t_dlt_logstorage_list_add, normal) + { diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb index 3a2b40515..f3fcee4d2 100644 --- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb +++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb @@ -17,8 +17,8 @@ DEPENDS = "zlib gzip-native" SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=https \ file://0002-Don-t-execute-processes-as-a-specific-user.patch \ file://0004-Modify-systemd-config-directory.patch \ - file://238.patch \ file://241.patch \ + file://245.patch \ " SRCREV = "f1ac087c766827b1d0ed9c3a814b3cc052e948f2" diff --git a/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb b/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb index 050b7da3d..3e7fb2a07 100644 --- a/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb +++ b/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb @@ -13,4 +13,8 @@ SRCREV = "800e4b2e6280531a84fd23ee0b48e16baeb90878" S = "${WORKDIR}/git" -inherit autotools-brokensep +inherit autotools-brokensep update-alternatives + +ALTERNATIVE_${PN} = "hexedit" +ALTERNATIVE_LINK_NAME[hexedit] = "${bindir}/hexedit" + diff --git a/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb index 883a6ffe9..457a97453 100644 --- a/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb +++ b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb @@ -39,8 +39,8 @@ EXTRA_OECONF += "\ --enable-foomatic-drv-install \ --disable-foomatic-ppd-install \ --disable-foomatic-rip-hplip-install \ - --with-cupsbackenddir=${libdir}/cups/backend \ - --with-cupsfilterdir=${libdir}/cups/filter \ + --with-cupsbackenddir=${libexecdir}/cups/backend \ + --with-cupsfilterdir=${libexecdir}/cups/filter \ " EXTRA_OEMAKE = "rulessystemdir=${systemd_unitdir}/system/" @@ -52,7 +52,7 @@ do_install_append() { sed -i -e "s|/usr/bin/python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py } -PACKAGES += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal" +PACKAGE_BEFORE_PN += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal" RDEPENDS_${PN} += " \ python3\ @@ -70,15 +70,15 @@ RDEPENDS_${PN}-filter += "perl" # need to snag the debug file or OE will fail on backend package FILES_${PN}-dbg += "\ - ${libdir}/cups/backend/.debug \ + ${libexecdir}/cups/backend/.debug \ ${PYTHON_SITEPACKAGES_DIR}/.debug \ - ${libdir}/cups/filter/.debug " + ${libexecdir}/cups/filter/.debug " FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" FILES_${PN}-ppd = "${datadir}/ppd" FILES_${PN}-cups = "${datadir}/cups" -FILES_${PN}-backend = "${libdir}/cups/backend" -FILES_${PN}-filter = "${libdir}/cups/filter" +FILES_${PN}-backend = "${libexecdir}/cups/backend" +FILES_${PN}-filter = "${libexecdir}/cups/filter" FILES_${PN}-hal = "${datadir}/hal" FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so" diff --git a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch new file mode 100644 index 000000000..7c29e15e2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch @@ -0,0 +1,31 @@ +From 8ce50bf569ec2d931735180079bbe507730626c8 Mon Sep 17 00:00:00 2001 +From: Yann Dirson +Date: Mon, 7 Sep 2020 18:17:21 +0200 +Subject: [PATCH] Remove buggy test confusing host and target + +--- + src/libcec/cmake/CheckPlatformSupport.cmake | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake +index 1d99bd8..31dac4f 100644 +--- a/src/libcec/cmake/CheckPlatformSupport.cmake ++++ b/src/libcec/cmake/CheckPlatformSupport.cmake +@@ -266,14 +266,6 @@ else() + DESTINATION python/cec) + endif() + else() +- if(EXISTS "/etc/os-release") +- file(READ "/etc/os-release" OS_RELEASE) +- string(REGEX MATCH "ID(_LIKE)?=debian" IS_DEBIAN ${OS_RELEASE}) +- if (IS_DEBIAN) +- SET(PYTHON_PKG_DIR "dist-packages") +- endif() +- endif() +- + if (NOT PYTHON_PKG_DIR) + SET(PYTHON_PKG_DIR "site-packages") + endif() +-- +2.28.0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb index 894ee52f9..48be1fdac 100644 --- a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb +++ b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb @@ -13,16 +13,22 @@ SRCREV = "29d82c80bcc62be2878a9ac080de7eb286c4beb9" SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release \ file://0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch \ file://0001-Enhance-reproducibility.patch \ + file://0001-Remove-buggy-test-confusing-host-and-target.patch \ " S = "${WORKDIR}/git" inherit cmake pkgconfig -# Put client tools into a separate package -PACKAGE_BEFORE_PN += "${PN}-tools" -FILES_${PN}-tools = "${bindir}" -RDEPENDS_${PN}-tools = "python3-${BPN} python3-core" +# default config is for RaspberryPi API, use the Linux 4.10+ API by default +PLATFORM_CMAKE_FLAGS ?= "-DHAVE_LINUX_API=1 -DHAVE_RPI_API=0" +EXTRA_OECMAKE += "${PLATFORM_CMAKE_FLAGS}" + +# Put client examples into separate packages +PACKAGE_BEFORE_PN += "${PN}-examples-python ${PN}-examples" +FILES_${PN}-examples-python = "${bindir}/py*" +FILES_${PN}-examples = "${bindir}" +RDEPENDS_${PN}-examples-python = "python3-${BPN} python3-core" # Create the wrapper for python3 PACKAGES += "python3-${BPN}" diff --git a/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch b/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch index 5adc7d9fd..d5fb8e7c8 100644 --- a/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch +++ b/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch @@ -1,6 +1,3 @@ -From 82f98dcbc429bbe89a9837c533cbcbc02e77c790 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andr=C3=A9=20Draszik?= -Date: Tue, 28 Jun 2016 12:43:31 +0100 Subject: [PATCH] idn: fix printf() format security warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -48,35 +45,37 @@ Content-Transfer-Encoding: 8bit | ^ Signed-off-by: André Draszik ---- +Signed-off-by: Zang Ruochen + Upstream-Status: Pending +--- src/idn.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/idn.c b/src/idn.c -index be1c7d1..68e4291 100644 +index f2fee11..c6e5caa 100644 --- a/src/idn.c +++ b/src/idn.c -@@ -170,7 +170,7 @@ main (int argc, char *argv[]) +@@ -169,7 +169,7 @@ main (int argc, char *argv[]) (args_info.idna_to_unicode_given ? 1 : 0) + (args_info.nfkc_given ? 1 : 0) != 1) { -- error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified")); -+ error (0, 0, "%s", _("only one of -s, -e, -d, -a, -u or -n can be specified")); +- error (0, 0, ++ error (0, 0, "%s", + _("only one of -s, -e, -d, -a, -u or -n can be specified")); usage (EXIT_FAILURE); } +@@ -183,7 +183,7 @@ main (int argc, char *argv[]) -@@ -185,7 +185,7 @@ main (int argc, char *argv[]) if (!args_info.quiet_given - && args_info.inputs_num == 0 - && isatty (fileno (stdin))) + && args_info.inputs_num == 0 && isatty (fileno (stdin))) - fprintf (stderr, _("Type each input string on a line by itself, " + fprintf (stderr, "%s", _("Type each input string on a line by itself, " "terminated by a newline character.\n")); do -@@ -197,7 +197,7 @@ main (int argc, char *argv[]) +@@ -195,7 +195,7 @@ main (int argc, char *argv[]) if (feof (stdin)) break; @@ -85,7 +84,7 @@ index be1c7d1..68e4291 100644 } if (strlen (line) > 0) -@@ -215,7 +215,7 @@ main (int argc, char *argv[]) +@@ -213,7 +213,7 @@ main (int argc, char *argv[]) if (!q) { free (p); @@ -94,7 +93,7 @@ index be1c7d1..68e4291 100644 _("could not convert from UTF-8 to UCS-4")); } -@@ -240,7 +240,7 @@ main (int argc, char *argv[]) +@@ -238,7 +238,7 @@ main (int argc, char *argv[]) if (!q) { free (r); @@ -103,7 +102,7 @@ index be1c7d1..68e4291 100644 _("could not convert from UTF-8 to UCS-4")); } -@@ -277,7 +277,7 @@ main (int argc, char *argv[]) +@@ -275,7 +275,7 @@ main (int argc, char *argv[]) q = stringprep_utf8_to_ucs4 (p, -1, &len); free (p); if (!q) @@ -112,7 +111,7 @@ index be1c7d1..68e4291 100644 _("could not convert from UTF-8 to UCS-4")); if (args_info.debug_given) -@@ -336,7 +336,7 @@ main (int argc, char *argv[]) +@@ -334,7 +334,7 @@ main (int argc, char *argv[]) r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL); free (q); if (!r) @@ -121,7 +120,7 @@ index be1c7d1..68e4291 100644 _("could not convert from UCS-4 to UTF-8")); p = stringprep_utf8_to_locale (r); -@@ -360,7 +360,7 @@ main (int argc, char *argv[]) +@@ -358,7 +358,7 @@ main (int argc, char *argv[]) q = stringprep_utf8_to_ucs4 (p, -1, NULL); free (p); if (!q) @@ -130,7 +129,7 @@ index be1c7d1..68e4291 100644 _("could not convert from UCS-4 to UTF-8")); if (args_info.debug_given) -@@ -438,7 +438,7 @@ main (int argc, char *argv[]) +@@ -436,7 +436,7 @@ main (int argc, char *argv[]) if (!q) { free (p); @@ -139,7 +138,7 @@ index be1c7d1..68e4291 100644 _("could not convert from UCS-4 to UTF-8")); } -@@ -494,7 +494,7 @@ main (int argc, char *argv[]) +@@ -492,7 +492,7 @@ main (int argc, char *argv[]) r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL); free (q); if (!r) @@ -148,7 +147,7 @@ index be1c7d1..68e4291 100644 _("could not convert from UTF-8 to UCS-4")); p = stringprep_utf8_to_locale (r); -@@ -523,7 +523,7 @@ main (int argc, char *argv[]) +@@ -521,7 +521,7 @@ main (int argc, char *argv[]) if (!q) { free (p); @@ -157,7 +156,7 @@ index be1c7d1..68e4291 100644 _("could not convert from UTF-8 to UCS-4")); } -@@ -537,7 +537,8 @@ main (int argc, char *argv[]) +@@ -535,7 +535,8 @@ main (int argc, char *argv[]) r = stringprep_utf8_nfkc_normalize (p, -1); free (p); if (!r) @@ -167,7 +166,7 @@ index be1c7d1..68e4291 100644 if (args_info.debug_given) { -@@ -547,7 +548,7 @@ main (int argc, char *argv[]) +@@ -545,7 +546,7 @@ main (int argc, char *argv[]) if (!q) { free (r); @@ -177,5 +176,5 @@ index be1c7d1..68e4291 100644 } -- -2.8.1 +2.25.1 diff --git a/meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.35.bb b/meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.35.bb deleted file mode 100644 index 105740354..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.35.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Internationalized Domain Name support library" -DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group." -HOMEPAGE = "http://www.gnu.org/software/libidn/" -SECTION = "libs" -LICENSE = "(LGPLv2.1+ | LGPLv3) & GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=df4be47940a91ee69556f5f71eed4aec \ - file://COPYING.LESSERv2;md5=4fbd65380cdd255951079008b364516c \ - file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504 \ - file://lib/idna.h;endline=21;md5=37cffad24807f446a24de3e7371f20b9 \ - file://src/idn.c;endline=20;md5=09e97034a8877b3451cb65065fc2c06e" -DEPENDS = "virtual/libiconv autoconf-archive" - -inherit pkgconfig autotools gettext texinfo gtk-doc - -SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \ - file://dont-depend-on-help2man.patch \ - file://0001-idn-format-security-warnings.patch \ - " - -SRC_URI[md5sum] = "bef634141fe39326cb354b75e891fead" -SRC_URI[sha256sum] = "f11af1005b46b7b15d057d7f107315a1ad46935c7fcdf243c16e46ec14f0fe1e" - -# command tool is under GPLv3+, while libidn itself is under LGPLv2.1+ or LGPLv3 -# so package command into a separate package -PACKAGES =+ "idn" -FILES_idn = "${bindir}/*" - -LICENSE_${PN} = "LGPLv2.1+ | LGPLv3" -LICENSE_idn = "GPLv3+" - -EXTRA_OECONF = "--disable-csharp" - -do_install_append() { - rm -rf ${D}${datadir}/emacs -} - -BBCLASSEXTEND = "native nativesdk" - diff --git a/meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.36.bb b/meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.36.bb new file mode 100644 index 000000000..4c6c8fde4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.36.bb @@ -0,0 +1,40 @@ +SUMMARY = "Internationalized Domain Name support library" +DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group." +HOMEPAGE = "http://www.gnu.org/software/libidn/" +SECTION = "libs" +LICENSE = "(LGPLv2.1+ | LGPLv3) & GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=df4be47940a91ee69556f5f71eed4aec \ + file://COPYING.LESSERv2;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504 \ + file://lib/idna.h;endline=21;md5=c381d797e2d7fbdace7c147b1285d076 \ + file://src/idn.c;endline=20;md5=7d88aa87b0494d690bdf7748fe08d536" +DEPENDS = "virtual/libiconv autoconf-archive" + +inherit pkgconfig autotools gettext texinfo gtk-doc + +SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \ + file://dont-depend-on-help2man.patch \ + file://0001-idn-format-security-warnings.patch \ + " + +SRC_URI[md5sum] = "813c7b268d1051ca02c3610986126f38" +SRC_URI[sha256sum] = "14b67108344d81ba844631640df77c9071d9fb0659b080326ff5424e86b14038" + +# command tool is under GPLv3+, while libidn itself is under LGPLv2.1+ or LGPLv3 +# so package command into a separate package +PACKAGES =+ "idn" +FILES_idn = "${bindir}/*" + +LICENSE_${PN} = "LGPLv2.1+ | LGPLv3" +LICENSE_idn = "GPLv3+" + +EXTRA_OECONF = "--disable-csharp" + +do_install_append() { + rm -rf ${D}${datadir}/emacs +} + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.5.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.5.bb deleted file mode 100644 index 7527298c2..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.5.bb +++ /dev/null @@ -1,189 +0,0 @@ -SUMMARY = "Versioned Operating System Repository." -DESCRIPTION = "libostree is both a shared library and suite of command line \ -tools that combines a \"git-like\" model for committing and downloading \ -bootable filesystem trees, along with a layer for deploying them and managing \ -the bootloader configuration." -HOMEPAGE = "https://ostree.readthedocs.io" -LICENSE = "LGPLv2.1" - -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -DEPENDS = " \ - glib-2.0 \ - e2fsprogs \ - libcap \ - zlib \ - xz \ - bison-native \ -" - -# The Yocto mirror has an old export of ostree: -# http://downloads.yoctoproject.org/mirror/sources/git2_github.com.ostreedev.ostree.tar.gz -PREMIRRORS = "" - -SRC_URI = " \ - gitsm://github.com/ostreedev/ostree \ - file://run-ptest \ -" -SRCREV = "63797cb750b4b2a05c5143613d89de9df99df9df" - -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+\.\d+)" - -S = "${WORKDIR}/git" - -inherit autotools bash-completion gobject-introspection gtk-doc manpages pkgconfig ptest-gnome systemd - -# Package configuration - match ostree defaults, but without rofiles-fuse -# otherwise we introduce a dependendency on meta-filesystems -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \ - glib \ - gpgme \ - soup \ -" - -# We include soup because ostree can't (currently) be built without -# soup or curl - https://github.com/ostreedev/ostree/issues/1897 -PACKAGECONFIG_class-native ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ - builtin-grub2-mkconfig \ - gpgme \ - soup \ -" - -PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi" -PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig" -PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl" -PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut" -PACKAGECONFIG[glib] = "--with-crypto=glib" -PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs" -PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls" -PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme" -PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive" -PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux" -PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio" -PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2" -PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl" -PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse" -PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux" -PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack" -PACKAGECONFIG[soup] = "--with-soup, --without-soup --disable-glibtest, libsoup-2.4" -PACKAGECONFIG[static] = "" -PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_unitdir}/system, --without-libsystemd, systemd" -PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline" - -EXTRA_OECONF = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \ -" - -# Makefile-libostree.am overrides this to avoid a build problem with clang, -# but that fix breaks cross compilation and we don't need it -EXTRA_OEMAKE = " \ - INTROSPECTION_SCANNER_ENV= \ -" - -EXTRA_OECONF_class-native = " \ - --enable-wrpseudo-compat \ - --disable-otmpfile \ -" - -# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the -# do_configure stage so we do depend on it -SYSROOT_DIR = "${STAGING_DIR_TARGET}" -SYSROOT_DIR_class-native = "${STAGING_DIR_NATIVE}" -do_configure[vardeps] += "SYSROOT_DIR" - -do_configure_prepend() { - # this reflects what autogen.sh does, but the OE wrappers for autoreconf - # allow it to work without the other gyrations which exist there - cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc - cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc -} - -do_install_append_class-native() { - create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator" -} - -PACKAGE_BEFORE_PN = " \ - ${PN}-dracut \ - ${PN}-grub \ - ${PN}-mkinitcpio \ - ${PN}-switchroot \ - ${PN}-trivial-httpd \ -" - -FILES_${PN} += " \ - ${nonarch_libdir}/${BPN} \ - ${nonarch_libdir}/tmpfiles.d \ - ${systemd_unitdir}/system \ - ${systemd_unitdir}/system-generators \ -" -FILES_${PN}-dracut = " \ - ${sysconfdir}/dracut.conf.d \ - ${libdir}/dracut \ -" -FILES_${PN}-grub = " \ - ${sysconfdir}/grub.d \ - ${libexecdir}/libostree/grub2-15_ostree \ -" -FILES_${PN}-mkinitcpio = " \ - ${sysconfdir}/ostree-mkinitcpio.conf \ - ${libdir}/initcpio \ -" -FILES_${PN}-switchroot = " \ - ${nonarch_libdir}/${BPN}/ostree-prepare-root \ - ${systemd_unitdir}/system/ostree-prepare-root.service \ -" -FILES_${PN}-trivial-httpd = " \ - ${libexecdir}/libostree/ostree-trivial-httpd \ -" - -RDEPENDS_${PN} = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'trivial-httpd-cmdline', '${PN}-trivial-httpd', '', d)} \ -" -RDEPENDS_${PN}-dracut = "bash" -RDEPENDS_${PN}-mkinitcpio = "bash" -RDEPENDS_${PN}_class-target = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \ - ${PN}-switchroot \ -" - -# -# Note that to get ptest to pass you also need: -# -# xattr in DISTRO_FEATURES -# static ostree-prepare-root (PACKAGECONFIG_append_pn-ostree = " static") -# meta-python in your layers -# overlayfs in your kernel (KERNEL_EXTRA_FEATURES += "features/overlayfs/overlayfs.scc") -# busybox built statically -# /var/tmp as a real filesystem (not a tmpfs) -# Sufficient disk space (IMAGE_ROOTFS_SIZE = "524288") and RAM (QB_MEM = "-m 1024") -# -RDEPENDS_${PN}-ptest += " \ - attr \ - bash \ - coreutils \ - cpio \ - diffutils \ - findutils \ - grep \ - python3-core \ - python3-multiprocessing \ - strace \ - tar \ - util-linux \ - xz \ - ${PN}-trivial-httpd \ - ${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-python', 'python3-pyyaml', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \ -" -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils glibc-localedata-en-us" - -RRECOMMENDS_${PN} += "kernel-module-overlay" - -SYSTEMD_SERVICE_${PN} = "ostree-remount.service ostree-finalize-staged.path" -SYSTEMD_SERVICE_${PN}-switchroot = "ostree-prepare-root.service" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.6.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.6.bb new file mode 100644 index 000000000..1e22d3abe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.6.bb @@ -0,0 +1,189 @@ +SUMMARY = "Versioned Operating System Repository." +DESCRIPTION = "libostree is both a shared library and suite of command line \ +tools that combines a \"git-like\" model for committing and downloading \ +bootable filesystem trees, along with a layer for deploying them and managing \ +the bootloader configuration." +HOMEPAGE = "https://ostree.readthedocs.io" +LICENSE = "LGPLv2.1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +DEPENDS = " \ + glib-2.0 \ + e2fsprogs \ + libcap \ + zlib \ + xz \ + bison-native \ +" + +# The Yocto mirror has an old export of ostree: +# http://downloads.yoctoproject.org/mirror/sources/git2_github.com.ostreedev.ostree.tar.gz +PREMIRRORS = "" + +SRC_URI = " \ + gitsm://github.com/ostreedev/ostree \ + file://run-ptest \ +" +SRCREV = "5d2183f63ef5ecf0e6e555c3214dd3fc17a8e5a1" + +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+\.\d+)" + +S = "${WORKDIR}/git" + +inherit autotools bash-completion gobject-introspection gtk-doc manpages pkgconfig ptest-gnome systemd + +# Package configuration - match ostree defaults, but without rofiles-fuse +# otherwise we introduce a dependendency on meta-filesystems +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \ + glib \ + gpgme \ + soup \ +" + +# We include soup because ostree can't (currently) be built without +# soup or curl - https://github.com/ostreedev/ostree/issues/1897 +PACKAGECONFIG_class-native ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ + builtin-grub2-mkconfig \ + gpgme \ + soup \ +" + +PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi" +PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig" +PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl" +PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut" +PACKAGECONFIG[glib] = "--with-crypto=glib" +PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs" +PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls" +PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme" +PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive" +PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux" +PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio" +PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2" +PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl" +PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse" +PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux" +PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack" +PACKAGECONFIG[soup] = "--with-soup, --without-soup --disable-glibtest, libsoup-2.4" +PACKAGECONFIG[static] = "" +PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_unitdir}/system, --without-libsystemd, systemd" +PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline" + +EXTRA_OECONF = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \ +" + +# Makefile-libostree.am overrides this to avoid a build problem with clang, +# but that fix breaks cross compilation and we don't need it +EXTRA_OEMAKE = " \ + INTROSPECTION_SCANNER_ENV= \ +" + +EXTRA_OECONF_class-native = " \ + --enable-wrpseudo-compat \ + --disable-otmpfile \ +" + +# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the +# do_configure stage so we do depend on it +SYSROOT_DIR = "${STAGING_DIR_TARGET}" +SYSROOT_DIR_class-native = "${STAGING_DIR_NATIVE}" +do_configure[vardeps] += "SYSROOT_DIR" + +do_configure_prepend() { + # this reflects what autogen.sh does, but the OE wrappers for autoreconf + # allow it to work without the other gyrations which exist there + cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc + cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc +} + +do_install_append_class-native() { + create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator" +} + +PACKAGE_BEFORE_PN = " \ + ${PN}-dracut \ + ${PN}-grub \ + ${PN}-mkinitcpio \ + ${PN}-switchroot \ + ${PN}-trivial-httpd \ +" + +FILES_${PN} += " \ + ${nonarch_libdir}/${BPN} \ + ${nonarch_libdir}/tmpfiles.d \ + ${systemd_unitdir}/system \ + ${systemd_unitdir}/system-generators \ +" +FILES_${PN}-dracut = " \ + ${sysconfdir}/dracut.conf.d \ + ${libdir}/dracut \ +" +FILES_${PN}-grub = " \ + ${sysconfdir}/grub.d \ + ${libexecdir}/libostree/grub2-15_ostree \ +" +FILES_${PN}-mkinitcpio = " \ + ${sysconfdir}/ostree-mkinitcpio.conf \ + ${libdir}/initcpio \ +" +FILES_${PN}-switchroot = " \ + ${nonarch_libdir}/${BPN}/ostree-prepare-root \ + ${systemd_unitdir}/system/ostree-prepare-root.service \ +" +FILES_${PN}-trivial-httpd = " \ + ${libexecdir}/libostree/ostree-trivial-httpd \ +" + +RDEPENDS_${PN} = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'trivial-httpd-cmdline', '${PN}-trivial-httpd', '', d)} \ +" +RDEPENDS_${PN}-dracut = "bash" +RDEPENDS_${PN}-mkinitcpio = "bash" +RDEPENDS_${PN}_class-target = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \ + ${PN}-switchroot \ +" + +# +# Note that to get ptest to pass you also need: +# +# xattr in DISTRO_FEATURES +# static ostree-prepare-root (PACKAGECONFIG_append_pn-ostree = " static") +# meta-python in your layers +# overlayfs in your kernel (KERNEL_EXTRA_FEATURES += "features/overlayfs/overlayfs.scc") +# busybox built statically +# /var/tmp as a real filesystem (not a tmpfs) +# Sufficient disk space (IMAGE_ROOTFS_SIZE = "524288") and RAM (QB_MEM = "-m 1024") +# +RDEPENDS_${PN}-ptest += " \ + attr \ + bash \ + coreutils \ + cpio \ + diffutils \ + findutils \ + grep \ + python3-core \ + python3-multiprocessing \ + strace \ + tar \ + util-linux \ + xz \ + ${PN}-trivial-httpd \ + ${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-python', 'python3-pyyaml', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \ +" +RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils glibc-localedata-en-us" + +RRECOMMENDS_${PN} += "kernel-module-overlay" + +SYSTEMD_SERVICE_${PN} = "ostree-remount.service ostree-finalize-staged.path" +SYSTEMD_SERVICE_${PN}-switchroot = "ostree-prepare-root.service" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb b/meta-openembedded/meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb new file mode 100644 index 000000000..5db38ac98 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb @@ -0,0 +1,22 @@ +# Copyright (c) 2019 Christophe Chapuis +# Copyright (c) 2019 Herman van Hazendonk + +SUMMARY = "A very simple convenience library for handling properties and signals in C++11." +SECTION = "libs" +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" + +PV = "0.0.1+git${SRCPV}" + +SRCREV = "45863e849b39c4921d6553e6d27e267a96ac7d77" +SRC_URI = "git://github.com/lib-cpp/${BPN}.git" + +S = "${WORKDIR}/git" + +do_configure_prepend() { + echo " " > ${S}/tests/CMakeLists.txt +} + +inherit cmake pkgconfig + +RDEPENDS_${PN}-dev = "" diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.6.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.6.bb deleted file mode 100644 index c9846c5c7..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.6.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "Redis key-value store" -DESCRIPTION = "Redis is an open source, advanced key-value store." -HOMEPAGE = "http://redis.io" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2" -DEPENDS = "readline lua ncurses" - -SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ - file://redis.conf \ - file://init-redis-server \ - file://redis.service \ - file://hiredis-use-default-CC-if-it-is-set.patch \ - file://lua-update-Makefile-to-use-environment-build-setting.patch \ - file://oe-use-libc-malloc.patch \ - file://0001-src-Do-not-reset-FINAL_LIBS.patch \ - file://GNU_SOURCE.patch \ - " - -SRC_URI[md5sum] = "2f65e1f5610d98dd48e10eef49c79b02" -SRC_URI[sha256sum] = "12ad49b163af5ef39466e8d2f7d212a58172116e5b441eebecb4e6ca22363d94" - -inherit autotools-brokensep update-rc.d systemd useradd - -FINAL_LIBS_x86_toolchain-clang = "-latomic" -FINAL_LIBS_mips = "-latomic" -FINAL_LIBS_arm = "-latomic" -FINAL_LIBS_powerpc = "-latomic" - -export FINAL_LIBS - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" -GROUPADD_PARAM_${PN} = "--system redis" - -REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}" - -do_compile_prepend() { - (cd deps && oe_runmake hiredis lua linenoise) -} - -do_install() { - export PREFIX=${D}/${prefix} - oe_runmake install - install -d ${D}/${sysconfdir}/redis - install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf - install -d ${D}/${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server - install -d ${D}/var/lib/redis/ - chown redis.redis ${D}/var/lib/redis/ - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir} - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service - - if [ "${REDIS_ON_SYSTEMD}" = true ]; then - sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf - fi -} - -CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf" - -INITSCRIPT_NAME = "redis-server" -INITSCRIPT_PARAMS = "defaults 87" - -SYSTEMD_SERVICE_${PN} = "redis.service" diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.7.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.7.bb new file mode 100644 index 000000000..791e41e6e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.7.bb @@ -0,0 +1,66 @@ +SUMMARY = "Redis key-value store" +DESCRIPTION = "Redis is an open source, advanced key-value store." +HOMEPAGE = "http://redis.io" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2" +DEPENDS = "readline lua ncurses" + +SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ + file://redis.conf \ + file://init-redis-server \ + file://redis.service \ + file://hiredis-use-default-CC-if-it-is-set.patch \ + file://lua-update-Makefile-to-use-environment-build-setting.patch \ + file://oe-use-libc-malloc.patch \ + file://0001-src-Do-not-reset-FINAL_LIBS.patch \ + file://GNU_SOURCE.patch \ + " + +SRC_URI[md5sum] = "ac57b7188b771bbc08e8d7d6dddb3a80" +SRC_URI[sha256sum] = "c2aaa1a4c7e72c70adedf976fdd5e1d34d395989283dab9d7840e0a304bb2393" + +inherit autotools-brokensep update-rc.d systemd useradd + +FINAL_LIBS_x86_toolchain-clang = "-latomic" +FINAL_LIBS_mips = "-latomic" +FINAL_LIBS_arm = "-latomic" +FINAL_LIBS_powerpc = "-latomic" + +export FINAL_LIBS + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" +GROUPADD_PARAM_${PN} = "--system redis" + +REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}" + +do_compile_prepend() { + (cd deps && oe_runmake hiredis lua linenoise) +} + +do_install() { + export PREFIX=${D}/${prefix} + oe_runmake install + install -d ${D}/${sysconfdir}/redis + install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server + install -d ${D}/var/lib/redis/ + chown redis.redis ${D}/var/lib/redis/ + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir} + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service + + if [ "${REDIS_ON_SYSTEMD}" = true ]; then + sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf + fi +} + +CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf" + +INITSCRIPT_NAME = "redis-server" +INITSCRIPT_PARAMS = "defaults 87" + +SYSTEMD_SERVICE_${PN} = "redis.service" diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2006.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2006.0.bb index 524cd9ead..b6c2a991f 100644 --- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2006.0.bb +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2006.0.bb @@ -76,7 +76,7 @@ PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5," PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql," PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi," PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,," -PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," +PACKAGECONFIG[valgrind] = ",--without-valgrind-testbench,valgrind," do_configure_prepend() { sed -i -e 's|python |python3 |g' ${S}/tests/*.sh @@ -106,12 +106,6 @@ do_install_ptest() { # fix the abs_top_builddir sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - # valgrind is not compatible with arm and mips, - # so remove related test cases if there is no valgrind. - if [ x${VALGRIND} = x ]; then - sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - fi - # install test-driver install -m 644 ${S}/test-driver ${D}${PTEST_PATH} diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.1.bb b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.1.bb deleted file mode 100644 index abae36252..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.1.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "A shared storage lock manager" -DESCRIPTION = "sanlock is a lock manager built on shared storage. Hosts with access \ -to the storage can perform locking. An application running on the \ -hosts is given a small amount of space on the shared block device or \ -file, and uses sanlock for its own application-specific synchronization. \ -Internally, the sanlock daemon manages locks using two disk-based \ -lease algorithms: delta leases and paxos leases." -HOMEPAGE = "https://pagure.io/sanlock" -SECTION = "utils" - -LICENSE = "LGPLv2+ & GPLv2 & GPLv2+" -LIC_FILES_CHKSUM = "file://../README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22" - -PV .= "+git${SRCPV}" - -SRC_URI = "git://pagure.io/sanlock.git;protocol=http \ - file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch;patchdir=../ \ - " -SRCREV = "07ab65afb10c8f8c008880a73b7b7aaedbde0e15" - -S = "${WORKDIR}/git/python" - -DEPENDS = "libaio util-linux" - -inherit distutils3 useradd - -do_configure[noexec] = "1" - -do_compile_prepend () { - oe_runmake -C ${S}/../wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}" - oe_runmake -C ${S}/../src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}" -} - -do_install_prepend () { - oe_runmake -C ${S}/../wdmd DESTDIR=${D} LIBDIR=${libdir} install - oe_runmake -C ${S}/../src DESTDIR=${D} LIBDIR=${libdir} install -} - -SANLOCKGROUP ?= "sanlock" -SANLOCKUSER ?= "sanlock" -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system ${SANLOCKGROUP}" -USERADD_PARAM_${PN} = "--system -g ${SANLOCKGROUP} -G disk \ - --home-dir /run/${SANLOCKUSER} --no-create-home \ - --shell /sbin/nologin ${SANLOCKUSER}" diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.2.bb b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.2.bb new file mode 100644 index 000000000..6f3685c4b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.2.bb @@ -0,0 +1,45 @@ +SUMMARY = "A shared storage lock manager" +DESCRIPTION = "sanlock is a lock manager built on shared storage. Hosts with access \ +to the storage can perform locking. An application running on the \ +hosts is given a small amount of space on the shared block device or \ +file, and uses sanlock for its own application-specific synchronization. \ +Internally, the sanlock daemon manages locks using two disk-based \ +lease algorithms: delta leases and paxos leases." +HOMEPAGE = "https://pagure.io/sanlock" +SECTION = "utils" + +LICENSE = "LGPLv2+ & GPLv2 & GPLv2+" +LIC_FILES_CHKSUM = "file://../README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22" + +PV .= "+git${SRCPV}" + +SRC_URI = "git://pagure.io/sanlock.git;protocol=http \ + file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch;patchdir=../ \ + " +SRCREV = "01b727adf1ce3c0ed5b95299d60f62bc66d98eb5" + +S = "${WORKDIR}/git/python" + +DEPENDS = "libaio util-linux" + +inherit distutils3 useradd + +do_configure[noexec] = "1" + +do_compile_prepend () { + oe_runmake -C ${S}/../wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}" + oe_runmake -C ${S}/../src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}" +} + +do_install_prepend () { + oe_runmake -C ${S}/../wdmd DESTDIR=${D} LIBDIR=${libdir} install + oe_runmake -C ${S}/../src DESTDIR=${D} LIBDIR=${libdir} install +} + +SANLOCKGROUP ?= "sanlock" +SANLOCKUSER ?= "sanlock" +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system ${SANLOCKGROUP}" +USERADD_PARAM_${PN} = "--system -g ${SANLOCKGROUP} -G disk \ + --home-dir /run/${SANLOCKUSER} --no-create-home \ + --shell /sbin/nologin ${SANLOCKUSER}" diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb index 3e4ed7c03..9a3a66c2a 100644 --- a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb +++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb @@ -69,10 +69,10 @@ do_install() { } pkg_postinst_${PN} () { - if [ x"$D" != "x" ]; then - $INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX} - fi + $INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX} +} +pkg_postinst_ontarget_${PN} () { ${datadir}/sfcb/genSslCert.sh ${sysconfdir}/sfcb ${bindir}/sfcbrepos -f } diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb index 519368817..e3ad04f59 100644 --- a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb @@ -12,4 +12,8 @@ PV = "2020.02.04" S = "${WORKDIR}/git" -inherit autotools pkgconfig +inherit autotools pkgconfig update-alternatives + +ALTERNATIVE_${PN} = "candump cansend" +ALTERNATIVE_LINK_NAME[candump] = "${bindir}/candump" +ALTERNATIVE_LINK_NAME[cansend] = "${bindir}/cansend" diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb index e1508af85..aaa265348 100644 --- a/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb +++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb @@ -12,9 +12,16 @@ SRC_URI = "git://git.pengutronix.de/git/tools/canutils.git;protocol=git \ file://0001-canutils-candump-Add-error-frame-s-handling.patch \ " +inherit update-alternatives + S = "${WORKDIR}/git" inherit autotools pkgconfig # Busybox ip doesn't support can interface configuration, use the real thing RDEPENDS_${PN} += "iproute2" + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_${PN} = "candump cansend" +ALTERNATIVE_LINK_NAME[candump] = "${bindir}/candump" +ALTERNATIVE_LINK_NAME[cansend] = "${bindir}/cansend" diff --git a/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1b.bb b/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1b.bb index fde0ed4ac..f5078e923 100644 --- a/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1b.bb +++ b/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1b.bb @@ -21,5 +21,5 @@ PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=n do_configure_prepend() { # The 'compat' directory is needed for output during the build but it's # not automatically created when building outside the source directory. - mkdir ${B}/compat + mkdir -p ${B}/compat } diff --git a/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb b/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb index ed19d1e41..8e00cb3ea 100644 --- a/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb +++ b/meta-openembedded/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb @@ -15,6 +15,8 @@ PR = "r1" S = "${WORKDIR}/tools" +inherit update-alternatives + do_compile() { oe_runmake } @@ -25,3 +27,6 @@ do_install() { FILES_${PN} += "${exec_prefix}${nonarch_base_libdir}" FILES_${PN}-dbg += "${exec_prefix}${nonarch_base_libdir}/uml/.debug" + +ALTERNATIVE_${PN} = "tunctl" +ALTERNATIVE_LINK_NAME[tunctl] = "${bindir}/tunctl" diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb index 29d0f64ac..7ac302821 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb @@ -19,7 +19,10 @@ SRC_URI = "https://www.kraxel.org/releases/fbida/fbida-${PV}.tar.gz \ " SRC_URI[sha256sum] = "95b7c01556cb6ef9819f358b314ddfeb8a4cbe862b521a3ed62f03d163154438" -inherit pkgconfig +inherit pkgconfig features_check + +# Depends on libepoxy +REQUIRED_DISTRO_FEATURES = "opengl" EXTRA_OEMAKE = "STRIP= 'srcdir=${S}' -f ${S}/GNUmakefile" diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.19.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.19.bb deleted file mode 100644 index e121ae946..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.19.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Jpeg 2000 implementation" -HOMEPAGE = "https://github.com/mdadams/jasper" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb" - -SRC_URI = "git://github.com/mdadams/jasper.git;protocol=https" -SRCREV = "7d8cfd8ac16d1af9b51e5ccd781e898f0fbf57cc" - -S = "${WORKDIR}/git" - -inherit cmake - -PACKAGECONFIG ??= "" -PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=true, -DJAS_ENABLE_LIBJPEG=false, jpeg" -PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=true, -DJAS_ENABLE_OPENGL=false, freeglut" - -EXTRA_OECMAKE_append = " -DJAS_ENABLE_SHARED=true" - -do_install_append() { - chrpath -d ${D}${bindir}/jasper - chrpath -d ${D}${bindir}/imginfo - chrpath -d ${D}${bindir}/imgcmp - chrpath -d ${D}${libdir}/libjasper.so.* -} diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.20.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.20.bb new file mode 100644 index 000000000..356c78c0d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.20.bb @@ -0,0 +1,24 @@ +SUMMARY = "Jpeg 2000 implementation" +HOMEPAGE = "https://github.com/jasper-software/jasper" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb" + +SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https" +SRCREV = "d10a710f31da3d079a984d35ff6cc82a853d25d7" + +S = "${WORKDIR}/git" + +inherit cmake + +PACKAGECONFIG ??= "" +PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=true, -DJAS_ENABLE_LIBJPEG=false, jpeg" +PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=true, -DJAS_ENABLE_OPENGL=false, freeglut" + +EXTRA_OECMAKE_append = " -DJAS_ENABLE_SHARED=true" + +do_install_append() { + chrpath -d ${D}${bindir}/jasper + chrpath -d ${D}${bindir}/imginfo + chrpath -d ${D}${bindir}/imgcmp + chrpath -d ${D}${libdir}/libjasper.so.* +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.79.0.bb b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.79.0.bb deleted file mode 100644 index a6de1f795..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.79.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications" -DEPENDS = "jpeg tiff libpng zlib" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=34aa579294e8284b7b848c8d5d361e8f" - -UPSTREAM_CHECK_URI = "https://github.com/DanBloomberg/leptonica/releases" - -SRC_URI = "http://www.leptonica.org/source/leptonica-${PV}.tar.gz" -SRC_URI[md5sum] = "a545654b1dae7d29e2ea346b29095f84" -SRC_URI[sha256sum] = "045966c9c5d60ebded314a9931007a56d9d2f7a6ac39cb5cc077c816f62300d8" - -EXTRA_OECONF += " \ - --without-libwebp \ -" - -PACKAGECONFIG ??= "giflib" -PACKAGECONFIG[openjpeg] = "--with-libopenjpeg,--without-libopenjpeg,openjpeg" -PACKAGECONFIG[giflib] = "--with-giflib,--without-giflib,giflib" - -inherit autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.80.0.bb b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.80.0.bb new file mode 100644 index 000000000..a861bba5b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.80.0.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications" +DEPENDS = "jpeg tiff libpng zlib" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=809b282cea2df68975fbe0ffe02b560f" + +UPSTREAM_CHECK_URI = "https://github.com/DanBloomberg/leptonica/releases" + +SRC_URI = "http://www.leptonica.org/source/leptonica-${PV}.tar.gz" +SRC_URI[md5sum] = "d640d684234442a84c9e8902f0b3ff36" +SRC_URI[sha256sum] = "ec9c46c2aefbb960fb6a6b7f800fe39de48343437b6ce08e30a8d9688ed14ba4" + +EXTRA_OECONF += " \ + --without-libwebp \ +" + +PACKAGECONFIG ??= "giflib" +PACKAGECONFIG[openjpeg] = "--with-libopenjpeg,--without-libopenjpeg,openjpeg" +PACKAGECONFIG[giflib] = "--with-giflib,--without-giflib,giflib" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-15389.patch b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-15389.patch new file mode 100644 index 000000000..f5ce11a27 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-15389.patch @@ -0,0 +1,51 @@ +From e8e258ab049240c2dd1f1051b4e773b21e2d3dc0 Mon Sep 17 00:00:00 2001 +From: Even Rouault +Date: Sun, 28 Jun 2020 14:19:59 +0200 +Subject: [PATCH] opj_decompress: fix double-free on input directory with mix + of valid and invalid images (CVE-2020-15389) + +Fixes #1261 + +Credits to @Ruia-ruia for reporting and analysis. +--- + src/bin/jp2/opj_decompress.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- end of original header --- + +CVE: CVE-2020-15389 + +Upstream-Status: Backport [git://github.com/uclouvain/openjpeg.git] + +Signed-off-by: Joe Slater + +--- +diff --git a/src/bin/jp2/opj_decompress.c b/src/bin/jp2/opj_decompress.c +index 7eeb0952..2634907f 100644 +--- a/src/bin/jp2/opj_decompress.c ++++ b/src/bin/jp2/opj_decompress.c +@@ -1316,10 +1316,6 @@ static opj_image_t* upsample_image_components(opj_image_t* original) + int main(int argc, char **argv) + { + opj_decompress_parameters parameters; /* decompression parameters */ +- opj_image_t* image = NULL; +- opj_stream_t *l_stream = NULL; /* Stream */ +- opj_codec_t* l_codec = NULL; /* Handle to a decompressor */ +- opj_codestream_index_t* cstr_index = NULL; + + OPJ_INT32 num_images, imageno; + img_fol_t img_fol; +@@ -1393,6 +1389,10 @@ int main(int argc, char **argv) + + /*Decoding image one by one*/ + for (imageno = 0; imageno < num_images ; imageno++) { ++ opj_image_t* image = NULL; ++ opj_stream_t *l_stream = NULL; /* Stream */ ++ opj_codec_t* l_codec = NULL; /* Handle to a decompressor */ ++ opj_codestream_index_t* cstr_index = NULL; + + if (!parameters.quiet) { + fprintf(stderr, "\n"); +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb index 42011efa9..a0740a274 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb @@ -10,6 +10,7 @@ SRC_URI = " \ file://0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \ file://CVE-2020-6851.patch \ file://CVE-2020-8112.patch \ + file://CVE-2020-15389.patch \ " SRCREV = "57096325457f96d8cd07bd3af04fe81d7a2ba788" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-graphics/suckless/st_0.8.4.bb b/meta-openembedded/meta-oe/recipes-graphics/suckless/st_0.8.4.bb new file mode 100644 index 000000000..906179501 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/suckless/st_0.8.4.bb @@ -0,0 +1,25 @@ +SECTION = "shadow" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://LICENSE;md5=04c3ca13a702147c62db90f556c5b3ca" +SRC_URI = "http://dl.suckless.org/${BPN}/${BP}.tar.gz" + +inherit pkgconfig features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[sha256sum] = "d42d3ceceb4d6a65e32e90a5336e3d446db612c3fbd9ebc1780bc6c9a03346a6" + +DEPENDS += "libx11 libxft fontconfig ncurses-native" + +RDEPENDS_${PN} += "libx11-locale" + +do_compile() { + make INCS='-I. `pkg-config --cflags x11 fontconfig xft`' LIBS='-lm -lutil `pkg-config --libs x11 fontconfig xft`' +} +do_install() { + make install DESTDIR=${D} PREFIX=/usr TERMINFO=${D}${datadir}/terminfo +} + +FILES_${PN} += " \ + ${datadir}/terminfo \ +" diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract/0001-include-sys-time.h.patch b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract/0001-include-sys-time.h.patch new file mode 100644 index 000000000..de1fa75b7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract/0001-include-sys-time.h.patch @@ -0,0 +1,34 @@ +From b47fa9532a7090d76521603dbc818bdec100085f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 15 Sep 2020 17:04:27 -0700 +Subject: [PATCH] include sys/time.h + +This provides missing definitions of timeval stuct + +Fixes +| ../../../git/src/ccutil/ocrclass.h:154:7: error: member access into +incomplete type 'struct timeval' +| tv->tv_usec = (millisecs.count() % 1000) * 1000; + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/ccutil/ocrclass.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/ccutil/ocrclass.h b/src/ccutil/ocrclass.h +index d39a6dd6..96395c9b 100644 +--- a/src/ccutil/ocrclass.h ++++ b/src/ccutil/ocrclass.h +@@ -28,6 +28,8 @@ + + #include + #include ++#include ++ + #ifdef _WIN32 + #include // for timeval + #endif +-- +2.28.0 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_4.1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_4.1.1.bb new file mode 100644 index 000000000..3b5032f06 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_4.1.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "A commercial quality OCR engine " +HOMEPAGE = "https://github.com/tesseract-ocr/tesseract" +BUGTRACKER = "https://github.com/tesseract-ocr/tesseract/issues" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +BRANCH = "4.1" +SRCREV = "f4ef2f2050f4c25b28bdbf0063b7d2eb30f41cf7" +SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=${BRANCH} \ + file://0001-include-sys-time.h.patch \ + " + +S = "${WORKDIR}/git" + +DEPENDS = "leptonica" + +EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica" + +inherit autotools pkgconfig + +FILES_${PN} += "${datadir}/tessdata" + +RRECOMMENDS_${PN} += "tesseract-lang-eng" diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb deleted file mode 100644 index 89d09a0f5..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "A commercial quality OCR engine " - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=7ea4f9a43aba9d3c849fe5c203a0ed40" - -BRANCH = "3.05" -PV = "${BRANCH}.01+git${SRCPV}" -SRCREV = "215866151e774972c9502282111b998d7a053562" -SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=${BRANCH}" -S = "${WORKDIR}/git" - -DEPENDS = "leptonica" - -EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica" - - -inherit autotools pkgconfig - -FILES_${PN} += "${datadir}/tessdata" - -RRECOMMENDS_${PN} += "tesseract-lang-eng" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts/44-source-code-pro-fonts-fontconfig.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts/44-source-code-pro-fonts-fontconfig.conf new file mode 100644 index 000000000..badb1b011 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts/44-source-code-pro-fonts-fontconfig.conf @@ -0,0 +1,17 @@ + + + + + monospace + + Source Code Pro + + + + Source Code Pro + + monospace + + + + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb new file mode 100644 index 000000000..5d10195f7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb @@ -0,0 +1,29 @@ +require ttf.inc + +SUMMARY = "Adobe Source Code Pro" +HOMEPAGE = "https://github.com/adobe-fonts/source-code-pro" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c7c16bdc2c96af797293d68503e5c65c" + +inherit allarch fontcache + +SRC_URI = " \ + https://github.com/adobe-fonts/source-code-pro/releases/download/2.030R-ro/1.050R-it/source-code-pro-2.030R-ro-1.050R-it.zip \ + file://44-source-code-pro-fonts-fontconfig.conf \ +" +SRC_URI[sha256sum] = "da2ac159497d31b0c6d9daa8fc390fb8252e75b4a9805ace6a2c9cccaed4932e" +S = "${WORKDIR}/source-code-pro-2.030R-ro-1.050R-it" + +do_install() { + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 ${WORKDIR}/44-source-code-pro-fonts-fontconfig.conf ${D}${sysconfdir}/fonts/conf.d/ + + install -d ${D}${datadir}/fonts/truetype/ + find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \; +} + +FILES_${PN} = " \ + ${sysconfdir}/fonts \ + ${datadir}/fonts \ +" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb index 5b406bc65..57efea86a 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb @@ -24,6 +24,8 @@ do_install_append () { install -m 0644 LiberationSansNarrow*.ttf ${D}${datadir}/fonts/TTF/ install -D -m 0644 ${WORKDIR}/30-0-liberation-sans-narrow.conf ${D}${sysconfdir}/conf.avail/30-${PN}-sans.conf install -D -m 0644 ${S}/License.txt ${D}${datadir}/licenses/${PN}/LICENSE + # normal liberation fonts come from ttf-liberation recipe so delete here + rm -rf ${D}${datadir}/fonts/truetype } PACKAGES = "${PN}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc index 4a297c313..e64a935dd 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc @@ -2,7 +2,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" SRC_URI = "\ - git://github.com/KhronosGroup/VK-GL-CTS.git;protocol=https;tag=${BPN}-${PV};name=vk-gl-cts \ + git://github.com/KhronosGroup/VK-GL-CTS.git;protocol=https;name=vk-gl-cts;nobranch=1 \ git://github.com/google/amber;protocol=https;destsuffix=git/external/amber/src;name=amber;branch=main \ git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang \ git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers \ @@ -12,7 +12,7 @@ SRC_URI = "\ S = "${WORKDIR}/git" -SRCREV_FORMAT = "vk-gl-cts" +SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb index 0e50fd947..5e0076b20 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb @@ -1,7 +1,8 @@ DESCRIPTION = "OpenGL CTS" require khronos-cts.inc - +# opengl-es-cts-3.2.6.1 +SRCREV_vk-gl-cts = "7e023f81b4fff54b558882fe739d7c959d0a02a8" SRCREV_amber = "d26ee22dd7faab1845a531d410f7ec1db407402a" SRCREV_glslang = "c538b5d796fb24dd418fdd650c7f76e56bcc3dd8" SRCREV_spirv-headers = "e4322e3be589e1ddd44afb20ea842a977c1319b8" diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.0.bb b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.0.bb deleted file mode 100644 index 77064d4ed..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "Vulkan CTS" - -require khronos-cts.inc - -SRCREV_amber = "a40bef4dba98d2d80b48e5a940d8574fbfceb197" -SRCREV_glslang = "b5f003d7a3ece37db45578a8a3140b370036fc64" -SRCREV_spirv-headers = "f8bf11a0253a32375c32cad92c841237b96696c0" -SRCREV_spirv-tools = "d2b486219495594f2e5d0e8d457fc234a3460b3b" -SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" - -S = "${WORKDIR}/git" - -REQUIRED_DISTRO_FEATURES = "vulkan" -inherit features_check - -DEPENDS += " vulkan-loader" - -do_install() { - install -d ${D}/${CTSDIR} - cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/ - rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles - rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles -} diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb new file mode 100644 index 000000000..f07b12dec --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Vulkan CTS" + +require khronos-cts.inc +# vulkan-cts-1.2.3.2 +SRCREV_vk-gl-cts = "5cd2240b60825fbbf6bd9ddda6af176ee3100c70" +SRCREV_amber = "a40bef4dba98d2d80b48e5a940d8574fbfceb197" +SRCREV_glslang = "b5f003d7a3ece37db45578a8a3140b370036fc64" +SRCREV_spirv-headers = "f8bf11a0253a32375c32cad92c841237b96696c0" +SRCREV_spirv-tools = "d2b486219495594f2e5d0e8d457fc234a3460b3b" +SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" + +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "vulkan" +inherit features_check + +DEPENDS += " vulkan-loader" + +do_install() { + install -d ${D}/${CTSDIR} + cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/ + rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles + rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.44.bb b/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.44.bb index 6cad97f15..9131c754d 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.44.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.44.bb @@ -1,5 +1,5 @@ SUMMARY = "X screen saver and locker" - +HOMEPAGE = "https://www.jwz.org/xscreensaver/" LICENSE = "BSD-0-Clause" LIC_FILES_CHKSUM = "file://driver/xscreensaver.h;endline=10;md5=2b97002f72fbfc9329b4336e798f2463" diff --git a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb index 3687c267e..2b5ebcc27 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb @@ -20,15 +20,16 @@ SRC_URI += "file://run-ptest \ # if you have older kernel than that you need to remove it from PACKAGECONFIG PACKAGECONFIG ??= "bpf firmware vm" PACKAGECONFIG_remove_x86 = "bpf" -PACKAGECONFIG_remove_arm = "bpf" +PACKAGECONFIG_remove_arm = "bpf vm" # host ptrace.h is used to compile BPF target but mips ptrace.h is needed # progs/loop1.c:21:9: error: incomplete definition of type 'struct user_pt_regs' # m = PT_REGS_RC(ctx); -PACKAGECONFIG_remove_qemumips = "bpf" +# vm tests need libhugetlbfs starting 5.8+ (https://lkml.org/lkml/2020/4/22/1654) +PACKAGECONFIG_remove_qemumips = "bpf vm" PACKAGECONFIG[bpf] = ",,elfutils libcap libcap-ng rsync-native," PACKAGECONFIG[firmware] = ",,libcap, bash" -PACKAGECONFIG[vm] = ",,libcap,libgcc bash" +PACKAGECONFIG[vm] = ",,libcap libhugetlbfs,libgcc bash" do_patch[depends] += "virtual/kernel:do_shared_workdir" @@ -49,10 +50,13 @@ EXTRA_OEMAKE = '\ AR="${AR}" \ LD="${LD}" \ DESTDIR="${D}" \ + MACHINE="${ARCH}" \ ' KERNEL_SELFTEST_SRC ?= "Makefile \ include \ + kernel \ + lib \ tools \ scripts \ arch \ diff --git a/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.1.bb b/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.1.bb deleted file mode 100644 index c6914007d..000000000 --- a/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Small and fast POSIX-compliant shell" -HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/" -SECTION = "System Environment/Shells" - -LICENSE = "BSD & GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e" - -inherit autotools update-alternatives - -SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz" -SRC_URI[md5sum] = "df978fd0324f60a6ff45f686fe269fdc" -SRC_URI[sha256sum] = "73c881f146e329ac54962766760fd62cb8bdff376cd6c2f5772eecc1570e1611" - -EXTRA_OECONF += "--bindir=${base_bindir}" - -ALTERNATIVE_${PN} = "sh" -ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" -ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash" -ALTERNATIVE_PRIORITY = "10" - -pkg_postinst_${PN} () { - grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells -} - -pkg_postrm_${PN} () { - printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells -} diff --git a/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.2.bb b/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.2.bb new file mode 100644 index 000000000..f59e6d1f7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.2.bb @@ -0,0 +1,27 @@ +SUMMARY = "Small and fast POSIX-compliant shell" +HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/" +SECTION = "System Environment/Shells" + +LICENSE = "BSD & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e" + +inherit autotools update-alternatives + +SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz" +SRC_URI[md5sum] = "b9b71c72e40fdc4db9b4ffb81fc3bebc" +SRC_URI[sha256sum] = "00fb7d68b7599cc41ab151051c06c01e9500540183d8aa72116cb9c742bd6d5f" + +EXTRA_OECONF += "--bindir=${base_bindir}" + +ALTERNATIVE_${PN} = "sh" +ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" +ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash" +ALTERNATIVE_PRIORITY = "10" + +pkg_postinst_${PN} () { + grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells +} + +pkg_postrm_${PN} () { + printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells +} diff --git a/meta-openembedded/meta-oe/recipes-support/asio/asio_1.16.1.bb b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.16.1.bb deleted file mode 100644 index f381d12fb..000000000 --- a/meta-openembedded/meta-oe/recipes-support/asio/asio_1.16.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Asio is C++ library for network and low-level I/O programming" -DESCRIPTION = "Asio is a cross-platform C++ library for network and low-level \ - I/O programming that provides developers with a consistent asynchronous \ - model using a modern C++ approach." -AUTHOR = "Christopher M. Kohlhoff (chris at kohlhoff dot com)" -HOMEPAGE = "http://think-async.com/Asio" -SECTION = "libs" -LICENSE = "BSL-1.0" - -DEPENDS = "openssl" - -SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2" - -inherit autotools - -ALLOW_EMPTY_${PN} = "1" - -LIC_FILES_CHKSUM = "file://COPYING;md5=de86c8210a433f72bd3cc98e797a6084" - -SRC_URI[md5sum] = "569f4b082c652ae8a8ad94fb470016f9" -SRC_URI[sha256sum] = "e271db76dbbcda9835ed1c9c94deb2ba3f4589c3ebcaa71d99ac694b8d62638c" - -SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2" - -PACKAGECONFIG ??= "boost" - -PACKAGECONFIG[boost] = "--with-boost,--without-boost,boost" diff --git a/meta-openembedded/meta-oe/recipes-support/asio/asio_1.18.0.bb b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.18.0.bb new file mode 100644 index 000000000..7709075fe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.18.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "Asio is C++ library for network and low-level I/O programming" +DESCRIPTION = "Asio is a cross-platform C++ library for network and low-level \ + I/O programming that provides developers with a consistent asynchronous \ + model using a modern C++ approach." +AUTHOR = "Christopher M. Kohlhoff (chris at kohlhoff dot com)" +HOMEPAGE = "http://think-async.com/Asio" +SECTION = "libs" +LICENSE = "BSL-1.0" + +DEPENDS = "openssl" + +SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2" + +inherit autotools + +ALLOW_EMPTY_${PN} = "1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=de86c8210a433f72bd3cc98e797a6084" + +SRC_URI[md5sum] = "ed1f2dc4cf24aa2da8361179ade01682" +SRC_URI[sha256sum] = "9d539e7c09aa6394d512c433c5601c1f26dc4975f022ad7d5e8e57c3b635b370" + +SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2" + +PACKAGECONFIG ??= "boost" + +PACKAGECONFIG[boost] = "--with-boost=${STAGING_LIBDIR},--without-boost,boost" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/consolation/consolation_0.0.8.bb b/meta-openembedded/meta-oe/recipes-support/consolation/consolation_0.0.8.bb new file mode 100644 index 000000000..90bd560c4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/consolation/consolation_0.0.8.bb @@ -0,0 +1,29 @@ +SUMMARY = "copy-paste for the Linux console" +DESCRIPTION = "Consolation is a daemon that provides copy-paste and scrolling \ +support to the Linux console. It is based on the libinput library and \ +supports all pointer devices and settings provided by this library. Similar \ +software include gpm and jamd." +HOMEPAGE = "https://salsa.debian.org/consolation-team/consolation" +SECTION = "console/utils" +LICENSE = "GPL-2.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=73ca626e1d9048abfc7d599370650827" + +DEPENDS = " \ + libevdev \ + libinput \ + udev \ +" + +SRC_URI = "git://salsa.debian.org/consolation-team/consolation.git" +SRCREV = "4581eaece6e49fa2b687efbdbe23b2de452e7902" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig systemd + +do_install_append() { + install -d ${D}${systemd_system_unitdir} + install -m 644 ${B}/consolation.service ${D}${systemd_system_unitdir} +} + +SYSTEMD_SERVICE_${PN} = "consolation.service" diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb new file mode 100644 index 000000000..9b3adcf9d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb @@ -0,0 +1,261 @@ +SUMMARY = "Emacs is the extensible, customizable, self-documenting real-time display editor" +HOMEPAGE = "https://www.gnu.org/software/emacs/" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + +SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz" + +SRC_URI_append_class-target = " file://usemake-docfile-native.patch" + +SRC_URI[sha256sum] = "4a4c128f915fc937d61edfc273c98106711b540c9be3cd5d2e2b9b5b2f172e41" + +PACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls" +PACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5" +PACKAGECONFIG[libgmp] = "--with-libgmp=yes,--with-libgmp=no,gmp" + +PACKAGECONFIG ??= "gnutls kerberos libgmp" + +# We could use --without-all but its better to +# split it into several packages (size of minimal doesnt change) +EXTRA_OECONF = " --with-x=no --with-dumping=none" + +DEPENDS = "ncurses" +DEPENDS_append_class-target = " emacs-native" + +inherit autotools mime-xdg + + +do_compile_class-native (){ + cd ${B}/lib-src + oe_runmake make-docfile + oe_runmake make-fingerprint +} +do_install_class-native(){ + install -d ${D}${bindir} + install -m 755 ${B}/lib-src/make-docfile ${D}/${bindir}/ + install -m 755 ${B}/lib-src/make-fingerprint ${D}/${bindir}/ +} + + +do_install_append(){ + # Delete systemd stuff, extend using DISTRO_FEATURES? + rm -rf ${D}/${libdir} + # Extra stuff which isnt needed + rm -rf ${D}/${datadir}/metainfo + rm -rf ${D}/${datadir}/info + # Emacs copies files to ${D} while building, which were unpacked + # by a different user, we need to restore those + chown -R root:root ${D}${datadir} +} + + +# Use a similar strategy to how we build python: +# Create three packages +# minimal - A working lisp based text editor +# base - What would probably work for most +# full - A fully working emacs +# The lists of files are long but are worth it +# Installing "emacs" installs the base package +PACKAGE_BEFORE_PN = "${PN}-minimal ${PN}-base ${PN}-full" +RPROVIDES_${PN}-base = "${PN}" +RDEPENDS_${PN}-base_class-target = "${PN}-minimal" +RDEPENDS_${PN}-full_class-target = "${PN}" + + +# A minimal version of emacs that works +FILES_${PN}-minimal = " \ + ${datadir}/${BPN}/${PV}/lisp/loadup.el \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-run.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/backquote.elc \ + ${datadir}/${BPN}/${PV}/lisp/subr.elc \ + ${datadir}/${BPN}/${PV}/lisp/version.elc \ + ${datadir}/${BPN}/${PV}/lisp/widget.elc \ + ${datadir}/${BPN}/${PV}/lisp/custom.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map-ynp.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/mule.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/mule-conf.elc \ + ${datadir}/${BPN}/${PV}/lisp/env.elc \ + ${datadir}/${BPN}/${PV}/lisp/format.elc \ + ${datadir}/${BPN}/${PV}/lisp/bindings.elc \ + ${datadir}/${BPN}/${PV}/lisp/window.elc \ + ${datadir}/${BPN}/${PV}/lisp/files.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/macroexp.elc \ + ${datadir}/${BPN}/${PV}/lisp/cus-face.elc \ + ${datadir}/${BPN}/${PV}/lisp/faces.elc \ + ${datadir}/${BPN}/${PV}/lisp/button.elc \ + ${datadir}/${BPN}/${PV}/lisp/loaddefs.el \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/nadvice.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-preloaded.elc \ + ${datadir}/${BPN}/${PV}/lisp/obarray.elc \ + ${datadir}/${BPN}/${PV}/lisp/abbrev.elc \ + ${datadir}/${BPN}/${PV}/lisp/simple.elc \ + ${datadir}/${BPN}/${PV}/lisp/jka-cmpr-hook.elc \ + ${datadir}/${BPN}/${PV}/lisp/epa-hook.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/mule-cmds.elc \ + ${datadir}/${BPN}/${PV}/lisp/case-table.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/charprop.el \ + ${datadir}/${BPN}/${PV}/lisp/international/characters.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/charscript.elc \ + ${datadir}/${BPN}/${PV}/lisp/composite.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/chinese.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/cyrillic.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/indian.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/sinhala.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/english.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/ethiopic.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/european.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/czech.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/slovak.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/romanian.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/greek.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/hebrew.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/cp51932.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/eucjp-ms.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/japanese.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/korean.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/lao.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/tai-viet.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/thai.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/tibetan.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/vietnamese.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/misc-lang.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/utf-8-lang.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/georgian.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/khmer.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/burmese.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/cham.elc \ + ${datadir}/${BPN}/${PV}/lisp/indent.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-generic.elc \ + ${datadir}/${BPN}/${PV}/lisp/minibuffer.elc \ + ${datadir}/${BPN}/${PV}/lisp/frame.elc \ + ${datadir}/${BPN}/${PV}/lisp/startup.elc \ + ${datadir}/${BPN}/${PV}/lisp/term/tty-colors.elc \ + ${datadir}/${BPN}/${PV}/lisp/font-core.elc \ + ${datadir}/${BPN}/${PV}/lisp/facemenu.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/syntax.elc \ + ${datadir}/${BPN}/${PV}/lisp/font-lock.elc \ + ${datadir}/${BPN}/${PV}/lisp/jit-lock.elc \ + ${datadir}/${BPN}/${PV}/lisp/mouse.elc \ + ${datadir}/${BPN}/${PV}/lisp/select.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/timer.elc \ + ${datadir}/${BPN}/${PV}/lisp/isearch.elc \ + ${datadir}/${BPN}/${PV}/lisp/rfn-eshadow.elc \ + ${datadir}/${BPN}/${PV}/lisp/menu-bar.elc \ + ${datadir}/${BPN}/${PV}/lisp/tab-bar.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp.elc \ + ${datadir}/${BPN}/${PV}/lisp/textmodes/page.elc \ + ${datadir}/${BPN}/${PV}/lisp/register.elc \ + ${datadir}/${BPN}/${PV}/lisp/textmodes/paragraphs.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/prog-mode.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp-mode.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/elisp-mode.elc \ + ${datadir}/${BPN}/${PV}/lisp/textmodes/text-mode.elc \ + ${datadir}/${BPN}/${PV}/lisp/textmodes/fill.elc \ + ${datadir}/${BPN}/${PV}/lisp/newcomment.elc \ + ${datadir}/${BPN}/${PV}/lisp/replace.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/tabulated-list.elc \ + ${datadir}/${BPN}/${PV}/lisp/buff-menu.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/float-sup.elc \ + ${datadir}/${BPN}/${PV}/lisp/vc/vc-hooks.elc \ + ${datadir}/${BPN}/${PV}/lisp/vc/ediff-hook.elc \ + ${datadir}/${BPN}/${PV}/lisp/uniquify.elc \ + ${datadir}/${BPN}/${PV}/lisp/electric.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eldoc.elc \ + ${datadir}/${BPN}/${PV}/lisp/cus-start.elc \ + ${datadir}/${BPN}/${PV}/lisp/tooltip.elc \ + ${datadir}/${BPN}/${PV}/lisp/simple.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/regexp-opt.elc \ + ${datadir}/${BPN}/${PV}/lisp/term/xterm.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/bytecomp.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cconv.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/gv.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-opt.elc \ + ${datadir}/${BPN}/${PV}/lisp/image.elc \ + ${datadir}/${BPN}/${PV}/lisp/ldefs-boot.el \ + ${datadir}/${BPN}/${PV}/lisp/help.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/uni*.el \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/vc/warnings.elc \ + ${datadir}/${BPN}/${PV}/etc/charsets/ \ + ${bindir}/emacs* \ + ${prefix}/libexec \ +" + + +# What works for "most" is relative, but this can be easily extended if needed +FILES_${PN}-base = " \ + ${datadir}/${BPN}/${PV}/etc/srecode \ + ${datadir}/${BPN}/${PV}/etc/e \ + ${datadir}/${BPN}/${PV}/etc/forms \ + ${datadir}/${BPN}/${PV}/lisp/cedet \ + ${datadir}/${BPN}/${PV}/site-lisp/ \ + ${datadir}/${BPN}/${PV}/lisp/subdirs.el \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-mode.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-defs.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-vars.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-engine.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-styles.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-fonts.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-cmds.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-align.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-menus.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-guess.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easymenu.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/python* \ + ${datadir}/${BPN}/${PV}/lisp/ansi-color.elc \ + ${datadir}/${BPN}/${PV}/lisp/comint.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/ring.elc \ + ${datadir}/${BPN}/${PV}/lisp/json.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/subr-x.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/tramp-sh.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/tramp.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/tramp-compat.elc \ + ${datadir}/${BPN}/${PV}/lisp/auth-source.elc \ + ${datadir}/${BPN}/${PV}/lisp/password-cache.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio-core.elc \ + ${datadir}/${BPN}/${PV}/lisp/format-spec.elc \ + ${datadir}/${BPN}/${PV}/lisp/ls-lisp.elc \ + ${datadir}/${BPN}/${PV}/lisp/calendar/parse-time.elc \ + ${datadir}/${BPN}/${PV}/lisp/calendar/iso8601.elc \ + ${datadir}/${BPN}/${PV}/lisp/calendar/time-date.elc \ + ${datadir}/${BPN}/${PV}/lisp/shell.elc \ + ${datadir}/${BPN}/${PV}/lisp/pcomplete.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/tramp-integration.elc \ + ${datadir}/${BPN}/${PV}/lisp/files-x.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/trampver.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/tramp-loaddefs.el \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/*perl* \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/smie.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/*asm* \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cpp* \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/make* \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/sh-script* \ + ${datadir}/${BPN}/${PV}/etc/themes/adwaita-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/wheatgrass-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/deeper-blue-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/light-blue-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/misterioso-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/tango-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/wombat-theme.el \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/prog* \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/executable* \ +" + +# Restore FILES for the full package to catch everything left +FILES_${PN}-full = "${FILES_${PN}}" +FILES_${PN}-full_append = " ${datadir}/icons" + + +# The following does NOT build a native emacs. +# It only builds some parts of it that are +# required to by the build for target emacs. +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch b/meta-openembedded/meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch new file mode 100644 index 000000000..cc0b05c79 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch @@ -0,0 +1,85 @@ +Upstream-Status: Inappropriate [OE-Specific] + +When building emacs, it builds some tools for the HOST +that are then used to build for target, such as +make-fingerprint and make-docfile, this needs to be +adapted to be used by bitbake, otherwise the compiled +executables arent compatible with the HOST. + +Use the above mentioned tools provided by the native +version of the recipe instead. + +Signed-off-by: Alejandro Enedino Hernandez Samaniego + +Index: emacs-27.1/src/Makefile.in +=================================================================== +--- emacs-27.1.orig/src/Makefile.in ++++ emacs-27.1/src/Makefile.in +@@ -472,7 +472,7 @@ ifeq ($(CHECK_STRUCTS),true) + pdumper.o: dmpstruct.h + endif + dmpstruct.h: $(srcdir)/dmpstruct.awk +-dmpstruct.h: $(libsrc)/make-fingerprint$(EXEEXT) $(dmpstruct_headers) ++dmpstruct.h: $(dmpstruct_headers) + $(AM_V_GEN)POSIXLY_CORRECT=1 awk -f $(srcdir)/dmpstruct.awk \ + $(dmpstruct_headers) > $@ + +@@ -566,8 +566,7 @@ ${lispintdir}/characters.elc: ${charscri + ## Strictly speaking, emacs does not depend directly on all of $lisp, + ## since not all pieces are used on all platforms. But DOC depends + ## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here. +-emacs$(EXEEXT): temacs$(EXEEXT) \ +- lisp.mk $(etc)/DOC $(lisp) \ ++emacs$(EXEEXT): lisp.mk $(etc)/DOC $(lisp) \ + $(lispsource)/international/charprop.el ${charsets} + ifeq ($(DUMPING),unexec) + LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump +@@ -596,15 +595,15 @@ endif + ## for the first time, this prevents any variation between configurations + ## in the contents of the DOC file. + ## +-$(etc)/DOC: lisp.mk $(libsrc)/make-docfile$(EXEEXT) $(obj) $(lisp) ++$(etc)/DOC: lisp.mk $(obj) $(lisp) + $(AM_V_GEN)$(MKDIR_P) $(etc) + $(AM_V_at)rm -f $(etc)/DOC +- $(AM_V_at)$(libsrc)/make-docfile -d $(srcdir) \ ++ make-docfile -d $(srcdir) \ + $(SOME_MACHINE_OBJECTS) $(obj) > $(etc)/DOC +- $(AM_V_at)$(libsrc)/make-docfile -a $(etc)/DOC -d $(lispsource) \ ++ make-docfile -a $(etc)/DOC -d $(lispsource) \ + $(shortlisp) + +-$(libsrc)/make-docfile$(EXEEXT) $(libsrc)/make-fingerprint$(EXEEXT): \ ++$(libsrc)/make-fingerprint$(EXEEXT): \ + $(lib)/libgnu.a + $(MAKE) -C $(dir $@) $(notdir $@) + +@@ -622,8 +621,8 @@ am__v_GLOBALS_ = $(am__v_GLOBALS_@AM_DEF + am__v_GLOBALS_0 = @echo " GEN " globals.h; + am__v_GLOBALS_1 = + +-gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES) +- $(AM_V_GLOBALS)$(libsrc)/make-docfile -d $(srcdir) -g $(obj) > globals.tmp ++gl-stamp: $(GLOBAL_SOURCES) ++ make-docfile -d $(srcdir) -g $(obj) > globals.tmp + $(AM_V_at)$(top_srcdir)/build-aux/move-if-change globals.tmp globals.h + $(AM_V_at)echo timestamp > $@ + +@@ -637,7 +636,7 @@ $(LIBEGNU_ARCHIVE): $(config_h) + $(MAKE) -C $(dir $@) all + + ifeq ($(HAVE_PDUMPER),yes) +- MAKE_PDUMPER_FINGERPRINT = $(libsrc)/make-fingerprint$(EXEEXT) ++ MAKE_PDUMPER_FINGERPRINT = make-fingerprint + else + MAKE_PDUMPER_FINGERPRINT = + endif +@@ -647,7 +646,7 @@ endif + ## This goes on to affect various things, and the emacs binary fails + ## to start if Vinstallation_directory has the wrong value. + temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(EMACSRES) \ +- $(charsets) $(charscript) $(MAKE_PDUMPER_FINGERPRINT) ++ $(charsets) $(charscript) + $(AM_V_CCLD)$(CC) -o $@.tmp \ + $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \ + $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(W32_RES_LINK) $(LIBES) diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.2.0.bb b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.2.0.bb index 6a97c24c2..d446a31a5 100644 --- a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.2.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.2.0.bb @@ -38,7 +38,7 @@ PACKAGECONFIG ??= " \ X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile" PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF,${X11_DEPS}" -PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native" +PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon" PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb" PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam" PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio" diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb deleted file mode 100644 index b7b783931..000000000 --- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" -HOMEPAGE = "https://github.com/gperftools/gperftools" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" - -SRCREV = "db7aa547abb5abdd558587a15502584cbc825438" -SRC_URI = "git://github.com/gperftools/gperftools \ - file://0001-Support-Atomic-ops-on-clang.patch \ - file://0001-fix-build-with-musl-libc.patch \ - file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \ - file://disable_libunwind_aarch64.patch \ - file://sgidef.patch \ - " - -inherit autotools - -S = "${WORKDIR}/git" - -# On mips, we have the following error. -# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 -# Segmentation fault (core dumped) -COMPATIBLE_HOST_mipsarch = "null" -COMPATIBLE_HOST_riscv64 = "null" -COMPATIBLE_HOST_riscv32 = "null" - -# Disable thumb1 -# {standard input}: Assembler messages: -# {standard input}:434: Error: lo register required -- `ldr pc,[sp]' -# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm" - -PACKAGECONFIG ?= "libunwind static" -PACKAGECONFIG_remove_arm_libc-musl = "libunwind" -PACKAGECONFIG_remove_riscv64 = "libunwind" -PACKAGECONFIG_remove_riscv32 = "libunwind" - -PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" -PACKAGECONFIG[static] = "--enable-static,--disable-static," - -PACKAGE_BEFORE_PN += "libtcmalloc-minimal" -FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}" - -# pprof tool requires Getopt::long and POSIX perl5 modules. -# Also runs `objdump` on each cpuprofile data file -RDEPENDS_${PN} += "binutils perl-module-getopt-long perl-module-posix" - -RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})" - diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.bb b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.bb new file mode 100644 index 000000000..662777b47 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.bb @@ -0,0 +1,49 @@ +SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" +HOMEPAGE = "https://github.com/gperftools/gperftools" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" + +SRCREV = "180bfa10d7cb38e8b3784d60943d50e8fcef0dcb" +SRC_URI = "git://github.com/gperftools/gperftools \ + file://0001-Support-Atomic-ops-on-clang.patch \ + file://0001-fix-build-with-musl-libc.patch \ + file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \ + file://disable_libunwind_aarch64.patch \ + file://sgidef.patch \ + " + +inherit autotools + +S = "${WORKDIR}/git" + +# On mips, we have the following error. +# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 +# Segmentation fault (core dumped) +COMPATIBLE_HOST_mipsarch = "null" +COMPATIBLE_HOST_riscv64 = "null" +COMPATIBLE_HOST_riscv32 = "null" + +# Disable thumb1 +# {standard input}: Assembler messages: +# {standard input}:434: Error: lo register required -- `ldr pc,[sp]' +# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm" + +PACKAGECONFIG ?= "libunwind static" +PACKAGECONFIG_remove_arm_libc-musl = "libunwind" +PACKAGECONFIG_remove_riscv64 = "libunwind" +PACKAGECONFIG_remove_riscv32 = "libunwind" + +PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" +PACKAGECONFIG[static] = "--enable-static,--disable-static," + +PACKAGE_BEFORE_PN += "libtcmalloc-minimal" +FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}" + +# pprof tool requires Getopt::long and POSIX perl5 modules. +# Also runs `objdump` on each cpuprofile data file +RDEPENDS_${PN} += "binutils perl-module-getopt-long perl-module-posix" + +RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})" + diff --git a/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.105.bb b/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.105.bb deleted file mode 100644 index 70807de2a..000000000 --- a/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.105.bb +++ /dev/null @@ -1,42 +0,0 @@ -DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \ -for the development of SOAP Web Services and clients." -SECTION = "devel" -LICENSE = "GPL-2.0-with-OpenSSL-exception" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \ - file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}2/${BPN}_${PV}.zip \ - " -SRC_URI[md5sum] = "ce91e46d3abc1d720566b13298fbc367" -SRC_URI[sha256sum] = "aa20c535cf08f1576bebad97cc6159ca57c68bc43acfc9a296e4e9faf041097e" - -inherit autotools - -BBCLASSEXTEND = "native" - -S = "${WORKDIR}/${BPN}-2.8" - -PARALLEL_MAKE = "" - -EXTRA_OEMAKE_class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2" - -DEPENDS = "openssl zlib flex bison bison-native" -DEPENDS_append_class-target = " gsoap-native" - -do_install_append() { - install -d ${D}${libdir} - for lib in libgsoapssl libgsoapssl++ libgsoap libgsoapck++ libgsoap++ libgsoapck - do - oe_libinstall -C gsoap $lib ${D}${libdir} - done -} - -do_install_class-native() { - oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install -} - -FILES_${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2" -FILES_${PN} += "${datadir}" -FILES_${PN}-staticdev = "${libdir}" -FILES_${PN}-dev = "${includedir}" -RRECOMMENDS_${PN}-dev = "${PN}-staticdev" diff --git a/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.106.bb b/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.106.bb new file mode 100644 index 000000000..0249d09e4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.106.bb @@ -0,0 +1,42 @@ +DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \ +for the development of SOAP Web Services and clients." +SECTION = "devel" +LICENSE = "GPL-2.0-with-OpenSSL-exception" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \ + file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}2/${BPN}_${PV}.zip \ + " +SRC_URI[md5sum] = "0925d25bc455047b01d4fe9814d30173" +SRC_URI[sha256sum] = "4e74838baf5437e95ae17aa3efb48bd0621f483bff4424f6255fcf327ff80765" + +inherit autotools + +BBCLASSEXTEND = "native" + +S = "${WORKDIR}/${BPN}-2.8" + +PARALLEL_MAKE = "" + +EXTRA_OEMAKE_class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2" + +DEPENDS = "openssl zlib flex bison bison-native" +DEPENDS_append_class-target = " gsoap-native" + +do_install_append() { + install -d ${D}${libdir} + for lib in libgsoapssl libgsoapssl++ libgsoap libgsoapck++ libgsoap++ libgsoapck + do + oe_libinstall -C gsoap $lib ${D}${libdir} + done +} + +do_install_class-native() { + oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install +} + +FILES_${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2" +FILES_${PN} += "${datadir}" +FILES_${PN}-staticdev = "${libdir}" +FILES_${PN}-dev = "${includedir}" +RRECOMMENDS_${PN}-dev = "${PN}-staticdev" diff --git a/meta-openembedded/meta-oe/recipes-support/htop/files/0001-Ask-for-python3-specifically.patch b/meta-openembedded/meta-oe/recipes-support/htop/files/0001-Ask-for-python3-specifically.patch deleted file mode 100644 index 6153bdedb..000000000 --- a/meta-openembedded/meta-oe/recipes-support/htop/files/0001-Ask-for-python3-specifically.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 08aca4816cc798fce58b6235c26585a0063fa8af Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 26 Nov 2019 10:43:49 -0800 -Subject: [PATCH] Ask for python3 specifically - -python2 is on its way out - -Upstream-Status: Submitted [https://github.com/hishamhm/htop/pull/968] -Signed-off-by: Khem Raj ---- - scripts/MakeHeader.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/scripts/MakeHeader.py b/scripts/MakeHeader.py -index 7c48fdd..7a7586d 100755 ---- a/scripts/MakeHeader.py -+++ b/scripts/MakeHeader.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - import os, sys, string, io - try: - from StringIO import StringIO --- -2.24.0 - diff --git a/meta-openembedded/meta-oe/recipes-support/htop/files/htop-gcc10.patch b/meta-openembedded/meta-oe/recipes-support/htop/files/htop-gcc10.patch deleted file mode 100644 index 5be06277d..000000000 --- a/meta-openembedded/meta-oe/recipes-support/htop/files/htop-gcc10.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix build with -fno-common - -Upstream-Staus: Pending -Signed-off-by: Khem Raj ---- a/CRT.h -+++ b/CRT.h -@@ -140,7 +140,7 @@ extern const char **CRT_treeStr; - - extern int CRT_delay; - --int* CRT_colors; -+extern int* CRT_colors; - - extern int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT]; - -@@ -150,13 +150,13 @@ extern int CRT_scrollHAmount; - - extern int CRT_scrollWheelVAmount; - --char* CRT_termType; -+extern char* CRT_termType; - - // TODO move color scheme to Settings, perhaps? - - extern int CRT_colorScheme; - --void *backtraceArray[128]; -+extern void *backtraceArray[128]; - - #if HAVE_SETUID_ENABLED - diff --git a/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb b/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb deleted file mode 100644 index c608077de..000000000 --- a/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Interactive process viewer" -HOMEPAGE = "http://hisham.hm/htop" -SECTION = "console/utils" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=c312653532e8e669f30e5ec8bdc23be3" - -DEPENDS = "ncurses" - -SRC_URI = "http://hisham.hm/htop/releases/${PV}/${BP}.tar.gz \ - file://0001-Use-pkg-config.patch \ - file://0001-Ask-for-python3-specifically.patch \ - file://htop-gcc10.patch \ - " -SRC_URI[md5sum] = "0d816b6beed31edc75babcfbf863ffa8" -SRC_URI[sha256sum] = "d9d6826f10ce3887950d709b53ee1d8c1849a70fa38e91d5896ad8cbc6ba3c57" - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "proc \ - cgroup \ - taskstats \ - unicode \ - linux-affinity \ - delayacct" -PACKAGECONFIG[proc] = "--enable-proc,--disable-proc" -PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz" -PACKAGECONFIG[cgroup] = "--enable-cgroup,--disable-cgroup" -PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver" -PACKAGECONFIG[taskstats] = "--enable-taskstats,--disable-taskstats" -PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode" -PACKAGECONFIG[linux-affinity] = "--enable-linux-affinity,--disable-linux-affinity" -PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc" -PACKAGECONFIG[setuid] = "--enable-setuid,--disable-setuid" -PACKAGECONFIG[delayacct] = "--enable-delayacct,--disable-delayacct,libnl" - -do_configure_prepend () { - rm -rf ${S}/config.h -} diff --git a/meta-openembedded/meta-oe/recipes-support/htop/htop_3.0.1.bb b/meta-openembedded/meta-oe/recipes-support/htop/htop_3.0.1.bb new file mode 100644 index 000000000..d677e36c0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/htop/htop_3.0.1.bb @@ -0,0 +1,31 @@ +SUMMARY = "Interactive process viewer" +HOMEPAGE = "https://htop.dev" +SECTION = "console/utils" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=4099d367cd5e59b6d4fc1ee33accb891" + +DEPENDS = "ncurses" + +SRC_URI = "git://github.com/htop-dev/htop.git \ + file://0001-Use-pkg-config.patch \ + " +SRCREV = "dace850fa6e27b5626115b366059258cfe4d60c9" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "cgroup \ + taskstats \ + unicode \ + linux-affinity \ + delayacct" +PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz" +PACKAGECONFIG[cgroup] = "--enable-cgroup,--disable-cgroup" +PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver" +PACKAGECONFIG[taskstats] = "--enable-taskstats,--disable-taskstats" +PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode" +PACKAGECONFIG[linux-affinity] = "--enable-linux-affinity,--disable-linux-affinity" +PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc" +PACKAGECONFIG[setuid] = "--enable-setuid,--disable-setuid" +PACKAGECONFIG[delayacct] = "--enable-delayacct,--disable-delayacct,libnl" diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb index 035a11c89..42b92106b 100644 --- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb @@ -5,8 +5,8 @@ SECTION = "System/Base" LICENSE = "GPL-2.0+" LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57" -PV = "0.336" -SRCREV = "e0e15bc7930f6d7befa4e7060fd03cc4935f6190" +PV = "0.339" +SRCREV = "1cd8ee29eb2dcb954961be008b96cfbf982f0700" SRC_URI = "git://github.com/vcrhonek/${BPN}.git" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb index 804faf02e..70cb237d9 100644 --- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb +++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb @@ -46,7 +46,7 @@ BBCLASSEXTEND = "native" ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_${PN} = "animate compare composite conjure convert display \ - identify import mogrify montage stream" + identify import magick-script mogrify montage stream" ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7" ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7" @@ -56,12 +56,13 @@ ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7" ALTERNATIVE_TARGET[display] = "${bindir}/display.im7" ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7" ALTERNATIVE_TARGET[import] = "${bindir}/import.im7" +ALTERNATIVE_TARGET[magick-script] = "${bindir}/magick-script.im7" ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7" ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7" ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7" ALTERNATIVE_${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \ - convert.1 display.1 identify.1 import.1 mogrify.1 montage.1 stream.1" + convert.1 display.1 identify.1 import.1 magick-script.1 mogrify.1 montage.1 stream.1" ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1" ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1" @@ -79,6 +80,8 @@ ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1" ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1" ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1" ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1" +ALTERNATIVE_LINK_NAME[magick-script.1] = "${mandir}/man1/magick-script.1" +ALTERNATIVE_TARGET[magick-script.1] = "${mandir}/man1/magick-script.im7.1" ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1" ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1" ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1" diff --git a/meta-openembedded/meta-oe/recipes-support/imapfilter/imapfilter/ldflags.patch b/meta-openembedded/meta-oe/recipes-support/imapfilter/imapfilter/ldflags.patch new file mode 100644 index 000000000..ceda8394a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/imapfilter/imapfilter/ldflags.patch @@ -0,0 +1,16 @@ +Append to LDFLAGS so it can respect the LDFLAGS passed from environment. This helps +with using propert GNU_HASH settings during link on mips/arm + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/src/Makefile ++++ b/src/Makefile +@@ -24,7 +24,7 @@ CFLAGS = -Wall -Wextra -O \ + -DCONFIG_SSL_CAPATH='"$(SSLCAPATH)"' \ + -DCONFIG_SSL_CAFILE='"$(SSLCAFILE)"' \ + $(INCDIRS) $(MYCFLAGS) +-LDFLAGS = $(LIBDIRS) $(MYLDFLAGS) ++LDFLAGS += $(LIBDIRS) $(MYLDFLAGS) + LIBS = -lm -ldl $(LIBLUA) $(LIBPCRE) $(LIBSSL) $(LIBCRYPTO) $(MYLIBS) + + MAN1 = imapfilter.1 diff --git a/meta-openembedded/meta-oe/recipes-support/imapfilter/imapfilter_2.6.16.bb b/meta-openembedded/meta-oe/recipes-support/imapfilter/imapfilter_2.6.16.bb index 7d4e12dfb..86553b5a8 100644 --- a/meta-openembedded/meta-oe/recipes-support/imapfilter/imapfilter_2.6.16.bb +++ b/meta-openembedded/meta-oe/recipes-support/imapfilter/imapfilter_2.6.16.bb @@ -2,7 +2,9 @@ SUMMARY = "IMAPFilter is a mail filtering utility that processes mailboxes based LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=ccca8573ead8e965c130b6b2946a36ab" -SRC_URI = "https://codeload.github.com/lefcha/${BPN}/tar.gz/v${PV};downloadfilename=v${PV}.tar.gz" +SRC_URI = "https://codeload.github.com/lefcha/${BPN}/tar.gz/v${PV};downloadfilename=${BP}.tar.gz \ + file://ldflags.patch \ +" SRC_URI[sha256sum] = "90af9bc9875e03fb5a09a3233287b74dd817867cb18ec9ff52fead615755563e" DEPENDS= "openssl lua libpcre" @@ -15,3 +17,5 @@ do_install(){ # No need for manuals at this point, MANDIR is hardcoded to depend on prefix rm -rf ${D}${prefix}/man } + +ASNEEDED = "" diff --git a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.11.bb b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.11.bb new file mode 100644 index 000000000..4f10f3531 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.11.bb @@ -0,0 +1,16 @@ +SUMMARY = "Little cms is a small-footprint, speed optimized color management engine" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=9391499b030def18e7bb25bab4bee052" + +SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz" +SRC_URI[md5sum] = "598dae499e58f877ff6788254320f43e" +SRC_URI[sha256sum] = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e" + +DEPENDS = "tiff" + +BBCLASSEXTEND = "native" + +S = "${WORKDIR}/lcms2-${PV}" + +inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb deleted file mode 100644 index be72d765e..000000000 --- a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Little cms is a small-footprint, speed optimized color management engine" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=6c786c3b7a4afbd3c990f1b81261d516" - -SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz" -SRC_URI[md5sum] = "8de1b7724f578d2995c8fdfa35c3ad0e" -SRC_URI[sha256sum] = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20" - -DEPENDS = "tiff" - -BBCLASSEXTEND = "native" - -S = "${WORKDIR}/lcms2-${PV}" - -inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb index f638848d1..6ce318d0b 100644 --- a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb +++ b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb @@ -4,11 +4,11 @@ HOMEPAGE = "http://eigen.tuxfamily.org/" LICENSE = "MPL-2.0" LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad" -SRC_URI = "https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2;downloadfilename=${BP}.tar.bz2" -SRC_URI[md5sum] = "05b1f7511c93980c385ebe11bd3c93fa" -SRC_URI[sha256sum] = "9f13cf90dedbe3e52a19f43000d71fdf72e986beb9a5436dddcd61ff9d77a3ce" +SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;nobranch=1" -S = "${WORKDIR}/eigen-eigen-323c052e1731" +SRCREV = "21ae2afd4edaa1b69782c67a54182d34efe43f9c" + +S = "${WORKDIR}/git" inherit cmake diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.3.bb deleted file mode 100644 index a6320da8e..000000000 --- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.3.bb +++ /dev/null @@ -1,21 +0,0 @@ -require libgpiod.inc - -DEPENDS += "autoconf-archive-native" - -SRC_URI[md5sum] = "d4826720a8de13379436f9c207237bc0" -SRC_URI[sha256sum] = "0ad080d1eb89c422cf13001293ffa72869ca13028e85dab5f6b3ba90f88da46d" - -# enable cxx bindings -PACKAGECONFIG ?= "cxx" - -PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx" -PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev" - -PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3" - -inherit python3native - -PACKAGES =+ "${PN}-python" -FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" -RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}" -RRECOMMENDS_${PN}-python += "${RRECOMMENDS_PYTHON}" diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.4.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.4.bb new file mode 100644 index 000000000..a9a462866 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.4.bb @@ -0,0 +1,21 @@ +require libgpiod.inc + +DEPENDS += "autoconf-archive-native" + +SRC_URI[md5sum] = "064c2627397e6641c52de09a26951112" +SRC_URI[sha256sum] = "f1cda2789e6a13a92aefc012a76e5a7cc57a1b402d66f71df8719ee314b67699" + +# enable cxx bindings +PACKAGECONFIG ?= "cxx" + +PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx" +PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev" + +PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3" + +inherit python3native + +PACKAGES =+ "${PN}-python" +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" +RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}" +RRECOMMENDS_${PN}-python += "${RRECOMMENDS_PYTHON}" diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb new file mode 100644 index 000000000..3a1eaef87 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb @@ -0,0 +1,24 @@ +SUMMARY = "This is the io_uring library, liburing." +DESCRIPTION = "liburing provides helpers to setup and teardown io_uring \ +instances, and also a simplified interface for applications that don't need \ +(or want) to deal with the full kernel side implementation." +HOMEPAGE = "https://github.com/axboe/liburing" +BUGTRACKER = "https://github.com/axboe/liburing/issues" +SECTION = "libs" + +LICENSE = "LGPLv2.1 | MIT" +LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=d51b5805e2a675685e6a66ca50904cf9" + +SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https" +SRCREV = "45f0735219a615ae848033c47c7e2d85d101d43e" +S = "${WORKDIR}/git" + +DEPENDS_append_libc-musl = " libucontext" +XCFLAGS = "-pthread" +XCFLAGS_append_libc-musl = " -lucontext" + +EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'" + +do_install () { + oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir} +} diff --git a/meta-openembedded/meta-oe/recipes-support/libusbg/libusbg_git.bb b/meta-openembedded/meta-oe/recipes-support/libusbg/libusbg_git.bb index 97d60a6a8..b1c466352 100644 --- a/meta-openembedded/meta-oe/recipes-support/libusbg/libusbg_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/libusbg/libusbg_git.bb @@ -4,7 +4,7 @@ LICENSE = "GPLv2 & LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c" -inherit autotools +inherit autotools update-alternatives PV = "0.1.0" SRCREV = "a826d136e0e8fa53815f1ba05893e6dd74208c15" @@ -14,3 +14,6 @@ SRC_URI = "git://github.com/libusbg/libusbg.git \ S = "${WORKDIR}/git" +ALTERNATIVE_${PN} = "gadget-acm-ecm show-gadgets" +ALTERNATIVE_LINK_NAME[gadget-acm-ecm] = "${bindir}/gadget-acm-ecm" +ALTERNATIVE_LINK_NAME[show-gadgets] = "${bindir}/show-gadgets" diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb index d73ca6106..48fc91143 100644 --- a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ DEPENDS = "libconfig" -inherit autotools pkgconfig systemd update-rc.d +inherit autotools pkgconfig systemd update-rc.d update-alternatives PV = "0.2.0+git${SRCPV}" SRCREV = "45c14ef4d5d7ced0fbf984208de44ced6d5ed898" @@ -38,3 +38,8 @@ do_install_append() { } RDEPENDS_${PN} += "libusbgx-config" + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_${PN} = "gadget-acm-ecm show-gadgets" +ALTERNATIVE_LINK_NAME[gadget-acm-ecm] = "${bindir}/gadget-acm-ecm" +ALTERNATIVE_LINK_NAME[show-gadgets] = "${bindir}/show-gadgets" diff --git a/meta-openembedded/meta-oe/recipes-support/links/links_2.20.2.bb b/meta-openembedded/meta-oe/recipes-support/links/links_2.20.2.bb deleted file mode 100644 index 1a36291e5..000000000 --- a/meta-openembedded/meta-oe/recipes-support/links/links_2.20.2.bb +++ /dev/null @@ -1,15 +0,0 @@ -require links.inc - -DEPENDS += "gpm" -RCONFLICTS_${PN} = "links-x11" - -EXTRA_OECONF = "--enable-graphics \ - --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ - --without-libtiff --without-svgalib --with-fb \ - --without-directfb --without-pmshell --without-atheos \ - --without-x" - -SRC_URI[md5sum] = "ee39e612249440d0497535d0dafc3c0e" -SRC_URI[sha256sum] = "4b4f07d0e6261118d1365a5a5bfa31e1eafdbd280cfae6f0e9eedfea51a2f424" -SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33" -SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47" diff --git a/meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb b/meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb new file mode 100644 index 000000000..b6048c1d3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb @@ -0,0 +1,15 @@ +require links.inc + +DEPENDS += "gpm" +RCONFLICTS_${PN} = "links-x11" + +EXTRA_OECONF = "--enable-graphics \ + --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ + --without-libtiff --without-svgalib --with-fb \ + --without-directfb --without-pmshell --without-atheos \ + --without-x" + +SRC_URI[md5sum] = "b88a46733d6932442ed8a6b751aac6b4" +SRC_URI[sha256sum] = "285eed8591c7781ec26213df82786665aaa1b9286782e8a7a1a7e2a6e1630d63" +SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33" +SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47" diff --git a/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb b/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb index ff3047f32..537c45874 100644 --- a/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb +++ b/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb @@ -21,6 +21,11 @@ SRC_URI = "https://releases.pagure.org/${BPN}/${BP}.tar.xz" SRC_URI[md5sum] = "d5701a1a541383c0eda328f4a6518751" SRC_URI[sha256sum] = "f7381516bc1a937348efd1d0e14618e0a2afc5d59fe821dd248632d5601b59b5" +inherit update-alternatives + do_install() { oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir} } + +ALTERNATIVE_${PN} = "mime.types" +ALTERNATIVE_LINK_NAME[mime.types] = "${sysconfdir}/mime.types" diff --git a/meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.48.bb b/meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.48.bb index d617b6620..1137f5012 100644 --- a/meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.48.bb +++ b/meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.48.bb @@ -10,6 +10,8 @@ RRECOMMENDS_${PN} = "file" SRC_URI = "${DEBIAN_MIRROR}/main/m/mime-support/mime-support_${PV}-1.tar.gz" S = "${WORKDIR}/${BPN}" +inherit update-alternatives + FILES_${PN} += " ${libdir}/mime" docdir_append = "/${BPN}" @@ -56,3 +58,7 @@ do_install () { SRC_URI[md5sum] = "d6e5d715e331147352c50c158dbdec6d" SRC_URI[sha256sum] = "a529c7892cb786f514af71f4ca5a4c3ebc58b538a49ff959c0d97592d38f040a" + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_${PN} = "mime.types" +ALTERNATIVE_LINK_NAME[mime.types] = "${sysconfdir}/mime.types" diff --git a/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb b/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb deleted file mode 100644 index 44f55b58d..000000000 --- a/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (C) 2012 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "A minimal iconv implementation w/ support for UTF-8, ASCII, ISO-8859-1" -HOMEPAGE = "http://tinderbox.dev.gentoo.org/portage/local/misc/mini-iconv/" -LICENSE = "MPL-1.1" -SECTION = "libs" -DEPENDS = "" -PROVIDES = "virtual/libiconv" -LIC_FILES_CHKSUM = "file://iconv.c;beginline=1;endline=6;md5=35af9d9924327fe8a0a1fe3a2cb454c8" -SRC_URI = "http://mirror.meleeweb.net/pub/linux/gentoo/distfiles/mini-iconv.tar.bz2" -SRC_URI[md5sum] = "84412221e26505a2b3855d4a1cdcd0e0" -SRC_URI[sha256sum] = "3552262bf1bcf8e859a2a3a7adfb0367af8593383e730c492e981477aac0a0d4" - - -S = "${WORKDIR}/${BPN}" - -do_install() { - oe_runmake install DESTDIR=${D} PREFIX=${prefix} LIB=${base_libdir} -} diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_5.0.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.0.bb deleted file mode 100644 index e97c01f14..000000000 --- a/meta-openembedded/meta-oe/recipes-support/nano/nano_5.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ -Not ANOther editor) is an enhanced clone of the \ -Pico text editor." -HOMEPAGE = "http://www.nano-editor.org/" -SECTION = "console/utils" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" - -DEPENDS = "ncurses file" -RDEPENDS_${PN} = "ncurses-terminfo-base" - -PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" - -SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" -SRC_URI[sha256sum] = "7c0d94be69cd066f20df2868a2da02f7b1d416ce8d47c0850a8bd270897caa36" - -UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano" - -inherit autotools gettext pkgconfig - -PACKAGECONFIG[tiny] = "--enable-tiny," diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_5.2.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.2.bb new file mode 100644 index 000000000..f2cd2909c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.2.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ +Not ANOther editor) is an enhanced clone of the \ +Pico text editor." +HOMEPAGE = "http://www.nano-editor.org/" +SECTION = "console/utils" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" + +DEPENDS = "ncurses file" +RDEPENDS_${PN} = "ncurses-terminfo-base" + +PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" + +SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" +SRC_URI[sha256sum] = "32c2da43e1ae9a5e43437d8c6e1ec0388af870c7762c479e5bffb5f292bda7e1" + +UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano" + +inherit autotools gettext pkgconfig + +PACKAGECONFIG[tiny] = "--enable-tiny," diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch b/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch index 1a87a0577..bfc375e83 100644 --- a/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch +++ b/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch @@ -14,21 +14,18 @@ Signed-off-by: Alexander Kanavin nss/lib/freebl/gcm.c | 2 ++ 2 files changed, 6 insertions(+) -diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile -index f99f769..b0ec81b 100644 --- a/nss/lib/freebl/Makefile +++ b/nss/lib/freebl/Makefile -@@ -125,6 +125,9 @@ else - DEFINES += -DNSS_X86 +@@ -126,6 +126,8 @@ else endif endif -+ + ifdef NS_USE_GCC +ifdef NSS_USE_ARM_HW_CRYPTO + DEFINES += -DNSS_USE_ARM_HW_CRYPTO ifeq ($(CPU_ARCH),aarch64) - DEFINES += -DUSE_HW_AES -DUSE_HW_SHA2 - EXTRA_SRCS += aes-armv8.c gcm-aarch64.c sha256-armv8.c -@@ -148,6 +151,7 @@ endif + DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2 + EXTRA_SRCS += aes-armv8.c gcm-aarch64.c sha1-armv8.c sha256-armv8.c +@@ -150,6 +152,7 @@ endif endif endif endif @@ -36,23 +33,15 @@ index f99f769..b0ec81b 100644 ifeq ($(OS_TARGET),OSF1) DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_NO_MP_WORD -diff --git a/nss/lib/freebl/gcm.c b/nss/lib/freebl/gcm.c -index c2cc18d..b77f573 100644 --- a/nss/lib/freebl/gcm.c +++ b/nss/lib/freebl/gcm.c -@@ -18,6 +18,7 @@ - - #include - -+#ifdef NSS_USE_ARM_HW_CRYPTO +@@ -21,7 +21,9 @@ /* old gcc doesn't support some poly64x2_t intrinsic */ #if defined(__aarch64__) && defined(IS_LITTLE_ENDIAN) && \ (defined(__clang__) || defined(__GNUC__) && __GNUC__ > 6) -@@ -27,6 +28,7 @@ - /* We don't test on big endian platform, so disable this on big endian. */ ++# ifdef NSS_USE_ARM_HW_CRYPTO #define USE_ARM_GCM - #endif -+#endif - - /* Forward declarations */ - SECStatus gcm_HashInit_hw(gcmHashContext *ghash); ++# endif + #elif defined(__arm__) && defined(IS_LITTLE_ENDIAN) && \ + !defined(NSS_DISABLE_ARM32_NEON) + /* We don't test on big endian platform, so disable this on big endian. */ diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-pkix-Do-not-use-NULL-where-0-is-needed.patch b/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-pkix-Do-not-use-NULL-where-0-is-needed.patch new file mode 100644 index 000000000..432312da2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-pkix-Do-not-use-NULL-where-0-is-needed.patch @@ -0,0 +1,46 @@ +From 1136cad77c2dc7d8e1daa317877676733e805f29 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 26 Aug 2020 17:30:40 -0700 +Subject: [PATCH] pkix: Do not use NULL where 0 is needed + +Clang finds this error + +pkix_logger.c:316:32: error: cast to smaller integer type 'PKIX_ERRORCLASS' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast] + logger->logComponent = (PKIX_ERRORCLASS)NULL; + ^~~~~~~~~~~~~~~~~~~~~ +pkix_logger.c:617:32: error: cast to smaller integer type 'PKIX_ERRORCLASS' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast] + logger->logComponent = (PKIX_ERRORCLASS)NULL; + ^~~~~~~~~~~~~~~~~~~~~ +2 errors generated. + +Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1661378] +Signed-off-by: Khem Raj +--- + nss/lib/libpkix/pkix/util/pkix_logger.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/nss/lib/libpkix/pkix/util/pkix_logger.c b/nss/lib/libpkix/pkix/util/pkix_logger.c +index a916e6e..10f537a 100644 +--- a/nss/lib/libpkix/pkix/util/pkix_logger.c ++++ b/nss/lib/libpkix/pkix/util/pkix_logger.c +@@ -313,7 +313,7 @@ pkix_Logger_Destroy( + + logger->callback = NULL; + PKIX_DECREF(logger->context); +- logger->logComponent = (PKIX_ERRORCLASS)NULL; ++ logger->logComponent = (PKIX_ERRORCLASS)0; + + cleanup: + +@@ -614,7 +614,7 @@ PKIX_Logger_Create( + + logger->callback = callback; + logger->maxLevel = 0; +- logger->logComponent = (PKIX_ERRORCLASS)NULL; ++ logger->logComponent = (PKIX_ERRORCLASS)0; + + PKIX_INCREF(loggerContext); + logger->context = loggerContext; +-- +2.28.0 + diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh b/meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh deleted file mode 100644 index a74e499f8..000000000 --- a/meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# signlibs.sh -# -# (c)2010 Wind River Systems, Inc. -# -# regenerates the .chk files for the NSS libraries that require it -# since the ones that are built have incorrect checksums that were -# calculated on the host where they really need to be done on the -# target - -CHK_FILES=`ls /lib*/*.chk /usr/lib*/*.chk 2>/dev/null` -SIGN_BINARY=`which shlibsign` -for I in $CHK_FILES -do - DN=`dirname $I` - BN=`basename $I .chk` - FN=$DN/$BN.so - $SIGN_BINARY -i $FN -done diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.54.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.54.bb deleted file mode 100644 index 4923f6868..000000000 --- a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.54.bb +++ /dev/null @@ -1,277 +0,0 @@ -SUMMARY = "Mozilla's SSL and TLS implementation" -DESCRIPTION = "Network Security Services (NSS) is a set of libraries \ -designed to support cross-platform development of \ -security-enabled client and server applications. \ -Applications built with NSS can support SSL v2 and v3, \ -TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \ -v3 certificates, and other security standards." -HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/" -SECTION = "libs" - -DEPENDS = "sqlite3 nspr zlib nss-native" -DEPENDS_class-native = "sqlite3-native nspr-native zlib-native" - -LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)" - -LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \ - file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \ - file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132" - -VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}" - -SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \ - file://nss.pc.in \ - file://signlibs.sh \ - file://0001-nss-fix-support-cross-compiling.patch \ - file://nss-no-rpath-for-cross-compiling.patch \ - file://nss-fix-incorrect-shebang-of-perl.patch \ - file://disable-Wvarargs-with-clang.patch \ - file://pqg.c-ULL_addend.patch \ - file://blank-cert9.db \ - file://blank-key4.db \ - file://system-pkcs11.txt \ - file://nss-fix-nsinstall-build.patch \ - file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \ - " - -SRC_URI[sha256sum] = "dab18bbfcf5e347934cda664df75ce9fd912a5772686c40d3c805e53c08d6e43" - -UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases" -UPSTREAM_CHECK_REGEX = "NSS_(?P.+)_release_notes" - -inherit siteinfo - -TD = "${S}/tentative-dist" -TDS = "${S}/tentative-dist-staging" - -# cortex-a55 is ARMv8.2-a based but libatomic explicitly asks for -march=armv8.1-a -# which caused -march conflicts in gcc -TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc -mcpu=cortex-a55 -mcpu=cortex-a55+crc+crypto" - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_configure_prepend_libc-musl () { - sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk -} - -do_compile_prepend_class-native() { - export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr - export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE} - export NSS_ENABLE_WERROR=0 -} - -do_compile_prepend_class-nativesdk() { - export LDFLAGS="" -} - -do_compile_prepend_class-native() { - # Need to set RPATH so that chrpath will do its job correctly - RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}" -} - -do_compile() { - export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr - - export CROSS_COMPILE=1 - export NATIVE_CC="${BUILD_CC}" - # Additional defines needed on Centos 7 - export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux" - export BUILD_OPT=1 - - export FREEBL_NO_DEPEND=1 - export FREEBL_LOWHASH=1 - - export LIBDIR=${libdir} - export MOZILLA_CLIENT=1 - export NS_USE_GCC=1 - export NSS_USE_SYSTEM_SQLITE=1 - export NSS_ENABLE_ECC=1 - - ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)} - - export OS_RELEASE=3.4 - export OS_TARGET=Linux - export OS_ARCH=Linux - - if [ "${TARGET_ARCH}" = "powerpc" ]; then - OS_TEST=ppc - elif [ "${TARGET_ARCH}" = "powerpc64" ]; then - OS_TEST=ppc64 - elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then - OS_TEST=mips - elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then - OS_TEST="aarch64" - else - OS_TEST="${TARGET_ARCH}" - fi - - if [ "${SITEINFO_BITS}" = "64" ]; then - export USE_64=1 - elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then - export USE_X32=1 - fi - - export NSS_DISABLE_GTESTS=1 - - # We can modify CC in the environment, but if we set it via an - # argument to make, nsinstall, a host program, will also build with it! - # - # nss pretty much does its own thing with CFLAGS, so we put them into CC. - # Optimization will get clobbered, but most of the stuff will survive. - # The motivation for this is to point to the correct place for debug - # source files and CFLAGS does that. Nothing uses CCC. - # - export CC="${CC} ${CFLAGS}" - make -C ./nss CCC="${CXX} -g" \ - OS_TEST=${OS_TEST} \ - RPATH="${RPATH}" \ - autobuild -} - -do_compile[vardepsexclude] += "SITEINFO_BITS" - -do_install_prepend_class-nativesdk() { - export LDFLAGS="" -} - -do_install() { - export CROSS_COMPILE=1 - export NATIVE_CC="${BUILD_CC}" - export BUILD_OPT=1 - - export FREEBL_NO_DEPEND=1 - - export LIBDIR=${libdir} - export MOZILLA_CLIENT=1 - export NS_USE_GCC=1 - export NSS_USE_SYSTEM_SQLITE=1 - export NSS_ENABLE_ECC=1 - - export OS_RELEASE=3.4 - export OS_TARGET=Linux - export OS_ARCH=Linux - - if [ "${TARGET_ARCH}" = "powerpc" ]; then - OS_TEST=ppc - elif [ "${TARGET_ARCH}" = "powerpc64" ]; then - OS_TEST=ppc64 - elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then - OS_TEST=mips - elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then - CPU_ARCH=aarch64 - OS_TEST="aarch64" - else - OS_TEST="${TARGET_ARCH}" - fi - if [ "${SITEINFO_BITS}" = "64" ]; then - export USE_64=1 - elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then - export USE_X32=1 - fi - - export NSS_DISABLE_GTESTS=1 - - make -C ./nss \ - CCC="${CXX}" \ - OS_TEST=${OS_TEST} \ - SOURCE_LIB_DIR="${TD}/${libdir}" \ - SOURCE_BIN_DIR="${TD}/${bindir}" \ - install - - install -d ${D}/${libdir}/ - for file in ${S}/dist/*.OBJ/lib/*.so; do - echo "Installing `basename $file`..." - cp $file ${D}/${libdir}/ - done - - for shared_lib in ${TD}/${libdir}/*.so.*; do - if [ -f $shared_lib ]; then - cp $shared_lib ${D}/${libdir} - ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe) - fi - done - for shared_lib in ${TD}/${libdir}/*.so; do - if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then - cp $shared_lib ${D}/${libdir} - fi - done - - install -d ${D}/${includedir}/nss3 - install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/* - - install -d ${D}/${bindir} - for binary in ${TD}/${bindir}/*; do - install -m 755 -t ${D}/${bindir} $binary - done -} - -do_install[vardepsexclude] += "SITEINFO_BITS" - -do_install_append() { - # Create empty .chk files for the NSS libraries at build time. They could - # be regenerated at target's boot time. - for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do - touch ${D}/${libdir}/$file - chmod 755 ${D}/${libdir}/$file - done - install -D -m 755 ${WORKDIR}/signlibs.sh ${D}/${bindir}/signlibs.sh - - install -d ${D}${libdir}/pkgconfig/ - sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc -} - -do_install_append_class-target() { - # It used to call certutil to create a blank certificate with empty password at - # build time, but the checksum of key4.db changes every time when certutil is called. - # It causes non-determinism issue, so provide databases with a blank certificate - # which are originally from output of nss in qemux86-64 build. You can get these - # databases by: - # certutil -N -d sql:/database/path/ --empty-password - install -d ${D}${sysconfdir}/pki/nssdb/ - install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db - install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db - install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt -} - -PACKAGE_WRITE_DEPS += "nss-native" -pkg_postinst_${PN} () { - if [ -n "$D" ]; then - for I in $D${libdir}/lib*.chk; do - DN=`dirname $I` - BN=`basename $I .chk` - FN=$DN/$BN.so - shlibsign -i $FN - if [ $? -ne 0 ]; then - exit 1 - fi - done - else - signlibs.sh - fi -} - -PACKAGES =+ "${PN}-smime" -FILES_${PN}-smime = "\ - ${bindir}/smime \ -" - -FILES_${PN} = "\ - ${sysconfdir} \ - ${bindir} \ - ${libdir}/lib*.chk \ - ${libdir}/lib*.so \ - " - -FILES_${PN}-dev = "\ - ${libdir}/nss \ - ${libdir}/pkgconfig/* \ - ${includedir}/* \ - " - -RDEPENDS_${PN}-smime = "perl" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.56.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.56.bb new file mode 100644 index 000000000..997f8950f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.56.bb @@ -0,0 +1,272 @@ +SUMMARY = "Mozilla's SSL and TLS implementation" +DESCRIPTION = "Network Security Services (NSS) is a set of libraries \ +designed to support cross-platform development of \ +security-enabled client and server applications. \ +Applications built with NSS can support SSL v2 and v3, \ +TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \ +v3 certificates, and other security standards." +HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/" +SECTION = "libs" + +DEPENDS = "sqlite3 nspr zlib nss-native" +DEPENDS_class-native = "sqlite3-native nspr-native zlib-native" + +LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)" + +LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \ + file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \ + file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132" + +VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}" + +SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \ + file://nss.pc.in \ + file://0001-nss-fix-support-cross-compiling.patch \ + file://nss-no-rpath-for-cross-compiling.patch \ + file://nss-fix-incorrect-shebang-of-perl.patch \ + file://disable-Wvarargs-with-clang.patch \ + file://pqg.c-ULL_addend.patch \ + file://blank-cert9.db \ + file://blank-key4.db \ + file://system-pkcs11.txt \ + file://nss-fix-nsinstall-build.patch \ + file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \ + file://0001-pkix-Do-not-use-NULL-where-0-is-needed.patch \ + " +SRC_URI[sha256sum] = "f875e0e8ed3b5ce92d675be4a55aa25a8c1199789a4a01f69b5f2327e2048e9c" + +UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases" +UPSTREAM_CHECK_REGEX = "NSS_(?P.+)_release_notes" + +inherit siteinfo + +TD = "${S}/tentative-dist" +TDS = "${S}/tentative-dist-staging" + +# cortex-a55 is ARMv8.2-a based but libatomic explicitly asks for -march=armv8.1-a +# which caused -march conflicts in gcc +TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc -mcpu=cortex-a55 -mcpu=cortex-a55+crc+crypto" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_configure_prepend_libc-musl () { + sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk +} + +do_compile_prepend_class-native() { + export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr + export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE} +} + +do_compile_prepend_class-nativesdk() { + export LDFLAGS="" +} + +do_compile_prepend_class-native() { + # Need to set RPATH so that chrpath will do its job correctly + RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}" +} + +do_compile() { + export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr + export NSS_ENABLE_WERROR=0 + + export CROSS_COMPILE=1 + export NATIVE_CC="${BUILD_CC}" + # Additional defines needed on Centos 7 + export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux" + export BUILD_OPT=1 + + export FREEBL_NO_DEPEND=1 + export FREEBL_LOWHASH=1 + + export LIBDIR=${libdir} + export MOZILLA_CLIENT=1 + export NS_USE_GCC=1 + export NSS_USE_SYSTEM_SQLITE=1 + export NSS_ENABLE_ECC=1 + + ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)} + + export OS_RELEASE=3.4 + export OS_TARGET=Linux + export OS_ARCH=Linux + + if [ "${TARGET_ARCH}" = "powerpc" ]; then + OS_TEST=ppc + elif [ "${TARGET_ARCH}" = "powerpc64" ]; then + OS_TEST=ppc64 + elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then + OS_TEST=mips + elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then + OS_TEST="aarch64" + else + OS_TEST="${TARGET_ARCH}" + fi + + if [ "${SITEINFO_BITS}" = "64" ]; then + export USE_64=1 + elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then + export USE_X32=1 + fi + + export NSS_DISABLE_GTESTS=1 + + # We can modify CC in the environment, but if we set it via an + # argument to make, nsinstall, a host program, will also build with it! + # + # nss pretty much does its own thing with CFLAGS, so we put them into CC. + # Optimization will get clobbered, but most of the stuff will survive. + # The motivation for this is to point to the correct place for debug + # source files and CFLAGS does that. Nothing uses CCC. + # + export CC="${CC} ${CFLAGS}" + make -C ./nss CCC="${CXX} -g" \ + OS_TEST=${OS_TEST} \ + RPATH="${RPATH}" \ + autobuild +} + +do_compile[vardepsexclude] += "SITEINFO_BITS" + +do_install_prepend_class-nativesdk() { + export LDFLAGS="" +} + +do_install() { + export CROSS_COMPILE=1 + export NATIVE_CC="${BUILD_CC}" + export BUILD_OPT=1 + + export FREEBL_NO_DEPEND=1 + + export LIBDIR=${libdir} + export MOZILLA_CLIENT=1 + export NS_USE_GCC=1 + export NSS_USE_SYSTEM_SQLITE=1 + export NSS_ENABLE_ECC=1 + + export OS_RELEASE=3.4 + export OS_TARGET=Linux + export OS_ARCH=Linux + + if [ "${TARGET_ARCH}" = "powerpc" ]; then + OS_TEST=ppc + elif [ "${TARGET_ARCH}" = "powerpc64" ]; then + OS_TEST=ppc64 + elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then + OS_TEST=mips + elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then + CPU_ARCH=aarch64 + OS_TEST="aarch64" + else + OS_TEST="${TARGET_ARCH}" + fi + if [ "${SITEINFO_BITS}" = "64" ]; then + export USE_64=1 + elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then + export USE_X32=1 + fi + + export NSS_DISABLE_GTESTS=1 + + make -C ./nss \ + CCC="${CXX}" \ + OS_TEST=${OS_TEST} \ + SOURCE_LIB_DIR="${TD}/${libdir}" \ + SOURCE_BIN_DIR="${TD}/${bindir}" \ + install + + install -d ${D}/${libdir}/ + for file in ${S}/dist/*.OBJ/lib/*.so; do + echo "Installing `basename $file`..." + cp $file ${D}/${libdir}/ + done + + for shared_lib in ${TD}/${libdir}/*.so.*; do + if [ -f $shared_lib ]; then + cp $shared_lib ${D}/${libdir} + ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe) + fi + done + for shared_lib in ${TD}/${libdir}/*.so; do + if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then + cp $shared_lib ${D}/${libdir} + fi + done + + install -d ${D}/${includedir}/nss3 + install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/* + + install -d ${D}/${bindir} + for binary in ${TD}/${bindir}/*; do + install -m 755 -t ${D}/${bindir} $binary + done +} + +do_install[vardepsexclude] += "SITEINFO_BITS" + +do_install_append() { + # Create empty .chk files for the NSS libraries at build time. They could + # be regenerated at target's boot time. + for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do + touch ${D}/${libdir}/$file + chmod 755 ${D}/${libdir}/$file + done + + install -d ${D}${libdir}/pkgconfig/ + sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc +} + +do_install_append_class-target() { + # It used to call certutil to create a blank certificate with empty password at + # build time, but the checksum of key4.db changes every time when certutil is called. + # It causes non-determinism issue, so provide databases with a blank certificate + # which are originally from output of nss in qemux86-64 build. You can get these + # databases by: + # certutil -N -d sql:/database/path/ --empty-password + install -d ${D}${sysconfdir}/pki/nssdb/ + install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db + install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db + install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt +} + +PACKAGE_WRITE_DEPS += "nss-native" + +pkg_postinst_${PN} () { + for I in $D${libdir}/lib*.chk; do + DN=`dirname $I` + BN=`basename $I .chk` + FN=$DN/$BN.so + shlibsign -i $FN + if [ $? -ne 0 ]; then + echo "shlibsign -i $FN failed" + fi + done +} + +PACKAGES =+ "${PN}-smime" +FILES_${PN}-smime = "\ + ${bindir}/smime \ +" + +FILES_${PN} = "\ + ${sysconfdir} \ + ${bindir} \ + ${libdir}/lib*.chk \ + ${libdir}/lib*.so \ + " + +FILES_${PN}-dev = "\ + ${libdir}/nss \ + ${libdir}/pkgconfig/* \ + ${includedir}/* \ + " + +RDEPENDS_${PN}-smime = "perl" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.4.0.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.4.0.bb index 372e15cd0..c83186de0 100644 --- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.4.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.4.0.bb @@ -199,6 +199,13 @@ RDEPENDS_python3-opencv = "python3-core python3-numpy" RDEPENDS_${PN}-apps = "bash" +do_compile_prepend() { + # remove the build host info to improve reproducibility + if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then + sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc + fi +} + do_install_append() { # Move Python files into correct library folder (for multilib build) if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.50.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.50.bb deleted file mode 100644 index 3a130f970..000000000 --- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.50.bb +++ /dev/null @@ -1,254 +0,0 @@ -SUMMARY = "OpenLDAP Directory Service" -DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." -HOMEPAGE = "http://www.OpenLDAP.org/license.html" -# The OpenLDAP Public License - see the HOMEPAGE - defines -# the license. www.openldap.org claims this is Open Source -# (see http://www.openldap.org), the license appears to be -# basically BSD. opensource.org does not record this license -# at present (so it is apparently not OSI certified). -LICENSE = "OpenLDAP" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=5391b559d23a2237bdb21e7a62dae7c3 \ - file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \ - " -SECTION = "libs" - -LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" - -SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \ - file://openldap-m4-pthread.patch \ - file://openldap-2.4.28-gnutls-gcrypt.patch \ - file://use-urandom.patch \ - file://initscript \ - file://slapd.service \ - file://thread_stub.patch \ - file://openldap-CVE-2015-3276.patch \ - file://remove-user-host-pwd-from-version.patch \ -" - -SRC_URI[md5sum] = "f9ed44ef373abed04c9e4c8586260f9e" -SRC_URI[sha256sum] = "5cb57d958bf5c55a678c6a0f06821e0e5504d5a92e6a33240841fbca1db586b8" - -DEPENDS = "util-linux groff-native" - -# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when -# installing .so and executables, this fails in cross compilation -# environments -SRC_URI += "file://install-strip.patch" - -inherit autotools-brokensep update-rc.d systemd - -# CV SETTINGS -# Required to work round AC_FUNC_MEMCMP which gets the wrong answer -# when cross compiling (should be in site?) -EXTRA_OECONF += "ac_cv_func_memcmp_working=yes" - -# CONFIG DEFINITIONS -# The following is necessary because it cannot be determined for a -# cross compile automagically. Select should yield fine on all OE -# systems... -EXTRA_OECONF += "--with-yielding-select=yes" -# Shared libraries are nice... -EXTRA_OECONF += "--enable-dynamic" - -PACKAGECONFIG ??= "gnutls modules \ - mdb ldap meta monitor null passwd shell proxycache dnssrv \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -#--with-tls with TLS/SSL support auto|openssl|gnutls [auto] -PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt" -PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl" - -PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl" -PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" - -# SLAPD options -# -# UNIX crypt(3) passwd support: -EXTRA_OECONF += "--enable-crypt" - -# SLAPD BACKEND -# -# The backend must be set by the configuration. This controls the -# required database. -# -# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql" -# -# Note that multiple backends can be built. The ldbm backend requires a -# build-time choice of database API. The bdb backend forces this to be -# DB4. To use the gdbm (or other) API the Berkely database module must -# be removed from the build. -md = "${libexecdir}/openldap" -# -#--enable-bdb enable Berkeley DB backend no|yes|mod yes -# The Berkely DB is the standard choice. This version of OpenLDAP requires -# the version 4 implementation or better. -PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db" - -#--enable-dnssrv enable dnssrv backend no|yes|mod no -PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no" - -#--enable-hdb enable Hierarchical DB backend no|yes|mod no -PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db" - -#--enable-ldap enable ldap backend no|yes|mod no -PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no," - -#--enable-mdb enable mdb database backend no|yes|mod [yes] -PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no," - -#--enable-meta enable metadirectory backend no|yes|mod no -PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," - -#--enable-monitor enable monitor backend no|yes|mod yes -PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no," - -#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no] -PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no," - -#--enable-null enable null backend no|yes|mod no -PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no," - -#--enable-passwd enable passwd backend no|yes|mod no -PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no," - -#--enable-perl enable perl backend no|yes|mod no -# This requires a loadable perl dynamic library, if enabled without -# doing something appropriate (building perl?) the build will pick -# up the build machine perl - not good (inherit perlnative?) -PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl" - -#--enable-relay enable relay backend no|yes|mod [yes] -PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no," - -#--enable-shell enable shell backend no|yes|mod no -# configure: WARNING: Use of --without-threads is recommended with back-shell -PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no," - -#--enable-sock enable sock backend no|yes|mod [no] -PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no," - -#--enable-sql enable sql backend no|yes|mod no -# sql requires some sql backend which provides sql.h, sqlite* provides -# sqlite.h (which may be compatible but hasn't been tried.) -PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3" - -#--enable-dyngroup Dynamic Group overlay no|yes|mod no -# This is a demo, Proxy Cache defines init_module which conflicts with the -# same symbol in dyngroup -PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no," - -#--enable-proxycache Proxy Cache overlay no|yes|mod no -PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no," -FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*" -PACKAGES += "${PN}-overlay-proxycache" - -# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS: -# This allows tls to obtain random bits from /dev/urandom, by default -# it was disabled for cross-compiling. -CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC" - -LDFLAGS_append = " -pthread" - -do_configure() { - cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build - rm -f ${S}/libtool - aclocal - libtoolize --force --copy - gnu-configize - autoconf - oe_runconf -} - -LEAD_SONAME = "libldap-${LDAP_VER}.so.*" - -# The executables go in a separate package. This allows the -# installation of the libraries with no daemon support. -# Each module also has its own package - see above. -PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin" - -# Package contents - shift most standard contents to -bin -FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data" -FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \ - ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \ - ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*" -FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp" -FILES_${PN}-bin = "${bindir}" -FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so" -FILES_${PN}-dbg += "${libexecdir}/openldap/.debug" - -do_install_append() { - install -d ${D}${sysconfdir}/init.d - cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap - chmod 755 ${D}${sysconfdir}/init.d/openldap - # This is duplicated in /etc/openldap and is for slapd - rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example - - # Installing slapd under ${sbin} is more FHS and LSB compliance - mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd - rmdir --ignore-fail-on-non-empty ${D}${libexecdir} - SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema" - cd ${D}/${sbindir}/ - rm -f ${SLAPTOOLS} - for i in ${SLAPTOOLS}; do ln -sf slapd $i; done - - rmdir "${D}${localstatedir}/run" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/ - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service - - # Uses mdm as the database - # and localstatedir as data directory ... - sed -e 's/# modulepath/modulepath/' \ - -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \ - -e 's/database\s*bdb/database mdb/' \ - -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \ - -i ${D}${sysconfdir}/openldap/slapd.conf - - mkdir -p ${D}${localstatedir}/${BPN}/data - - -} - -INITSCRIPT_PACKAGES = "${PN}-slapd" -INITSCRIPT_NAME_${PN}-slapd = "openldap" -INITSCRIPT_PARAMS_${PN}-slapd = "defaults" -SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service" -SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable" - - -PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*" - -# The modules require their .so to be dynamicaly loaded -INSANE_SKIP_${PN}-backend-dnssrv += "dev-so" -INSANE_SKIP_${PN}-backend-ldap += "dev-so" -INSANE_SKIP_${PN}-backend-meta += "dev-so" -INSANE_SKIP_${PN}-backend-mdb += "dev-so" -INSANE_SKIP_${PN}-backend-monitor += "dev-so" -INSANE_SKIP_${PN}-backend-null += "dev-so" -INSANE_SKIP_${PN}-backend-passwd += "dev-so" -INSANE_SKIP_${PN}-backend-shell += "dev-so" - - -python populate_packages_prepend () { - backend_dir = d.expand('${libexecdir}/openldap') - do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True) - do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True) - - metapkg = "${PN}-backends" - d.setVar('ALLOW_EMPTY_' + metapkg, "1") - d.setVar('FILES_' + metapkg, "") - metapkg_rdepends = [] - packages = d.getVar('PACKAGES').split() - for pkg in packages[1:]: - if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"): - metapkg_rdepends.append(pkg) - d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) - d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package') - packages.append(metapkg) - d.setVar('PACKAGES', ' '.join(packages)) -} - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.51.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.51.bb new file mode 100644 index 000000000..d2c574608 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.51.bb @@ -0,0 +1,254 @@ +SUMMARY = "OpenLDAP Directory Service" +DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." +HOMEPAGE = "http://www.OpenLDAP.org/license.html" +# The OpenLDAP Public License - see the HOMEPAGE - defines +# the license. www.openldap.org claims this is Open Source +# (see http://www.openldap.org), the license appears to be +# basically BSD. opensource.org does not record this license +# at present (so it is apparently not OSI certified). +LICENSE = "OpenLDAP" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=5391b559d23a2237bdb21e7a62dae7c3 \ + file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \ + " +SECTION = "libs" + +LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" + +SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \ + file://openldap-m4-pthread.patch \ + file://openldap-2.4.28-gnutls-gcrypt.patch \ + file://use-urandom.patch \ + file://initscript \ + file://slapd.service \ + file://thread_stub.patch \ + file://openldap-CVE-2015-3276.patch \ + file://remove-user-host-pwd-from-version.patch \ +" + +SRC_URI[md5sum] = "0d2025896cf1c17af7304ecc57ec9531" +SRC_URI[sha256sum] = "f490775ea4c6506b7210ee55a102c8f4aacfe9d1c8eaa633c7316d33a714be62" + +DEPENDS = "util-linux groff-native" + +# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when +# installing .so and executables, this fails in cross compilation +# environments +SRC_URI += "file://install-strip.patch" + +inherit autotools-brokensep update-rc.d systemd + +# CV SETTINGS +# Required to work round AC_FUNC_MEMCMP which gets the wrong answer +# when cross compiling (should be in site?) +EXTRA_OECONF += "ac_cv_func_memcmp_working=yes" + +# CONFIG DEFINITIONS +# The following is necessary because it cannot be determined for a +# cross compile automagically. Select should yield fine on all OE +# systems... +EXTRA_OECONF += "--with-yielding-select=yes" +# Shared libraries are nice... +EXTRA_OECONF += "--enable-dynamic" + +PACKAGECONFIG ??= "gnutls modules \ + mdb ldap meta monitor null passwd shell proxycache dnssrv \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +#--with-tls with TLS/SSL support auto|openssl|gnutls [auto] +PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt" +PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl" + +PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl" +PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" + +# SLAPD options +# +# UNIX crypt(3) passwd support: +EXTRA_OECONF += "--enable-crypt" + +# SLAPD BACKEND +# +# The backend must be set by the configuration. This controls the +# required database. +# +# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql" +# +# Note that multiple backends can be built. The ldbm backend requires a +# build-time choice of database API. The bdb backend forces this to be +# DB4. To use the gdbm (or other) API the Berkely database module must +# be removed from the build. +md = "${libexecdir}/openldap" +# +#--enable-bdb enable Berkeley DB backend no|yes|mod yes +# The Berkely DB is the standard choice. This version of OpenLDAP requires +# the version 4 implementation or better. +PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db" + +#--enable-dnssrv enable dnssrv backend no|yes|mod no +PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no" + +#--enable-hdb enable Hierarchical DB backend no|yes|mod no +PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db" + +#--enable-ldap enable ldap backend no|yes|mod no +PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no," + +#--enable-mdb enable mdb database backend no|yes|mod [yes] +PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no," + +#--enable-meta enable metadirectory backend no|yes|mod no +PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," + +#--enable-monitor enable monitor backend no|yes|mod yes +PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no," + +#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no] +PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no," + +#--enable-null enable null backend no|yes|mod no +PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no," + +#--enable-passwd enable passwd backend no|yes|mod no +PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no," + +#--enable-perl enable perl backend no|yes|mod no +# This requires a loadable perl dynamic library, if enabled without +# doing something appropriate (building perl?) the build will pick +# up the build machine perl - not good (inherit perlnative?) +PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl" + +#--enable-relay enable relay backend no|yes|mod [yes] +PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no," + +#--enable-shell enable shell backend no|yes|mod no +# configure: WARNING: Use of --without-threads is recommended with back-shell +PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no," + +#--enable-sock enable sock backend no|yes|mod [no] +PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no," + +#--enable-sql enable sql backend no|yes|mod no +# sql requires some sql backend which provides sql.h, sqlite* provides +# sqlite.h (which may be compatible but hasn't been tried.) +PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3" + +#--enable-dyngroup Dynamic Group overlay no|yes|mod no +# This is a demo, Proxy Cache defines init_module which conflicts with the +# same symbol in dyngroup +PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no," + +#--enable-proxycache Proxy Cache overlay no|yes|mod no +PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no," +FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*" +PACKAGES += "${PN}-overlay-proxycache" + +# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS: +# This allows tls to obtain random bits from /dev/urandom, by default +# it was disabled for cross-compiling. +CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC" + +LDFLAGS_append = " -pthread" + +do_configure() { + cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build + rm -f ${S}/libtool + aclocal + libtoolize --force --copy + gnu-configize + autoconf + oe_runconf +} + +LEAD_SONAME = "libldap-${LDAP_VER}.so.*" + +# The executables go in a separate package. This allows the +# installation of the libraries with no daemon support. +# Each module also has its own package - see above. +PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin" + +# Package contents - shift most standard contents to -bin +FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data" +FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \ + ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \ + ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*" +FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp" +FILES_${PN}-bin = "${bindir}" +FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so" +FILES_${PN}-dbg += "${libexecdir}/openldap/.debug" + +do_install_append() { + install -d ${D}${sysconfdir}/init.d + cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap + chmod 755 ${D}${sysconfdir}/init.d/openldap + # This is duplicated in /etc/openldap and is for slapd + rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example + + # Installing slapd under ${sbin} is more FHS and LSB compliance + mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd + rmdir --ignore-fail-on-non-empty ${D}${libexecdir} + SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema" + cd ${D}/${sbindir}/ + rm -f ${SLAPTOOLS} + for i in ${SLAPTOOLS}; do ln -sf slapd $i; done + + rmdir "${D}${localstatedir}/run" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service + + # Uses mdm as the database + # and localstatedir as data directory ... + sed -e 's/# modulepath/modulepath/' \ + -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \ + -e 's/database\s*bdb/database mdb/' \ + -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \ + -i ${D}${sysconfdir}/openldap/slapd.conf + + mkdir -p ${D}${localstatedir}/${BPN}/data + + +} + +INITSCRIPT_PACKAGES = "${PN}-slapd" +INITSCRIPT_NAME_${PN}-slapd = "openldap" +INITSCRIPT_PARAMS_${PN}-slapd = "defaults" +SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service" +SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable" + + +PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*" + +# The modules require their .so to be dynamicaly loaded +INSANE_SKIP_${PN}-backend-dnssrv += "dev-so" +INSANE_SKIP_${PN}-backend-ldap += "dev-so" +INSANE_SKIP_${PN}-backend-meta += "dev-so" +INSANE_SKIP_${PN}-backend-mdb += "dev-so" +INSANE_SKIP_${PN}-backend-monitor += "dev-so" +INSANE_SKIP_${PN}-backend-null += "dev-so" +INSANE_SKIP_${PN}-backend-passwd += "dev-so" +INSANE_SKIP_${PN}-backend-shell += "dev-so" + + +python populate_packages_prepend () { + backend_dir = d.expand('${libexecdir}/openldap') + do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True) + do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True) + + metapkg = "${PN}-backends" + d.setVar('ALLOW_EMPTY_' + metapkg, "1") + d.setVar('FILES_' + metapkg, "") + metapkg_rdepends = [] + packages = d.getVar('PACKAGES').split() + for pkg in packages[1:]: + if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"): + metapkg_rdepends.append(pkg) + d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) + d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package') + packages.append(metapkg) + d.setVar('PACKAGES', ' '.join(packages)) +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb index eacd4abc0..277d12057 100644 --- a/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb @@ -8,10 +8,10 @@ DEPENDS = "pidgin json-glib glib-2.0 zlib" inherit pkgconfig SRC_URI = "git://github.com/EionRobb/skype4pidgin;branch=master;protocol=git" -SRCREV = "77f94b55bfb8b0dbc7fafa7461057d33b6802236" +SRCREV = "b226d1c457d73900ae89b8a7469247fbe33677a6" S = "${WORKDIR}/git" -PV = "1.6+git${SRCPV}" +PV = "1.7+git${SRCPV}" do_compile() { oe_runmake -C skypeweb; diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.08.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.08.0.bb deleted file mode 100644 index c3f9716ef..000000000 --- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.08.0.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" -HOMEPAGE = "https://poppler.freedesktop.org/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ - file://0001-Do-not-overwrite-all-our-build-flags.patch \ - file://basename-include.patch \ - " -SRC_URI[sha256sum] = "ae65fef04bbf63259a6352e7b620719115d4fb97f5079b0b8b00a8eb0c86eca5" - -DEPENDS = "fontconfig zlib cairo lcms glib-2.0" - -inherit cmake pkgconfig gobject-introspection - -PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash" -PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" -PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" -PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" -PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" -PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" -PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" -PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost" - -# surprise - did not expect this to work :) -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" - -EXTRA_OECMAKE += " \ - -DENABLE_CMS=lcms2 \ - -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ - -DBUILD_GTK_TESTS=OFF \ - -DENABLE_ZLIB=ON \ - -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ -" - -do_configure_append() { - # poppler macro uses pkg-config to check for g-ir runtimes. Something - # makes them point to /usr/bin. Align them to sysroot - that's where the - # gir-wrappers are: - sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja -} - -PACKAGES =+ "libpoppler libpoppler-glib" -FILES_libpoppler = "${libdir}/libpoppler.so.*" -FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" - -RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.09.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.09.0.bb new file mode 100644 index 000000000..ceff2d0d6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.09.0.bb @@ -0,0 +1,51 @@ +SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" +HOMEPAGE = "https://poppler.freedesktop.org/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ + file://0001-Do-not-overwrite-all-our-build-flags.patch \ + file://basename-include.patch \ + " +SRC_URI[sha256sum] = "4ed6eb5ddc4c37f2435c9d78ff9c7c4036455aea3507d1ce8400070aab745363" + +DEPENDS = "fontconfig zlib cairo lcms glib-2.0" + +inherit cmake pkgconfig gobject-introspection + +PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash" +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" +PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" +PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" +PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" +PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost" + +# surprise - did not expect this to work :) +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" + +EXTRA_OECMAKE += " \ + -DENABLE_CMS=lcms2 \ + -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ + -DBUILD_GTK_TESTS=OFF \ + -DENABLE_ZLIB=ON \ + -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ +" + +do_configure_append() { + # poppler macro uses pkg-config to check for g-ir runtimes. Something + # makes them point to /usr/bin. Align them to sysroot - that's where the + # gir-wrappers are: + sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja +} + +PACKAGES =+ "libpoppler libpoppler-glib" +FILES_libpoppler = "${libdir}/libpoppler.so.*" +FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" + +RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.30.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.30.bb deleted file mode 100644 index 7831dd956..000000000 --- a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.30.bb +++ /dev/null @@ -1,34 +0,0 @@ -DESCRIPTION = "Satyr is a collection of low-level algorithms for program \ -failure processing, analysis, and reporting supporting kernel space, user \ -space, Python, and Java programs" - -HOMEPAGE = "https://github.com/abrt/satyr" -LICENSE = "GPLv2" - -inherit autotools-brokensep python3native pkgconfig - -SRC_URI = "git://github.com/abrt/satyr.git \ - file://0002-fix-compile-failure-against-musl-C-library.patch \ -" -SRCREV = "871a07001c64cfce15dffd7e93a5c3d55af6d5e8" -S = "${WORKDIR}/git" - -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -DEPENDS += " \ - gdb \ - gperf-native \ - json-c \ - nettle \ -" - -PACKAGES += "python3-${BPN}" -FILES_python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}" - -PACKAGECONFIG ??= "python3 rpm" -PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" -PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm" - -do_configure_prepend() { - ${S}/gen-version -} diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.31.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.31.bb new file mode 100644 index 000000000..e99f8ac6a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.31.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "Satyr is a collection of low-level algorithms for program \ +failure processing, analysis, and reporting supporting kernel space, user \ +space, Python, and Java programs" + +HOMEPAGE = "https://github.com/abrt/satyr" +LICENSE = "GPLv2" + +inherit autotools-brokensep python3native pkgconfig + +SRC_URI = "git://github.com/abrt/satyr.git \ + file://0002-fix-compile-failure-against-musl-C-library.patch \ +" +SRCREV = "79506592fa61fa10aa2e186158eecfa10b39e905" +S = "${WORKDIR}/git" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS += " \ + gdb \ + gperf-native \ + json-c \ + nettle \ +" + +PACKAGES += "python3-${BPN}" +FILES_python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}" + +PACKAGECONFIG ??= "python3 rpm" +PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" +PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm" + +do_configure_prepend() { + ${S}/gen-version +} diff --git a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb index 48eb26893..8bbc6815e 100644 --- a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE="GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -inherit gettext autotools +inherit gettext autotools update-alternatives SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ file://0001-Fix-build-with-clang.patch \ @@ -25,3 +25,7 @@ do_install_append() { } BBCLASSEXTEND = "native nativesdk" + +ALTERNATIVE_${PN} = "uudecode uuencode" +ALTERNATIVE_LINK_NAME[uudecode] = "${bindir}/uudecode" +ALTERNATIVE_LINK_NAME[uuencode] = "${bindir}/uuencode" diff --git a/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.7.0.bb b/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.7.0.bb deleted file mode 100644 index ce491da0d..000000000 --- a/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.7.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "Very fast, header only, C++ logging library." -HOMEPAGE = "https://github.com/gabime/spdlog/wiki" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -SRCREV = "616caa5d30172b65cc3a06800894c575d70cb8e6" -SRC_URI = "git://github.com/gabime/spdlog.git;protocol=git;branch=v1.x;" - -DEPENDS += "fmt" - -S = "${WORKDIR}/git" - -BBCLASSEXTEND = "native" -# no need to build example&text&benchmarks on pure yocto -EXTRA_OECMAKE += "-DSPDLOG_INSTALL=on -DSPDLOG_BUILD_EXAMPLES=off -DSPDLOG_BUILD_TESTS=off -DSPDLOG_BUILD_BENCH=off -DSPDLOG_FMT_EXTERNAL=on" - -inherit cmake - -# Header-only library -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" diff --git a/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.8.0.bb b/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.8.0.bb new file mode 100644 index 000000000..b79eb7c28 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.8.0.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Very fast, header only, C++ logging library." +HOMEPAGE = "https://github.com/gabime/spdlog/wiki" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRCREV = "4a9ccf7e38e257feecce0c579a782741254eaeef" +SRC_URI = "git://github.com/gabime/spdlog.git;protocol=git;branch=v1.x;" + +DEPENDS += "fmt" + +S = "${WORKDIR}/git" + +BBCLASSEXTEND = "native" +# no need to build example&text&benchmarks on pure yocto +EXTRA_OECMAKE += "-DSPDLOG_INSTALL=on -DSPDLOG_BUILD_EXAMPLES=off -DSPDLOG_BUILD_TESTS=off -DSPDLOG_BUILD_BENCH=off -DSPDLOG_FMT_EXTERNAL=on" + +inherit cmake + +# Header-only library +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" diff --git a/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb b/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb index 625756873..06fb82b85 100644 --- a/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb @@ -4,9 +4,9 @@ AUTHOR = "Christophe BLAESS" LICENSE="GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381" -BPV = "0.8.4" +BPV = "0.8.5" PV = "${BPV}" -SRCREV = "4a36a84f7df291ddaebd397aecf0c8515256a8e0" +SRCREV = "3c93b9038a7c4d9de4302ab6f14372e9fa381f3c" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc index ff6d9d26a..2b38f4d69 100644 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc +++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc @@ -131,10 +131,6 @@ RDEPENDS_${PN} += "${PN}-libs" CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf" -# syslog initscript is handled explicitly because order of -# update-rc.d and update-alternatives is important -RDEPENDS_${PN} += " ${@oe.utils.conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}" - RCONFLICTS_${PN} = "busybox-syslog sysklogd rsyslog" RCONFLICTS_${PN}-libs = "busybox-syslog sysklogd rsyslog" diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-fixes_for_mm_struct.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-fixes_for_mm_struct.patch deleted file mode 100644 index 1ad5ce51b..000000000 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-fixes_for_mm_struct.patch +++ /dev/null @@ -1,176 +0,0 @@ -From 98070c936931879d2b8e22939724b5a0689721d0 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Tue, 18 Aug 2020 17:48:29 +0800 -Subject: [PATCH 1/3] fixes_for_mm_struct - -Upstream-Status: Backport [https://www.virtualbox.org/ticket/19644] - -Signed-off-by: Hongxu Jia ---- - .../Runtime/r0drv/linux/memobj-r0drv-linux.c | 74 +++++++++++++++++-- - 1 file changed, 67 insertions(+), 7 deletions(-) - -diff --git a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -index 37389bcc..cdc7e8e6 100644 ---- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -+++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -@@ -222,9 +222,17 @@ static void *rtR0MemObjLinuxDoMmap(RTR3PTR R3PtrFixed, size_t cb, size_t uAlignm - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0) - ulAddr = vm_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0); - #else -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - down_write(&pTask->mm->mmap_sem); -+#else -+ down_write(&pTask->mm->mmap_lock); -+#endif - ulAddr = do_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - up_write(&pTask->mm->mmap_sem); -+#else -+ up_write(&pTask->mm->mmap_lock); -+#endif - #endif - } - else -@@ -232,9 +240,17 @@ static void *rtR0MemObjLinuxDoMmap(RTR3PTR R3PtrFixed, size_t cb, size_t uAlignm - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0) - ulAddr = vm_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0); - #else -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - down_write(&pTask->mm->mmap_sem); -+#else -+ down_write(&pTask->mm->mmap_lock); -+#endif - ulAddr = do_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - up_write(&pTask->mm->mmap_sem); -+#else -+ up_write(&pTask->mm->mmap_lock); -+#endif - #endif - if ( !(ulAddr & ~PAGE_MASK) - && (ulAddr & (uAlignment - 1))) -@@ -269,13 +285,29 @@ static void rtR0MemObjLinuxDoMunmap(void *pv, size_t cb, struct task_struct *pTa - Assert(pTask == current); RT_NOREF_PV(pTask); - vm_munmap((unsigned long)pv, cb); - #elif defined(USE_RHEL4_MUNMAP) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - down_write(&pTask->mm->mmap_sem); -+#else -+ down_write(&pTask->mm->mmap_lock); -+#endif - do_munmap(pTask->mm, (unsigned long)pv, cb, 0); /* should it be 1 or 0? */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - up_write(&pTask->mm->mmap_sem); - #else -+ up_write(&pTask->mm->mmap_lock); -+#endif -+#else -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - down_write(&pTask->mm->mmap_sem); -+#else -+ down_write(&pTask->mm->mmap_lock); -+#endif - do_munmap(pTask->mm, (unsigned long)pv, cb); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - up_write(&pTask->mm->mmap_sem); -+#else -+ up_write(&pTask->mm->mmap_lock); -+#endif - #endif - } - -@@ -593,7 +625,11 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) - size_t iPage; - Assert(pTask); - if (pTask && pTask->mm) -- down_read(&pTask->mm->mmap_sem); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) -+ down_read(&pTask->mm->mmap_sem); -+#else -+ down_read(&pTask->mm->mmap_lock); -+#endif - - iPage = pMemLnx->cPages; - while (iPage-- > 0) -@@ -608,7 +644,11 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem) - } - - if (pTask && pTask->mm) -- up_read(&pTask->mm->mmap_sem); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) -+ up_read(&pTask->mm->mmap_sem); -+#else -+ up_read(&pTask->mm->mmap_lock); -+#endif - } - /* else: kernel memory - nothing to do here. */ - break; -@@ -1076,7 +1116,11 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P - papVMAs = (struct vm_area_struct **)RTMemAlloc(sizeof(*papVMAs) * cPages); - if (papVMAs) - { -- down_read(&pTask->mm->mmap_sem); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) -+ down_read(&pTask->mm->mmap_sem); -+#else -+ down_read(&pTask->mm->mmap_lock); -+#endif - - /* - * Get user pages. -@@ -1162,7 +1206,11 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P - papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED; - } - -- up_read(&pTask->mm->mmap_sem); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) -+ up_read(&pTask->mm->mmap_sem); -+#else -+ up_read(&pTask->mm->mmap_lock); -+#endif - - RTMemFree(papVMAs); - -@@ -1189,7 +1237,11 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P - #endif - } - -- up_read(&pTask->mm->mmap_sem); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) -+ up_read(&pTask->mm->mmap_sem); -+#else -+ up_read(&pTask->mm->mmap_lock); -+#endif - - RTMemFree(papVMAs); - rc = VERR_LOCK_FAILED; -@@ -1604,7 +1656,11 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ p - const size_t cPages = (offSub + cbSub) >> PAGE_SHIFT; - size_t iPage; - -- down_write(&pTask->mm->mmap_sem); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) -+ down_write(&pTask->mm->mmap_sem); -+#else -+ down_write(&pTask->mm->mmap_lock); -+#endif - - rc = VINF_SUCCESS; - if (pMemLnxToMap->cPages) -@@ -1721,7 +1777,11 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ p - } - #endif /* CONFIG_NUMA_BALANCING */ - -- up_write(&pTask->mm->mmap_sem); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) -+ up_write(&pTask->mm->mmap_sem); -+#else -+ up_write(&pTask->mm->mmap_lock); -+#endif - - if (RT_SUCCESS(rc)) - { --- -2.18.2 - diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch deleted file mode 100644 index a3cfc3b37..000000000 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch +++ /dev/null @@ -1,65 +0,0 @@ -From bb580f7b601e5395a2f8fcb2485387035273320f Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Tue, 18 Aug 2020 17:49:34 +0800 -Subject: [PATCH 2/3] fixes_for_module_memory - -Upstream-Status: Backport [https://www.virtualbox.org/ticket/19644] - -Signed-off-by: Hongxu Jia ---- - .../Runtime/r0drv/linux/alloc-r0drv-linux.c | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -diff --git a/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -index bbb8acc6..45cd34c7 100644 ---- a/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -+++ b/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -@@ -153,6 +153,8 @@ RT_EXPORT_SYMBOL(RTR0MemExecDonate); - - - #ifdef RTMEMALLOC_EXEC_VM_AREA -+ -+ - /** - * Allocate executable kernel memory in the module range. - * -@@ -168,7 +170,12 @@ static PRTMEMHDR rtR0MemAllocExecVmArea(size_t cb) - struct vm_struct *pVmArea; - size_t iPage; - -+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) -+ pVmArea = __get_vm_area_caller(cbAlloc, VM_ALLOC, MODULES_VADDR, MODULES_END, -+ __builtin_return_address(0)); -+#else - pVmArea = __get_vm_area(cbAlloc, VM_ALLOC, MODULES_VADDR, MODULES_END); -+#endif - if (!pVmArea) - return NULL; - pVmArea->nr_pages = 0; /* paranoia? */ -@@ -201,14 +208,21 @@ static PRTMEMHDR rtR0MemAllocExecVmArea(size_t cb) - # endif - pVmArea->nr_pages = cPages; - pVmArea->pages = papPages; -- if (!map_vm_area(pVmArea, PAGE_KERNEL_EXEC, -+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) -+ unsigned long start = (unsigned long)pVmArea->addr; -+ unsigned long size = get_vm_area_size(pVmArea); -+ -+ if (!map_kernel_range(start, size, PAGE_KERNEL_EXEC, papPages)) -+#else -+ if (!map_vm_area(pVmArea, PAGE_KERNEL_EXEC, - # if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) - &papPagesIterator - # else - papPages - # endif - )) -- { -+#endif -+ { - PRTMEMLNXHDREX pHdrEx = (PRTMEMLNXHDREX)pVmArea->addr; - pHdrEx->pVmArea = pVmArea; - pHdrEx->pvDummy = NULL; --- -2.18.2 - diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0003-fixes_for_changes_in_cpu_tlbstate.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0003-fixes_for_changes_in_cpu_tlbstate.patch deleted file mode 100644 index 6a3e63f63..000000000 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0003-fixes_for_changes_in_cpu_tlbstate.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6089974a81b1b44e1d2dfa5af1fdc110dfee40c1 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Tue, 18 Aug 2020 17:51:24 +0800 -Subject: [PATCH 3/3] fixes_for_changes_in_cpu_tlbstate - -Upstream-Status: Backport [https://www.virtualbox.org/ticket/19644] - -Signed-off-by: Hongxu Jia ---- - src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c b/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -index c7d0d99a..2e7aa6e1 100644 ---- a/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -+++ b/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -@@ -757,12 +757,19 @@ EXPORT_SYMBOL(SUPDrvLinuxIDC); - RTCCUINTREG VBOXCALL supdrvOSChangeCR4(RTCCUINTREG fOrMask, RTCCUINTREG fAndMask) - { - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4); -+#else -+ RTCCUINTREG uOld = __read_cr4(); -+#endif - RTCCUINTREG uNew = (uOld & fAndMask) | fOrMask; - if (uNew != uOld) - { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - this_cpu_write(cpu_tlbstate.cr4, uNew); - __write_cr4(uNew); -+#endif -+ ASMSetCR4(uNew); - } - #else - RTCCUINTREG uOld = ASMGetCR4(); --- -2.18.2 - diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/021-linux-5-8.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/021-linux-5-8.patch new file mode 100644 index 000000000..9d4575060 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/021-linux-5-8.patch @@ -0,0 +1,5046 @@ +fix Linux 5.8 + +This is a squashed patch with following upstream revisions: + + r85208 + r85430 + r85431 + r85432 + r85447 # context required adjustment + r85453 + r85460 + r85461 # context required adjustment + r85500 + r85501 + r85503 + r85504 + r85505 + r85506 + r85507 # context required adjustment + r85509 + r85510 + r85511 + r85514 + r85516 + r85517 + r85518 + r85525 + r85526 + r85527 + r85533 + r85534 + r85540 + r85541 + r85545 + r85546 + r85552 + r85555 + r85556 + r85590 + +Thanks a lot to loqs for his hard work on FS#67488! + +--- a/src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c ++++ b/src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c +@@ -31,6 +31,12 @@ + #define LOG_GROUP RTLOGGROUP_TIME + #include "the-linux-kernel.h" + #include "internal/iprt.h" ++/* Make sure we have the setting functions we need for RTTimeNow: */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 16) ++# define RTTIME_INCL_TIMEVAL ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) ++# define RTTIME_INCL_TIMESPEC ++#endif + #include + #include + +@@ -181,22 +187,19 @@ RT_EXPORT_SYMBOL(RTTimeSystemMilliTS); + RTDECL(PRTTIMESPEC) RTTimeNow(PRTTIMESPEC pTime) + { + IPRT_LINUX_SAVE_EFL_AC(); +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 16) +-/* On Linux 4.20, time.h includes time64.h and we have to use 64-bit times. */ +-# ifdef _LINUX_TIME64_H ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0) + struct timespec64 Ts; +- ktime_get_real_ts64(&Ts); +-# else +- struct timespec Ts; +- ktime_get_real_ts(&Ts); +-# endif ++ ktime_get_real_ts64(&Ts); /* ktime_get_real_ts64 was added as a macro in 3.17, function since 4.18. */ + IPRT_LINUX_RESTORE_EFL_AC(); +-# ifdef _LINUX_TIME64_H + return RTTimeSpecSetTimespec64(pTime, &Ts); +-# else ++ ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 16) ++ struct timespec Ts; ++ ktime_get_real_ts(&Ts); /* ktime_get_real_ts was removed in Linux 4.20. */ ++ IPRT_LINUX_RESTORE_EFL_AC(); + return RTTimeSpecSetTimespec(pTime, &Ts); +-# endif +-#else /* < 2.6.16 */ ++ ++#else /* < 2.6.16 */ + struct timeval Tv; + do_gettimeofday(&Tv); + IPRT_LINUX_RESTORE_EFL_AC(); +--- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c ++++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c +@@ -52,6 +52,14 @@ + # define PAGE_READONLY_EXEC PAGE_READONLY + #endif + ++/** @def IPRT_USE_ALLOC_VM_AREA_FOR_EXEC ++ * Whether we use alloc_vm_area (3.2+) for executable memory. ++ * This is a must for 5.8+, but we enable it all the way back to 3.2.x for ++ * better W^R compliance (fExecutable flag). */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) || defined(DOXYGEN_RUNNING) ++# define IPRT_USE_ALLOC_VM_AREA_FOR_EXEC ++#endif ++ + /* + * 2.6.29+ kernels don't work with remap_pfn_range() anymore because + * track_pfn_vma_new() is apparently not defined for non-RAM pages. +@@ -72,12 +80,27 @@ + # define gfp_t unsigned + #endif + ++/* ++ * Wrappers around mmap_lock/mmap_sem difference. ++ */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) ++# define LNX_MM_DOWN_READ(a_pMm) down_read(&(a_pMm)->mmap_lock) ++# define LNX_MM_UP_READ(a_pMm) up_read(&(a_pMm)->mmap_lock) ++# define LNX_MM_DOWN_WRITE(a_pMm) down_write(&(a_pMm)->mmap_lock) ++# define LNX_MM_UP_WRITE(a_pMm) up_write(&(a_pMm)->mmap_lock) ++#else ++# define LNX_MM_DOWN_READ(a_pMm) down_read(&(a_pMm)->mmap_sem) ++# define LNX_MM_UP_READ(a_pMm) up_read(&(a_pMm)->mmap_sem) ++# define LNX_MM_DOWN_WRITE(a_pMm) down_write(&(a_pMm)->mmap_sem) ++# define LNX_MM_UP_WRITE(a_pMm) up_write(&(a_pMm)->mmap_sem) ++#endif ++ + + /********************************************************************************************************************************* + * Structures and Typedefs * + *********************************************************************************************************************************/ + /** +- * The Darwin version of the memory object structure. ++ * The Linux version of the memory object structure. + */ + typedef struct RTR0MEMOBJLNX + { +@@ -90,11 +113,20 @@ typedef struct RTR0MEMOBJLNX + bool fExecutable; + /** Set if we've vmap'ed the memory into ring-0. */ + bool fMappedToRing0; ++#ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC ++ /** Return from alloc_vm_area() that we now need to use for executable ++ * memory. */ ++ struct vm_struct *pArea; ++ /** PTE array that goes along with pArea (must be freed). */ ++ pte_t **papPtesForArea; ++#endif + /** The pages in the apPages array. */ + size_t cPages; + /** Array of struct page pointers. (variable size) */ + struct page *apPages[1]; +-} RTR0MEMOBJLNX, *PRTR0MEMOBJLNX; ++} RTR0MEMOBJLNX; ++/** Pointer to the linux memory object. */ ++typedef RTR0MEMOBJLNX *PRTR0MEMOBJLNX; + + + static void rtR0MemObjLinuxFreePages(PRTR0MEMOBJLNX pMemLnx); +@@ -182,7 +214,7 @@ static pgprot_t rtR0MemObjLinuxConvertPr + * Worker for rtR0MemObjNativeReserveUser and rtR0MemObjNativerMapUser that creates + * an empty user space mapping. + * +- * We acquire the mmap_sem of the task! ++ * We acquire the mmap_sem/mmap_lock of the task! + * + * @returns Pointer to the mapping. + * (void *)-1 on failure. +@@ -222,9 +254,9 @@ static void *rtR0MemObjLinuxDoMmap(RTR3P + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0) + ulAddr = vm_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0); + #else +- down_write(&pTask->mm->mmap_sem); ++ LNX_MM_DOWN_WRITE(pTask->mm); + ulAddr = do_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0); +- up_write(&pTask->mm->mmap_sem); ++ LNX_MM_UP_WRITE(pTask->mm); + #endif + } + else +@@ -232,9 +264,9 @@ static void *rtR0MemObjLinuxDoMmap(RTR3P + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0) + ulAddr = vm_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0); + #else +- down_write(&pTask->mm->mmap_sem); ++ LNX_MM_DOWN_WRITE(pTask->mm); + ulAddr = do_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0); +- up_write(&pTask->mm->mmap_sem); ++ LNX_MM_UP_WRITE(pTask->mm); + #endif + if ( !(ulAddr & ~PAGE_MASK) + && (ulAddr & (uAlignment - 1))) +@@ -257,7 +289,7 @@ static void *rtR0MemObjLinuxDoMmap(RTR3P + * Worker that destroys a user space mapping. + * Undoes what rtR0MemObjLinuxDoMmap did. + * +- * We acquire the mmap_sem of the task! ++ * We acquire the mmap_sem/mmap_lock of the task! + * + * @param pv The ring-3 mapping. + * @param cb The size of the mapping. +@@ -269,13 +301,13 @@ static void rtR0MemObjLinuxDoMunmap(void + Assert(pTask == current); RT_NOREF_PV(pTask); + vm_munmap((unsigned long)pv, cb); + #elif defined(USE_RHEL4_MUNMAP) +- down_write(&pTask->mm->mmap_sem); ++ LNX_MM_DOWN_WRITE(pTask->mm); + do_munmap(pTask->mm, (unsigned long)pv, cb, 0); /* should it be 1 or 0? */ +- up_write(&pTask->mm->mmap_sem); ++ LNX_MM_UP_WRITE(pTask->mm); + #else +- down_write(&pTask->mm->mmap_sem); ++ LNX_MM_DOWN_WRITE(pTask->mm); + do_munmap(pTask->mm, (unsigned long)pv, cb); +- up_write(&pTask->mm->mmap_sem); ++ LNX_MM_UP_WRITE(pTask->mm); + #endif + } + +@@ -520,15 +552,49 @@ static int rtR0MemObjLinuxVMap(PRTR0MEMO + pgprot_val(fPg) |= _PAGE_NX; + # endif + ++# ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC ++ if (fExecutable) ++ { ++ pte_t **papPtes = (pte_t **)kmalloc_array(pMemLnx->cPages, sizeof(papPtes[0]), GFP_KERNEL); ++ if (papPtes) ++ { ++ pMemLnx->pArea = alloc_vm_area(pMemLnx->Core.cb, papPtes); /* Note! pArea->nr_pages is not set. */ ++ if (pMemLnx->pArea) ++ { ++ size_t i; ++ Assert(pMemLnx->pArea->size >= pMemLnx->Core.cb); /* Note! includes guard page. */ ++ Assert(pMemLnx->pArea->addr); ++# ifdef _PAGE_NX ++ pgprot_val(fPg) |= _PAGE_NX; /* Uses RTR0MemObjProtect to clear NX when memory ready, W^X fashion. */ ++# endif ++ pMemLnx->papPtesForArea = papPtes; ++ for (i = 0; i < pMemLnx->cPages; i++) ++ *papPtes[i] = mk_pte(pMemLnx->apPages[i], fPg); ++ pMemLnx->Core.pv = pMemLnx->pArea->addr; ++ pMemLnx->fMappedToRing0 = true; ++ } ++ else ++ { ++ kfree(papPtes); ++ rc = VERR_MAP_FAILED; ++ } ++ } ++ else ++ rc = VERR_MAP_FAILED; ++ } ++ else ++# endif ++ { + # ifdef VM_MAP +- pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_MAP, fPg); ++ pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_MAP, fPg); + # else +- pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_ALLOC, fPg); ++ pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_ALLOC, fPg); + # endif +- if (pMemLnx->Core.pv) +- pMemLnx->fMappedToRing0 = true; +- else +- rc = VERR_MAP_FAILED; ++ if (pMemLnx->Core.pv) ++ pMemLnx->fMappedToRing0 = true; ++ else ++ rc = VERR_MAP_FAILED; ++ } + #else /* < 2.4.22 */ + rc = VERR_NOT_SUPPORTED; + #endif +@@ -554,6 +620,22 @@ static int rtR0MemObjLinuxVMap(PRTR0MEMO + static void rtR0MemObjLinuxVUnmap(PRTR0MEMOBJLNX pMemLnx) + { + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 22) ++# ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC ++ if (pMemLnx->pArea) ++ { ++# if 0 ++ pte_t **papPtes = pMemLnx->papPtesForArea; ++ size_t i; ++ for (i = 0; i < pMemLnx->cPages; i++) ++ *papPtes[i] = 0; ++# endif ++ free_vm_area(pMemLnx->pArea); ++ kfree(pMemLnx->papPtesForArea); ++ pMemLnx->pArea = NULL; ++ pMemLnx->papPtesForArea = NULL; ++ } ++ else ++# endif + if (pMemLnx->fMappedToRing0) + { + Assert(pMemLnx->Core.pv); +@@ -593,7 +675,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR + size_t iPage; + Assert(pTask); + if (pTask && pTask->mm) +- down_read(&pTask->mm->mmap_sem); ++ LNX_MM_DOWN_READ(pTask->mm); + + iPage = pMemLnx->cPages; + while (iPage-- > 0) +@@ -608,7 +690,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR + } + + if (pTask && pTask->mm) +- up_read(&pTask->mm->mmap_sem); ++ LNX_MM_UP_READ(pTask->mm); + } + /* else: kernel memory - nothing to do here. */ + break; +@@ -1076,7 +1158,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser + papVMAs = (struct vm_area_struct **)RTMemAlloc(sizeof(*papVMAs) * cPages); + if (papVMAs) + { +- down_read(&pTask->mm->mmap_sem); ++ LNX_MM_DOWN_READ(pTask->mm); + + /* + * Get user pages. +@@ -1162,7 +1244,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser + papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED; + } + +- up_read(&pTask->mm->mmap_sem); ++ LNX_MM_UP_READ(pTask->mm); + + RTMemFree(papVMAs); + +@@ -1189,7 +1271,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser + #endif + } + +- up_read(&pTask->mm->mmap_sem); ++ LNX_MM_UP_READ(pTask->mm); + + RTMemFree(papVMAs); + rc = VERR_LOCK_FAILED; +@@ -1422,6 +1504,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKerne + * Use vmap - 2.4.22 and later. + */ + pgprot_t fPg = rtR0MemObjLinuxConvertProt(fProt, true /* kernel */); ++ /** @todo We don't really care too much for EXEC here... 5.8 always adds NX. */ + Assert(((offSub + cbSub) >> PAGE_SHIFT) <= pMemLnxToMap->cPages); + # ifdef VM_MAP + pMemLnx->Core.pv = vmap(&pMemLnxToMap->apPages[offSub >> PAGE_SHIFT], cbSub >> PAGE_SHIFT, VM_MAP, fPg); +@@ -1604,7 +1687,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser( + const size_t cPages = (offSub + cbSub) >> PAGE_SHIFT; + size_t iPage; + +- down_write(&pTask->mm->mmap_sem); ++ LNX_MM_DOWN_WRITE(pTask->mm); + + rc = VINF_SUCCESS; + if (pMemLnxToMap->cPages) +@@ -1721,7 +1804,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser( + } + #endif /* CONFIG_NUMA_BALANCING */ + +- up_write(&pTask->mm->mmap_sem); ++ LNX_MM_UP_WRITE(pTask->mm); + + if (RT_SUCCESS(rc)) + { +@@ -1753,6 +1836,29 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser( + + DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINTERNAL pMem, size_t offSub, size_t cbSub, uint32_t fProt) + { ++# ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC ++ /* ++ * Currently only supported when we've got addresses PTEs from the kernel. ++ */ ++ PRTR0MEMOBJLNX pMemLnx = (PRTR0MEMOBJLNX)pMem; ++ if (pMemLnx->pArea && pMemLnx->papPtesForArea) ++ { ++ pgprot_t const fPg = rtR0MemObjLinuxConvertProt(fProt, true /*fKernel*/); ++ size_t const cPages = (offSub + cbSub) >> PAGE_SHIFT; ++ pte_t **papPtes = pMemLnx->papPtesForArea; ++ size_t i; ++ ++ for (i = offSub >> PAGE_SHIFT; i < cPages; i++) ++ { ++ set_pte(papPtes[i], mk_pte(pMemLnx->apPages[i], fPg)); ++ } ++ preempt_disable(); ++ __flush_tlb_all(); ++ preempt_enable(); ++ return VINF_SUCCESS; ++ } ++# endif ++ + NOREF(pMem); + NOREF(offSub); + NOREF(cbSub); +--- a/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c ++++ b/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c +@@ -144,9 +144,9 @@ static int force_async_tsc = 0; + * Memory for the executable memory heap (in IPRT). + */ + # ifdef DEBUG +-# define EXEC_MEMORY_SIZE 8388608 /* 8 MB */ ++# define EXEC_MEMORY_SIZE 10485760 /* 10 MB */ + # else +-# define EXEC_MEMORY_SIZE 2097152 /* 2 MB */ ++# define EXEC_MEMORY_SIZE 8388608 /* 8 MB */ + # endif + extern uint8_t g_abExecMemory[EXEC_MEMORY_SIZE]; + # ifndef VBOX_WITH_TEXT_MODMEM_HACK +@@ -756,20 +756,25 @@ EXPORT_SYMBOL(SUPDrvLinuxIDC); + + RTCCUINTREG VBOXCALL supdrvOSChangeCR4(RTCCUINTREG fOrMask, RTCCUINTREG fAndMask) + { +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0) +- RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4); +- RTCCUINTREG uNew = (uOld & fAndMask) | fOrMask; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) ++ RTCCUINTREG const uOld = __read_cr4(); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0) ++ RTCCUINTREG const uOld = this_cpu_read(cpu_tlbstate.cr4); ++#else ++ RTCCUINTREG const uOld = ASMGetCR4(); ++#endif ++ RTCCUINTREG const uNew = (uOld & fAndMask) | fOrMask; + if (uNew != uOld) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) ++ ASMSetCR4(uNew); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0) + this_cpu_write(cpu_tlbstate.cr4, uNew); + __write_cr4(uNew); +- } + #else +- RTCCUINTREG uOld = ASMGetCR4(); +- RTCCUINTREG uNew = (uOld & fAndMask) | fOrMask; +- if (uNew != uOld) + ASMSetCR4(uNew); + #endif ++ } + return uOld; + } + +--- a/src/VBox/Additions/linux/sharedfolders/vfsmod.c ++++ b/src/VBox/Additions/linux/sharedfolders/vfsmod.c +@@ -52,7 +52,7 @@ + #endif + #include + #include +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 62) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 62) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) + # include + #endif + #include +--- a/Config.kmk ++++ b/Config.kmk +@@ -4462,15 +4462,20 @@ endif # pe + + ifeq ($(VBOX_LDR_FMT),elf) + TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL) +-TEMPLATE_VBoxR0_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK) +-TEMPLATE_VBoxR0_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK) +-TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables -ffreestanding +-TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables ++TEMPLATE_VBoxR0_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) \ ++ $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions \ ++ $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK) ++TEMPLATE_VBoxR0_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) \ ++ $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions \ ++ $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \ ++ -fno-rtti $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) +++TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables -ffreestanding +++TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables + TEMPLATE_VBoxR0_CXXFLAGS.freebsd = -ffreestanding + if $(VBOX_GCC_VERSION_CC) < 30400 + TEMPLATE_VBoxR0_DEFS += RT_WITHOUT_PRAGMA_ONCE + endif +-ifeq ($(KBUILD_TARGET),solaris) ++ ifeq ($(KBUILD_TARGET),solaris) + TEMPLATE_VBoxR0_LDFLAGS = -r + TEMPLATE_VBoxR0_LDFLAGS.solaris = -u _init -u _info + TEMPLATE_VBoxR0_LIBS.solaris = \ +@@ -4481,19 +4486,32 @@ ifeq ($(KBUILD_TARGET),solaris) + endif + # Solaris driver signing. + TEMPLATE_VBoxR0_POST_CMDS = $(VBOX_SIGN_DRIVER_CMDS) +-else ++ else + TEMPLATE_VBoxR0_LDFLAGS = -nostdlib -Bsymbolic -g + ## @todo WTF doesn't the globals work? Debug info is supposed to be split everywhere. GRR + TEMPLATE_VBoxR0_LD_DEBUG = split +-endif +-ifn1of ($(KBUILD_TARGET),solaris freebsd) ++ endif ++ if1of ($(KBUILD_TARGET), linux) ++VBOX_WITH_VBOXR0_AS_DLL = 1 ++TEMPLATE_VBoxR0_DLLSUFF = .r0 ++TEMPLATE_VBoxR0_CFLAGS += -fPIC ++TEMPLATE_VBoxR0_CXXFLAGS += -fPIC ++TEMPLATE_VBoxR0_LDFLAGS += ++TEMPLATE_VBoxR0_DTRACE_HDR_FLAGS += --pic ++TEMPLATE_VBoxR0_DTRACE_OBJ_FLAGS += --pic ++ else ++TEMPLATE_VBoxR0_CFLAGS.amd64 += -mcmodel=kernel ++TEMPLATE_VBoxR0_CXXFLAGS.amd64 += -mcmodel=kernel ++ endif ++ ifn1of ($(KBUILD_TARGET),solaris freebsd) + TEMPLATE_VBoxR0_LIBS = \ + $(VBOX_GCC_LIBGCC) # intrinsics +-endif +-if1of ($(KBUILD_TARGET),linux) +- TEMPLATE_VBoxR0_POST_CMDS = $(if $(eq $(tool_do),LINK_SYSMOD),if readelf -S $(out)|grep -q "[cd]tors"; then echo "Found ctors/dtors in $(out)!"; exit 1; fi) +-endif +-endif ++ endif ++ if1of ($(KBUILD_TARGET),linux) ++ TEMPLATE_VBoxR0_POST_CMDS += $(NLTAB)\ ++ $(if $(eq $(tool_do),LINK_SYSMOD),if readelf -S $(out)|grep -q "[cd]tors"; then echo "Found ctors/dtors in $(out)!"; exit 1; fi) ++ endif ++endif # elf + + ifeq ($(VBOX_LDR_FMT),macho) + TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL) +--- a/tools/bin/gen-slickedit-workspace.sh ++++ b/tools/bin/gen-slickedit-workspace.sh +@@ -496,11 +496,13 @@ my_generate_usercpp_h() + # + # Probe the slickedit user config, picking the most recent version. + # ++ MY_VSLICK_DB_OLD= + if test -z "${MY_SLICK_CONFIG}"; then + if test -d "${HOME}/Library/Application Support/SlickEdit"; then + MY_SLICKDIR_="${HOME}/Library/Application Support/SlickEdit" + MY_USERCPP_H="unxcpp.h" + MY_VSLICK_DB="vslick.sta" # was .stu earlier, 24 is using .sta. ++ MY_VSLICK_DB_OLD="vslick.stu" + elif test -d "${HOMEDRIVE}${HOMEPATH}/Documents/My SlickEdit Config"; then + MY_SLICKDIR_="${HOMEDRIVE}${HOMEPATH}/Documents/My SlickEdit Config" + MY_USERCPP_H="usercpp.h" +@@ -508,7 +510,8 @@ my_generate_usercpp_h() + else + MY_SLICKDIR_="${HOME}/.slickedit" + MY_USERCPP_H="unxcpp.h" +- MY_VSLICK_DB="vslick.stu" ++ MY_VSLICK_DB="vslick.sta" ++ MY_VSLICK_DB_OLD="vslick.stu" + fi + else + MY_SLICKDIR_="${MY_SLICK_CONFIG}" +@@ -517,7 +520,8 @@ my_generate_usercpp_h() + MY_VSLICK_DB="vslick.sta" + else + MY_USERCPP_H="unxcpp.h" +- MY_VSLICK_DB="vslick.stu" ++ MY_VSLICK_DB="vslick.sta" ++ MY_VSLICK_DB_OLD="vslick.stu" + fi + # MacOS: Implement me! + fi +@@ -526,7 +530,9 @@ my_generate_usercpp_h() + MY_VER="0.0.0" + for subdir in "${MY_SLICKDIR_}/"*; + do +- if test -f "${subdir}/${MY_USERCPP_H}" -o -f "${subdir}/${MY_VSLICK_DB}"; then ++ if test -f "${subdir}/${MY_USERCPP_H}" \ ++ -o -f "${subdir}/${MY_VSLICK_DB}" \ ++ -o '(' -n "${MY_VSLICK_DB_OLD}" -a -f "${subdir}/${MY_VSLICK_DB_OLD}" ')'; then + MY_CUR_VER_NUM=0 + MY_CUR_VER=`echo "${subdir}" | ${MY_SED} -e 's,^.*/,,g'` + +@@ -561,6 +567,7 @@ my_generate_usercpp_h() + echo "Found SlickEdit v${MY_VER} preprocessor file: ${MY_USERCPP_H_FULL}" + else + echo "Failed to locate SlickEdit preprocessor file. You need to manually merge ${MY_USERCPP_H}." ++ echo "dbg: MY_SLICKDIR=${MY_SLICKDIR} MY_USERCPP_H_FULL=${MY_USERCPP_H_FULL}" + MY_USERCPP_H_FULL="" + fi + +@@ -717,6 +724,10 @@ EOF + #define RTASN1TYPE_STANDARD_PROTOTYPES_NO_GET_CORE(a_TypeNm, a_DeclMacro, a_ImplExtNm) int a_ImplExtNm##_Init(P##a_TypeNm pThis, PCRTASN1ALLOCATORVTABLE pAllocator); int a_ImplExtNm##_Clone(P##a_TypeNm pThis, PC##a_TypeNm) pSrc, PCRTASN1ALLOCATORVTABLE pAllocator); void a_ImplExtNm##_Delete(P##a_TypeNm pThis); int a_ImplExtNm##_Enum(P##a_TypeNm pThis, PFNRTASN1ENUMCALLBACK pfnCallback, uint32_t uDepth, void *pvUser); int a_ImplExtNm##_Compare(PC##a_TypeNm) pLeft, PC##a_TypeNm pRight); int a_ImplExtNm##_DecodeAsn1(PRTASN1CURSOR pCursor, uint32_t fFlags, P##a_TypeNm pThis, const char *pszErrorTag); int a_ImplExtNm##_CheckSanity(PC##a_TypeNm pThis, uint32_t fFlags, PRTERRINFO pErrInfo, const char *pszErrorTag) + #define RTASN1TYPE_STANDARD_PROTOTYPES(a_TypeNm, a_DeclMacro, a_ImplExtNm, a_Asn1CoreNm) inline PRTASN1CORE a_ImplExtNm##_GetAsn1Core(PC##a_TypeNm pThis) { return (PRTASN1CORE)&pThis->a_Asn1CoreNm; } inline bool a_ImplExtNm##_IsPresent(PC##a_TypeNm pThis) { return pThis && RTASN1CORE_IS_PRESENT(&pThis->a_Asn1CoreNm); } RTASN1TYPE_STANDARD_PROTOTYPES_NO_GET_CORE(a_TypeNm, a_DeclMacro, a_ImplExtNm) + ++#define RTLDRELF_NAME(name) rtldrELF64##name ++#define RTLDRELF_SUFF(name) name##64 ++#define RTLDRELF_MID(pre,suff) pre##64##suff ++ + #define BS3_DECL(type) type + #define BS3_DECL_CALLBACK(type) type + #define TMPL_NM(name) name##_mmm +--- a/include/iprt/asmdefs.mac ++++ b/include/iprt/asmdefs.mac +@@ -841,18 +841,18 @@ size NAME(%1 %+ _EndProc) 0 + ; is defined and RT_WITHOUT_NOCRT_WRAPPERS isn't. + ; + %macro RT_NOCRT_BEGINPROC 1 +-%ifdef RT_WITH_NOCRT_ALIASES +-BEGINPROC RT_NOCRT(%1) +-%ifdef ASM_FORMAT_ELF ++ %ifdef RT_WITH_NOCRT_ALIASES ++BEGINPROC_EXPORTED RT_NOCRT(%1) ++ %ifdef ASM_FORMAT_ELF + global NAME(%1) + weak NAME(%1) + NAME(%1): +-%else ++ %else + GLOBALNAME %1 +-%endif +-%else ; !RT_WITH_NOCRT_ALIASES +-BEGINPROC RT_NOCRT(%1) +-%endif ; !RT_WITH_NOCRT_ALIASES ++ %endif ++ %else ; !RT_WITH_NOCRT_ALIASES ++BEGINPROC_EXPORTED RT_NOCRT(%1) ++ %endif ; !RT_WITH_NOCRT_ALIASES + %endmacro ; RT_NOCRT_BEGINPROC + + %ifdef RT_WITH_NOCRT_ALIASES +--- a/src/VBox/Runtime/testcase/tstLdr-4.cpp ++++ b/src/VBox/Runtime/testcase/tstLdr-4.cpp +@@ -35,9 +35,9 @@ + #include + #include + #include +-#include + #include + #include ++#include + + #include + +@@ -45,8 +45,9 @@ + /********************************************************************************************************************************* + * Global Variables * + *********************************************************************************************************************************/ +-static SUPGLOBALINFOPAGE g_MyGip = { SUPGLOBALINFOPAGE_MAGIC, SUPGLOBALINFOPAGE_VERSION, SUPGIPMODE_INVARIANT_TSC, 42 }; +-static PSUPGLOBALINFOPAGE g_pMyGip = &g_MyGip; ++static RTTEST g_hTest; ++static SUPGLOBALINFOPAGE g_MyGip = { SUPGLOBALINFOPAGE_MAGIC, SUPGLOBALINFOPAGE_VERSION, SUPGIPMODE_INVARIANT_TSC, 42 }; ++static PSUPGLOBALINFOPAGE g_pMyGip = &g_MyGip; + + extern "C" DECLEXPORT(int) DisasmTest1(void); + +@@ -58,6 +59,60 @@ static DECLCALLBACK(int) testEnumSegment + " link=%RTptr LB %RTptr align=%RTptr fProt=%#x offFile=%RTfoff\n" + , *piSeg, pSeg->RVA, pSeg->cbMapped, pSeg->pszName, + pSeg->LinkAddress, pSeg->cb, pSeg->Alignment, pSeg->fProt, pSeg->offFile); ++ ++ if (pSeg->RVA != NIL_RTLDRADDR) ++ { ++ RTTESTI_CHECK(pSeg->cbMapped != NIL_RTLDRADDR); ++ RTTESTI_CHECK(pSeg->cbMapped >= pSeg->cb); ++ } ++ else ++ { ++ RTTESTI_CHECK(pSeg->cbMapped == NIL_RTLDRADDR); ++ } ++ ++ /* ++ * Do some address conversion tests: ++ */ ++ if (pSeg->cbMapped != NIL_RTLDRADDR) ++ { ++ /* RTLdrRvaToSegOffset: */ ++ uint32_t iSegConv = ~(uint32_t)42; ++ RTLDRADDR offSegConv = ~(RTLDRADDR)22; ++ int rc = RTLdrRvaToSegOffset(hLdrMod, pSeg->RVA, &iSegConv, &offSegConv); ++ if (RT_FAILURE(rc)) ++ RTTestIFailed("RTLdrRvaToSegOffset failed on Seg #%u / RVA %#RTptr: %Rrc", *piSeg, pSeg->RVA, rc); ++ else if (iSegConv != *piSeg || offSegConv != 0) ++ RTTestIFailed("RTLdrRvaToSegOffset on Seg #%u / RVA %#RTptr returned: iSegConv=%#x offSegConv=%RTptr, expected %#x and 0", ++ *piSeg, pSeg->RVA, iSegConv, offSegConv, *piSeg); ++ ++ /* RTLdrSegOffsetToRva: */ ++ RTLDRADDR uRvaConv = ~(RTLDRADDR)22; ++ rc = RTLdrSegOffsetToRva(hLdrMod, *piSeg, 0, &uRvaConv); ++ if (RT_FAILURE(rc)) ++ RTTestIFailed("RTLdrSegOffsetToRva failed on Seg #%u / off 0: %Rrc", *piSeg, rc); ++ else if (uRvaConv != pSeg->RVA) ++ RTTestIFailed("RTLdrSegOffsetToRva on Seg #%u / off 0 returned: %RTptr, expected %RTptr", *piSeg, uRvaConv, pSeg->RVA); ++ ++ /* RTLdrLinkAddressToRva: */ ++ uRvaConv = ~(RTLDRADDR)22; ++ rc = RTLdrLinkAddressToRva(hLdrMod, pSeg->LinkAddress, &uRvaConv); ++ if (RT_FAILURE(rc)) ++ RTTestIFailed("RTLdrLinkAddressToRva failed on Seg #%u / %RTptr: %Rrc", *piSeg, pSeg->LinkAddress, rc); ++ else if (uRvaConv != pSeg->RVA) ++ RTTestIFailed("RTLdrLinkAddressToRva on Seg #%u / %RTptr returned: %RTptr, expected %RTptr", ++ *piSeg, pSeg->LinkAddress, uRvaConv, pSeg->RVA); ++ ++ /* RTLdrLinkAddressToSegOffset: */ ++ iSegConv = ~(uint32_t)42; ++ offSegConv = ~(RTLDRADDR)22; ++ rc = RTLdrLinkAddressToSegOffset(hLdrMod, pSeg->LinkAddress, &iSegConv, &offSegConv); ++ if (RT_FAILURE(rc)) ++ RTTestIFailed("RTLdrLinkAddressToSegOffset failed on Seg #%u / %#RTptr: %Rrc", *piSeg, pSeg->LinkAddress, rc); ++ else if (iSegConv != *piSeg || offSegConv != 0) ++ RTTestIFailed("RTLdrLinkAddressToSegOffset on Seg #%u / %#RTptr returned: iSegConv=%#x offSegConv=%RTptr, expected %#x and 0", ++ *piSeg, pSeg->LinkAddress, iSegConv, offSegConv, *piSeg); ++ } ++ + *piSeg += 1; + RT_NOREF(hLdrMod); + return VINF_SUCCESS; +@@ -125,12 +180,12 @@ static DECLCALLBACK(int) testGetImport(R + * regions the for compare usage. The third is loaded into one + * and then relocated between the two and other locations a few times. + * +- * @returns number of errors. + * @param pszFilename The file to load the mess with. + */ +-static int testLdrOne(const char *pszFilename) ++static void testLdrOne(const char *pszFilename) + { +- int cErrors = 0; ++ RTTestSub(g_hTest, RTPathFilename(pszFilename)); ++ + size_t cbImage = 0; + struct Load + { +@@ -155,9 +210,8 @@ static int testLdrOne(const char *pszFil + rc = RTLdrOpen(pszFilename, 0, RTLDRARCH_WHATEVER, &aLoads[i].hLdrMod); + if (RT_FAILURE(rc)) + { +- RTPrintf("tstLdr-4: Failed to open '%s'/%d, rc=%Rrc. aborting test.\n", pszFilename, i, rc); ++ RTTestIFailed("tstLdr-4: Failed to open '%s'/%d, rc=%Rrc. aborting test.", pszFilename, i, rc); + Assert(aLoads[i].hLdrMod == NIL_RTLDRMOD); +- cErrors++; + break; + } + +@@ -165,8 +219,7 @@ static int testLdrOne(const char *pszFil + size_t cb = RTLdrSize(aLoads[i].hLdrMod); + if (cbImage && cb != cbImage) + { +- RTPrintf("tstLdr-4: Size mismatch '%s'/%d. aborting test.\n", pszFilename, i); +- cErrors++; ++ RTTestIFailed("tstLdr-4: Size mismatch '%s'/%d. aborting test.", pszFilename, i); + break; + } + aLoads[i].cbBits = cbImage = cb; +@@ -175,8 +228,7 @@ static int testLdrOne(const char *pszFil + aLoads[i].pvBits = RTMemExecAlloc(cb); + if (!aLoads[i].pvBits) + { +- RTPrintf("tstLdr-4: Out of memory '%s'/%d cbImage=%d. aborting test.\n", pszFilename, i, cbImage); +- cErrors++; ++ RTTestIFailed("Out of memory '%s'/%d cbImage=%d. aborting test.", pszFilename, i, cbImage); + break; + } + +@@ -184,8 +236,7 @@ static int testLdrOne(const char *pszFil + rc = RTLdrGetBits(aLoads[i].hLdrMod, aLoads[i].pvBits, (uintptr_t)aLoads[i].pvBits, testGetImport, NULL); + if (RT_FAILURE(rc)) + { +- RTPrintf("tstLdr-4: Failed to get bits for '%s'/%d, rc=%Rrc. aborting test\n", pszFilename, i, rc); +- cErrors++; ++ RTTestIFailed("Failed to get bits for '%s'/%d, rc=%Rrc. aborting test", pszFilename, i, rc); + break; + } + } +@@ -193,7 +244,7 @@ static int testLdrOne(const char *pszFil + /* + * Execute the code. + */ +- if (!cErrors) ++ if (!RTTestSubErrorCount(g_hTest)) + { + for (i = 0; i < RT_ELEMENTS(aLoads); i += 1) + { +@@ -209,22 +260,18 @@ static int testLdrOne(const char *pszFil + UINT32_MAX, "_DisasmTest1", &Value); + if (RT_FAILURE(rc)) + { +- RTPrintf("tstLdr-4: Failed to get symbol \"DisasmTest1\" from load #%d: %Rrc\n", i, rc); +- cErrors++; ++ RTTestIFailed("Failed to get symbol \"DisasmTest1\" from load #%d: %Rrc", i, rc); + break; + } + DECLCALLBACKPTR(int, pfnDisasmTest1)(void) = (DECLCALLBACKPTR(int, RT_NOTHING)(void))(uintptr_t)Value; /* eeeh. */ +- RTPrintf("tstLdr-4: pfnDisasmTest1=%p / add-symbol-file %s %#x\n", pfnDisasmTest1, pszFilename, aLoads[i].pvBits); ++ RTPrintf("tstLdr-4: pfnDisasmTest1=%p / add-symbol-file %s %#p\n", pfnDisasmTest1, pszFilename, aLoads[i].pvBits); + uint32_t iSeg = 0; + RTLdrEnumSegments(aLoads[i].hLdrMod, testEnumSegment, &iSeg); + + /* call the test function. */ + rc = pfnDisasmTest1(); + if (rc) +- { +- RTPrintf("tstLdr-4: load #%d Test1 -> %#x\n", i, rc); +- cErrors++; +- } ++ RTTestIFailed("load #%d Test1 -> %#x", i, rc); + + /* While we're here, check a couple of RTLdrQueryProp calls too */ + void *pvBits = aLoads[i].pvBits; +@@ -255,56 +302,42 @@ static int testLdrOne(const char *pszFil + { + rc = RTLdrClose(aLoads[i].hLdrMod); + if (RT_FAILURE(rc)) +- { +- RTPrintf("tstLdr-4: Failed to close '%s' i=%d, rc=%Rrc.\n", pszFilename, i, rc); +- cErrors++; +- } ++ RTTestIFailed("Failed to close '%s' i=%d, rc=%Rrc.", pszFilename, i, rc); + } + } + +- return cErrors; + } + + + +-int main(int argc, char **argv) ++int main() + { +- int cErrors = 0; +- RTR3InitExe(argc, &argv, 0); ++ RTEXITCODE rcExit = RTTestInitAndCreate("tstLdr-4", &g_hTest); ++ if (rcExit != RTEXITCODE_SUCCESS) ++ return rcExit; + + /* + * Sanity check. + */ + int rc = DisasmTest1(); +- if (rc) ++ if (rc == 0) + { +- RTPrintf("tstLdr-4: FATAL ERROR - DisasmTest1 is buggy: rc=%#x\n", rc); +- return 1; +- } ++ /* ++ * Execute the test. ++ */ ++ char szPath[RTPATH_MAX]; ++ rc = RTPathExecDir(szPath, sizeof(szPath) - sizeof("/tstLdrObjR0.r0")); ++ if (RT_SUCCESS(rc)) ++ { ++ strcat(szPath, "/tstLdrObjR0.r0"); + +- /* +- * Execute the test. +- */ +- char szPath[RTPATH_MAX]; +- rc = RTPathExecDir(szPath, sizeof(szPath) - sizeof("/tstLdrObjR0.r0")); +- if (RT_SUCCESS(rc)) +- { +- strcat(szPath, "/tstLdrObjR0.r0"); +- RTPrintf("tstLdr-4: TESTING '%s'...\n", szPath); +- cErrors += testLdrOne(szPath); ++ testLdrOne(szPath); ++ } ++ else ++ RTTestIFailed("RTPathExecDir -> %Rrc", rc); + } + else +- { +- RTPrintf("tstLdr-4: RTPathExecDir -> %Rrc\n", rc); +- cErrors++; +- } ++ RTTestIFailed("FATAL ERROR - DisasmTest1 is buggy: rc=%#x", rc); + +- /* +- * Test result summary. +- */ +- if (!cErrors) +- RTPrintf("tstLdr-4: SUCCESS\n"); +- else +- RTPrintf("tstLdr-4: FAILURE - %d errors\n", cErrors); +- return !!cErrors; ++ return RTTestSummaryAndDestroy(g_hTest); + } +--- a/include/iprt/formats/elf-common.h ++++ b/include/iprt/formats/elf-common.h +@@ -198,6 +198,12 @@ typedef struct { + #define PT_LOPROC 0x70000000 /* First processor-specific type. */ + #define PT_HIPROC 0x7fffffff /* Last processor-specific type. */ + ++#define PT_GNU_EH_FRAME 0x6474e550 /**< GNU/Linux -> .eh_frame_hdr */ ++#define PT_GNU_STACK 0x6474e551 /**< GNU/Linux -> stack prot (RWX or RW) */ ++#define PT_GNU_RELRO 0x6474e552 /**< GNU/Linux -> make RO after relocations */ ++#define PT_GNU_PROPERTY 0x6474e553 /**< GNU/Linux -> .note.gnu.property */ ++ ++ + /* Values for p_flags. */ + #define PF_X 0x1 /* Executable. */ + #define PF_W 0x2 /* Writable. */ +--- a/src/VBox/Runtime/common/ldr/ldrELF.cpp ++++ b/src/VBox/Runtime/common/ldr/ldrELF.cpp +@@ -51,9 +51,11 @@ + * Defined Constants And Macros * + *********************************************************************************************************************************/ + /** Finds an ELF symbol table string. */ +-#define ELF_STR(pHdrs, iStr) ((pHdrs)->pStr + (iStr)) ++#define ELF_STR(pHdrs, iStr) ((pHdrs)->Rel.pStr + (iStr)) ++/** Finds an ELF symbol table string. */ ++#define ELF_DYN_STR(pHdrs, iStr) ((pHdrs)->Dyn.pStr + (iStr)) + /** Finds an ELF section header string. */ +-#define ELF_SH_STR(pHdrs, iStr) ((pHdrs)->pShStr + (iStr)) ++#define ELF_SH_STR(pHdrs, iStr) ((pHdrs)->pShStr + (iStr)) + + + +@@ -62,6 +64,7 @@ + *********************************************************************************************************************************/ + #ifdef LOG_ENABLED + static const char *rtldrElfGetShdrType(uint32_t iType); ++static const char *rtldrElfGetPhdrType(uint32_t iType); + #endif + + +@@ -81,6 +84,7 @@ static const char *rtldrElfGetShdrType(u + + + #ifdef LOG_ENABLED ++ + /** + * Gets the section type. + * +@@ -91,23 +95,51 @@ static const char *rtldrElfGetShdrType(u + { + switch (iType) + { +- case SHT_NULL: return "SHT_NULL"; +- case SHT_PROGBITS: return "SHT_PROGBITS"; +- case SHT_SYMTAB: return "SHT_SYMTAB"; +- case SHT_STRTAB: return "SHT_STRTAB"; +- case SHT_RELA: return "SHT_RELA"; +- case SHT_HASH: return "SHT_HASH"; +- case SHT_DYNAMIC: return "SHT_DYNAMIC"; +- case SHT_NOTE: return "SHT_NOTE"; +- case SHT_NOBITS: return "SHT_NOBITS"; +- case SHT_REL: return "SHT_REL"; +- case SHT_SHLIB: return "SHT_SHLIB"; +- case SHT_DYNSYM: return "SHT_DYNSYM"; ++ RT_CASE_RET_STR(SHT_NULL); ++ RT_CASE_RET_STR(SHT_PROGBITS); ++ RT_CASE_RET_STR(SHT_SYMTAB); ++ RT_CASE_RET_STR(SHT_STRTAB); ++ RT_CASE_RET_STR(SHT_RELA); ++ RT_CASE_RET_STR(SHT_HASH); ++ RT_CASE_RET_STR(SHT_DYNAMIC); ++ RT_CASE_RET_STR(SHT_NOTE); ++ RT_CASE_RET_STR(SHT_NOBITS); ++ RT_CASE_RET_STR(SHT_REL); ++ RT_CASE_RET_STR(SHT_SHLIB); ++ RT_CASE_RET_STR(SHT_DYNSYM); + default: + return ""; + } + } +-#endif ++ ++/** ++ * Gets the program header type. ++ * ++ * @returns Pointer to read only string. ++ * @param iType The section type index. ++ */ ++static const char *rtldrElfGetPhdrType(uint32_t iType) ++{ ++ switch (iType) ++ { ++ RT_CASE_RET_STR(PT_NULL); ++ RT_CASE_RET_STR(PT_LOAD); ++ RT_CASE_RET_STR(PT_DYNAMIC); ++ RT_CASE_RET_STR(PT_INTERP); ++ RT_CASE_RET_STR(PT_NOTE); ++ RT_CASE_RET_STR(PT_SHLIB); ++ RT_CASE_RET_STR(PT_PHDR); ++ RT_CASE_RET_STR(PT_TLS); ++ RT_CASE_RET_STR(PT_GNU_EH_FRAME); ++ RT_CASE_RET_STR(PT_GNU_STACK); ++ RT_CASE_RET_STR(PT_GNU_RELRO); ++ RT_CASE_RET_STR(PT_GNU_PROPERTY); ++ default: ++ return ""; ++ } ++} ++ ++#endif /* LOG_ENABLED*/ + + + /** +@@ -124,8 +156,6 @@ DECLHIDDEN(int) rtldrELFOpen(PRTLDRREADE + { + const char *pszLogName = pReader->pfnLogName(pReader); NOREF(pszLogName); + +- RT_NOREF_PV(pErrInfo); /** @todo implement */ +- + /* + * Read the ident to decide if this is 32-bit or 64-bit + * and worth dealing with. +@@ -134,6 +164,7 @@ DECLHIDDEN(int) rtldrELFOpen(PRTLDRREADE + int rc = pReader->pfnRead(pReader, &e_ident, sizeof(e_ident), 0); + if (RT_FAILURE(rc)) + return rc; ++ + if ( e_ident[EI_MAG0] != ELFMAG0 + || e_ident[EI_MAG1] != ELFMAG1 + || e_ident[EI_MAG2] != ELFMAG2 +@@ -141,19 +172,17 @@ DECLHIDDEN(int) rtldrELFOpen(PRTLDRREADE + || ( e_ident[EI_CLASS] != ELFCLASS32 + && e_ident[EI_CLASS] != ELFCLASS64) + ) +- { +- Log(("RTLdrELF: %s: Unsupported/invalid ident %.*Rhxs\n", pszLogName, sizeof(e_ident), e_ident)); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Unsupported/invalid ident %.*Rhxs", pszLogName, sizeof(e_ident), e_ident); ++ + if (e_ident[EI_DATA] != ELFDATA2LSB) +- { +- Log(("RTLdrELF: %s: ELF endian %x is unsupported\n", pszLogName, e_ident[EI_DATA])); +- return VERR_LDRELF_ODD_ENDIAN; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_LDRELF_ODD_ENDIAN, ++ "%s: ELF endian %x is unsupported", pszLogName, e_ident[EI_DATA]); ++ + if (e_ident[EI_CLASS] == ELFCLASS32) +- rc = rtldrELF32Open(pReader, fFlags, enmArch, phLdrMod); ++ rc = rtldrELF32Open(pReader, fFlags, enmArch, phLdrMod, pErrInfo); + else +- rc = rtldrELF64Open(pReader, fFlags, enmArch, phLdrMod); ++ rc = rtldrELF64Open(pReader, fFlags, enmArch, phLdrMod, pErrInfo); + return rc; + } + +--- a/src/VBox/Runtime/common/ldr/ldrELFRelocatable.cpp.h ++++ b/src/VBox/Runtime/common/ldr/ldrELFRelocatable.cpp.h +@@ -29,31 +29,37 @@ + * Defined Constants And Macros * + *******************************************************************************/ + #if ELF_MODE == 32 +-#define RTLDRELF_NAME(name) rtldrELF32##name +-#define RTLDRELF_SUFF(name) name##32 +-#define RTLDRELF_MID(pre,suff) pre##32##suff +-#define FMT_ELF_ADDR "%08RX32" +-#define FMT_ELF_HALF "%04RX16" +-#define FMT_ELF_OFF "%08RX32" +-#define FMT_ELF_SIZE "%08RX32" +-#define FMT_ELF_SWORD "%RI32" +-#define FMT_ELF_WORD "%08RX32" +-#define FMT_ELF_XWORD "%08RX32" +-#define FMT_ELF_SXWORD "%RI32" ++# define RTLDRELF_NAME(name) rtldrELF32##name ++# define RTLDRELF_SUFF(name) name##32 ++# define RTLDRELF_MID(pre,suff) pre##32##suff ++# define FMT_ELF_ADDR "%08RX32" ++# define FMT_ELF_ADDR7 "%07RX32" ++# define FMT_ELF_HALF "%04RX16" ++# define FMT_ELF_OFF "%08RX32" ++# define FMT_ELF_SIZE "%08RX32" ++# define FMT_ELF_SWORD "%RI32" ++# define FMT_ELF_WORD "%08RX32" ++# define FMT_ELF_XWORD "%08RX32" ++# define FMT_ELF_SXWORD "%RI32" ++# define Elf_Xword Elf32_Word ++# define Elf_Sxword Elf32_Sword + + #elif ELF_MODE == 64 +-#define RTLDRELF_NAME(name) rtldrELF64##name +-#define RTLDRELF_SUFF(name) name##64 +-#define RTLDRELF_MID(pre,suff) pre##64##suff +-#define FMT_ELF_ADDR "%016RX64" +-#define FMT_ELF_HALF "%04RX16" +-#define FMT_ELF_SHALF "%RI16" +-#define FMT_ELF_OFF "%016RX64" +-#define FMT_ELF_SIZE "%016RX64" +-#define FMT_ELF_SWORD "%RI32" +-#define FMT_ELF_WORD "%08RX32" +-#define FMT_ELF_XWORD "%016RX64" +-#define FMT_ELF_SXWORD "%RI64" ++# define RTLDRELF_NAME(name) rtldrELF64##name ++# define RTLDRELF_SUFF(name) name##64 ++# define RTLDRELF_MID(pre,suff) pre##64##suff ++# define FMT_ELF_ADDR "%016RX64" ++# define FMT_ELF_ADDR7 "%08RX64" ++# define FMT_ELF_HALF "%04RX16" ++# define FMT_ELF_SHALF "%RI16" ++# define FMT_ELF_OFF "%016RX64" ++# define FMT_ELF_SIZE "%016RX64" ++# define FMT_ELF_SWORD "%RI32" ++# define FMT_ELF_WORD "%08RX32" ++# define FMT_ELF_XWORD "%016RX64" ++# define FMT_ELF_SXWORD "%RI64" ++# define Elf_Xword Elf64_Xword ++# define Elf_Sxword Elf64_Sxword + #endif + + #define Elf_Ehdr RTLDRELF_MID(Elf,_Ehdr) +@@ -74,6 +80,9 @@ + #define RTLDRMODELF RTLDRELF_MID(RTLDRMODELF,RT_NOTHING) + #define PRTLDRMODELF RTLDRELF_MID(PRTLDRMODELF,RT_NOTHING) + ++#define RTLDRMODELFSHX RTLDRELF_MID(RTLDRMODELFSHX,RT_NOTHING) ++#define PRTLDRMODELFSHX RTLDRELF_MID(PRTLDRMODELFSHX,RT_NOTHING) ++ + #define ELF_R_SYM(info) RTLDRELF_MID(ELF,_R_SYM)(info) + #define ELF_R_TYPE(info) RTLDRELF_MID(ELF,_R_TYPE)(info) + #define ELF_R_INFO(sym, type) RTLDRELF_MID(ELF,_R_INFO)(sym, type) +@@ -86,6 +95,20 @@ + * Structures and Typedefs * + *******************************************************************************/ + /** ++ * Extra section info. ++ */ ++typedef struct RTLDRMODELFSHX ++{ ++ /** The corresponding program header. */ ++ uint16_t idxPhdr; ++ /** The corresponding dynamic section entry (address). */ ++ uint16_t idxDt; ++ /** The DT tag. */ ++ uint32_t uDtTag; ++} RTLDRMODELFSHX; ++typedef RTLDRMODELFSHX *PRTLDRMODELFSHX; ++ ++/** + * The ELF loader structure. + */ + typedef struct RTLDRMODELF +@@ -105,36 +128,82 @@ typedef struct RTLDRMODELF + /** Unmodified section headers (allocated after paShdrs, so no need to free). + * Not valid if the image is DONE. */ + Elf_Shdr const *paOrgShdrs; ++ /** Runs parallel to paShdrs and is part of the same allocation. */ ++ PRTLDRMODELFSHX paShdrExtras; ++ /** Base section number, either 1 or zero depending on whether we've ++ * re-used the NULL entry for .elf.headers in ET_EXEC/ET_DYN. */ ++ unsigned iFirstSect; ++ /** Set if the SHF_ALLOC section headers are in order of sh_addr. */ ++ bool fShdrInOrder; + /** The size of the loaded image. */ + size_t cbImage; + + /** The image base address if it's an EXEC or DYN image. */ + Elf_Addr LinkAddress; + +- /** The symbol section index. */ +- unsigned iSymSh; +- /** Number of symbols in the table. */ +- unsigned cSyms; +- /** Pointer to symbol table within RTLDRMODELF::pvBits. */ +- const Elf_Sym *paSyms; +- +- /** The string section index. */ +- unsigned iStrSh; +- /** Size of the string table. */ +- unsigned cbStr; +- /** Pointer to string table within RTLDRMODELF::pvBits. */ +- const char *pStr; ++ struct ++ { ++ /** The symbol section index. */ ++ unsigned iSymSh; ++ /** Number of symbols in the table. */ ++ unsigned cSyms; ++ /** Pointer to symbol table within RTLDRMODELF::pvBits. */ ++ const Elf_Sym *paSyms; ++ ++ /** The string section index. */ ++ unsigned iStrSh; ++ /** Size of the string table. */ ++ unsigned cbStr; ++ /** Pointer to string table within RTLDRMODELF::pvBits. */ ++ const char *pStr; ++ } Rel /**< Regular symbols and strings. */ ++ , Dyn /**< Dynamic symbols and strings. */; + +- /** Size of the section header string table. */ +- unsigned cbShStr; + /** Pointer to section header string table within RTLDRMODELF::pvBits. */ + const char *pShStr; ++ /** Size of the section header string table. */ ++ unsigned cbShStr; + + /** The '.eh_frame' section index. Zero if not searched for, ~0U if not found. */ + unsigned iShEhFrame; + /** The '.eh_frame_hdr' section index. Zero if not searched for, ~0U if not found. */ + unsigned iShEhFrameHdr; +-} RTLDRMODELF, *PRTLDRMODELF; ++ ++ /** The '.dynamic' / SHT_DYNAMIC section index. ~0U if not present. */ ++ unsigned iShDynamic; ++ /** Number of entries in paDynamic. */ ++ unsigned cDynamic; ++ /** The dynamic section (NULL for ET_REL). */ ++ Elf_Dyn *paDynamic; ++ /** Program headers (NULL for ET_REL). */ ++ Elf_Phdr *paPhdrs; ++ ++ /** Info extracted from PT_DYNAMIC and the program headers. */ ++ struct ++ { ++ /** DT_RELA/DT_REL. */ ++ Elf_Addr uPtrRelocs; ++ /** DT_RELASZ/DT_RELSZ. */ ++ Elf_Xword cbRelocs; ++ /** Non-zero if we've seen DT_RELAENT/DT_RELENT. */ ++ unsigned cbRelocEntry; ++ /** DT_RELA or DT_REL. */ ++ unsigned uRelocType; ++ /** The index of the section header matching DT_RELA/DT_REL. */ ++ unsigned idxShRelocs; ++ ++ /** DT_JMPREL. */ ++ Elf_Addr uPtrJmpRelocs; ++ /** DT_PLTRELSZ. */ ++ Elf_Xword cbJmpRelocs; ++ /** DT_RELA or DT_REL (if we've seen DT_PLTREL). */ ++ unsigned uJmpRelocType; ++ /** The index of the section header matching DT_JMPREL. */ ++ unsigned idxShJmpRelocs; ++ } DynInfo; ++} RTLDRMODELF; ++/** Pointer to an ELF module instance. */ ++typedef RTLDRMODELF *PRTLDRMODELF; + + + /** +@@ -154,11 +223,15 @@ static int RTLDRELF_NAME(MapBits)(PRTLDR + if (RT_SUCCESS(rc)) + { + const uint8_t *pu8 = (const uint8_t *)pModElf->pvBits; +- if (pModElf->iSymSh != ~0U) +- pModElf->paSyms = (const Elf_Sym *)(pu8 + pModElf->paShdrs[pModElf->iSymSh].sh_offset); +- if (pModElf->iStrSh != ~0U) +- pModElf->pStr = (const char *)(pu8 + pModElf->paShdrs[pModElf->iStrSh].sh_offset); +- pModElf->pShStr = (const char *)(pu8 + pModElf->paShdrs[pModElf->Ehdr.e_shstrndx].sh_offset); ++ if (pModElf->Rel.iSymSh != ~0U) ++ pModElf->Rel.paSyms = (const Elf_Sym *)(pu8 + pModElf->paShdrs[pModElf->Rel.iSymSh].sh_offset); ++ if (pModElf->Rel.iStrSh != ~0U) ++ pModElf->Rel.pStr = (const char *)(pu8 + pModElf->paShdrs[pModElf->Rel.iStrSh].sh_offset); ++ if (pModElf->Dyn.iSymSh != ~0U) ++ pModElf->Dyn.paSyms = (const Elf_Sym *)(pu8 + pModElf->paShdrs[pModElf->Dyn.iSymSh].sh_offset); ++ if (pModElf->Dyn.iStrSh != ~0U) ++ pModElf->Dyn.pStr = (const char *)(pu8 + pModElf->paShdrs[pModElf->Dyn.iStrSh].sh_offset); ++ pModElf->pShStr = (const char *)(pu8 + pModElf->paShdrs[pModElf->Ehdr.e_shstrndx].sh_offset); + + /* + * Verify that the ends of the string tables have a zero terminator +@@ -167,8 +240,12 @@ static int RTLDRELF_NAME(MapBits)(PRTLDR + * sh_offset and sh_size were verfied in RTLDRELF_NAME(ValidateSectionHeader)() already so they + * are safe to use. + */ +- AssertMsgStmt( pModElf->iStrSh == ~0U +- || pModElf->pStr[pModElf->paShdrs[pModElf->iStrSh].sh_size - 1] == '\0', ++ AssertMsgStmt( pModElf->Rel.iStrSh == ~0U ++ || pModElf->Rel.pStr[pModElf->paShdrs[pModElf->Rel.iStrSh].sh_size - 1] == '\0', ++ ("The string table is not zero terminated!\n"), ++ rc = VERR_LDRELF_UNTERMINATED_STRING_TAB); ++ AssertMsgStmt( pModElf->Dyn.iStrSh == ~0U ++ || pModElf->Dyn.pStr[pModElf->paShdrs[pModElf->Dyn.iStrSh].sh_size - 1] == '\0', + ("The string table is not zero terminated!\n"), + rc = VERR_LDRELF_UNTERMINATED_STRING_TAB); + AssertMsgStmt(pModElf->pShStr[pModElf->paShdrs[pModElf->Ehdr.e_shstrndx].sh_size - 1] == '\0', +@@ -180,10 +257,12 @@ static int RTLDRELF_NAME(MapBits)(PRTLDR + /* Unmap. */ + int rc2 = pModElf->Core.pReader->pfnUnmap(pModElf->Core.pReader, pModElf->pvBits); + AssertRC(rc2); +- pModElf->pvBits = NULL; +- pModElf->paSyms = NULL; +- pModElf->pStr = NULL; +- pModElf->pShStr = NULL; ++ pModElf->pvBits = NULL; ++ pModElf->Rel.paSyms = NULL; ++ pModElf->Rel.pStr = NULL; ++ pModElf->Dyn.paSyms = NULL; ++ pModElf->Dyn.pStr = NULL; ++ pModElf->pShStr = NULL; + } + } + return rc; +@@ -200,6 +279,101 @@ static int RTLDRELF_NAME(MapBits)(PRTLDR + * + */ + ++/** ++ * Get the symbol and symbol value. ++ * ++ * @returns iprt status code. ++ * @param pModElf The ELF loader module instance data. ++ * @param BaseAddr The base address which the module is being fixedup to. ++ * @param pfnGetImport The callback function to use to resolve imports (aka unresolved externals). ++ * @param pvUser User argument to pass to the callback. ++ * @param iSym The symbol to get. ++ * @param ppSym Where to store the symbol pointer on success. (read only) ++ * @param pSymValue Where to store the symbol value on success. ++ */ ++static int RTLDRELF_NAME(SymbolExecDyn)(PRTLDRMODELF pModElf, Elf_Addr BaseAddr, PFNRTLDRIMPORT pfnGetImport, void *pvUser, ++ Elf_Size iSym, const Elf_Sym **ppSym, Elf_Addr *pSymValue) ++{ ++ /* ++ * Validate and find the symbol. ++ */ ++ AssertMsgReturn(iSym < pModElf->Dyn.cSyms, ("iSym=%d is an invalid symbol index!\n", iSym), VERR_LDRELF_INVALID_SYMBOL_INDEX); ++ const Elf_Sym *pSym = &pModElf->Dyn.paSyms[iSym]; ++ *ppSym = pSym; ++ ++ AssertMsgReturn(pSym->st_name < pModElf->Dyn.cbStr, ++ ("iSym=%d st_name=%d str sh_size=%d\n", iSym, pSym->st_name, pModElf->Dyn.cbStr), ++ VERR_LDRELF_INVALID_SYMBOL_NAME_OFFSET); ++ const char * const pszName = pModElf->Dyn.pStr + pSym->st_name; ++ ++ /* ++ * Determine the symbol value. ++ * ++ * Symbols needs different treatment depending on which section their are in. ++ * Undefined and absolute symbols goes into special non-existing sections. ++ */ ++ switch (pSym->st_shndx) ++ { ++ /* ++ * Undefined symbol, needs resolving. ++ * ++ * Since ELF has no generic concept of importing from specific module (the OS/2 ELF format ++ * has but that's an OS extension and only applies to programs and dlls), we'll have to ask ++ * the resolver callback to do a global search. ++ */ ++ case SHN_UNDEF: ++ { ++ /* Try to resolve the symbol. */ ++ RTUINTPTR Value; ++ int rc = pfnGetImport(&pModElf->Core, "", pszName, ~0U, &Value, pvUser); ++ AssertMsgRCReturn(rc, ("Failed to resolve '%s' (iSym=" FMT_ELF_SIZE " rc=%Rrc\n", pszName, iSym, rc), rc); ++ ++ *pSymValue = (Elf_Addr)Value; ++ AssertMsgReturn((RTUINTPTR)*pSymValue == Value, ++ ("Symbol value overflowed! '%s' (iSym=" FMT_ELF_SIZE "\n", pszName, iSym), VERR_SYMBOL_VALUE_TOO_BIG); ++ ++ Log2(("rtldrELF: #%-3d - UNDEF " FMT_ELF_ADDR " '%s'\n", iSym, *pSymValue, pszName)); ++ break; ++ } ++ ++ /* ++ * Absolute symbols needs no fixing since they are, well, absolute. ++ */ ++ case SHN_ABS: ++ *pSymValue = pSym->st_value; ++ Log2(("rtldrELF: #%-3d - ABS " FMT_ELF_ADDR " '%s'\n", iSym, *pSymValue, pszName)); ++ break; ++ ++ /* ++ * All other symbols are addressed relative the image base in DYN and EXEC binaries. ++ */ ++ default: ++ AssertMsgReturn(pSym->st_shndx < pModElf->Ehdr.e_shnum, ++ ("iSym=%d st_shndx=%d e_shnum=%d pszName=%s\n", iSym, pSym->st_shndx, pModElf->Ehdr.e_shnum, pszName), ++ VERR_BAD_EXE_FORMAT); ++ *pSymValue = pSym->st_value + BaseAddr; ++ Log2(("rtldrELF: #%-3d - %5d " FMT_ELF_ADDR " '%s'\n", iSym, pSym->st_shndx, *pSymValue, pszName)); ++ break; ++ } ++ ++ return VINF_SUCCESS; ++} ++ ++ ++#if ELF_MODE == 32 ++/** Helper for RelocateSectionExecDyn. */ ++DECLINLINE(const Elf_Shdr *) RTLDRELF_NAME(RvaToSectionHeader)(PRTLDRMODELF pModElf, Elf_Addr uRva) ++{ ++ const Elf_Shdr * const pShdrFirst = pModElf->paShdrs; ++ const Elf_Shdr *pShdr = pShdrFirst + pModElf->Ehdr.e_shnum; ++ while (--pShdr != pShdrFirst) ++ if (uRva - pShdr->sh_addr /*rva*/ < pShdr->sh_size) ++ return pShdr; ++ AssertFailed(); ++ return pShdr; ++} ++#endif ++ + + /** + * Applies the fixups for a section in an executable image. +@@ -230,84 +404,106 @@ static int RTLDRELF_NAME(RelocateSection + * Iterate the relocations. + * The relocations are stored in an array of Elf32_Rel records and covers the entire relocation section. + */ ++#if ELF_MODE == 32 ++ const Elf_Shdr *pShdr = pModElf->paShdrs; + const Elf_Addr offDelta = BaseAddr - pModElf->LinkAddress; ++#endif + const Elf_Reloc *paRels = (const Elf_Reloc *)pvRelocs; +- const unsigned iRelMax = (unsigned)(cbRelocs / sizeof(paRels[0])); ++ const unsigned iRelMax = (unsigned)(cbRelocs / sizeof(paRels[0])); + AssertMsgReturn(iRelMax == cbRelocs / sizeof(paRels[0]), (FMT_ELF_SIZE "\n", cbRelocs / sizeof(paRels[0])), + VERR_IMAGE_TOO_BIG); + for (unsigned iRel = 0; iRel < iRelMax; iRel++) + { + /* +- * Skip R_XXX_NONE entries early to avoid confusion in the symbol +- * getter code. ++ * Apply fixups not taking a symbol (will 'continue' rather than 'break'). + */ ++ AssertMsgReturn(paRels[iRel].r_offset < cbSec, (FMT_ELF_ADDR " " FMT_ELF_SIZE "\n", paRels[iRel].r_offset, cbSec), ++ VERR_LDRELF_INVALID_RELOCATION_OFFSET); + #if ELF_MODE == 32 +- if (ELF_R_TYPE(paRels[iRel].r_info) == R_386_NONE) +- continue; +-#elif ELF_MODE == 64 +- if (ELF_R_TYPE(paRels[iRel].r_info) == R_X86_64_NONE) +- continue; ++ if (paRels[iRel].r_offset - pShdr->sh_addr /*rva*/ >= pShdr->sh_size) ++ pShdr = RTLDRELF_NAME(RvaToSectionHeader)(pModElf, paRels[iRel].r_offset); ++ static const Elf_Addr s_uZero = 0; ++ const Elf_Addr *pAddrR = RT_LIKELY(pShdr->sh_type != SHT_NOBITS) /* Where to read the addend. */ ++ ? (const Elf_Addr *)(pu8SecBaseR + paRels[iRel].r_offset - pShdr->sh_addr /*rva*/ ++ + pShdr->sh_offset) ++ : &s_uZero; + #endif +- +- /* +- * Validate and find the symbol, resolve undefined ones. +- */ +- Elf_Size iSym = ELF_R_SYM(paRels[iRel].r_info); +- if (iSym >= pModElf->cSyms) +- { +- AssertMsgFailed(("iSym=%d is an invalid symbol index!\n", iSym)); +- return VERR_LDRELF_INVALID_SYMBOL_INDEX; +- } +- const Elf_Sym *pSym = &pModElf->paSyms[iSym]; +- if (pSym->st_name >= pModElf->cbStr) ++ Elf_Addr *pAddrW = (Elf_Addr *)(pu8SecBaseW + paRels[iRel].r_offset); /* Where to write the fixup. */ ++ switch (ELF_R_TYPE(paRels[iRel].r_info)) + { +- AssertMsgFailed(("iSym=%d st_name=%d str sh_size=%d\n", iSym, pSym->st_name, pModElf->cbStr)); +- return VERR_LDRELF_INVALID_SYMBOL_NAME_OFFSET; +- } ++ /* ++ * Image relative (addend + base). ++ */ ++#if ELF_MODE == 32 ++ case R_386_RELATIVE: ++ { ++ const Elf_Addr Value = *pAddrR + BaseAddr; ++ *(uint32_t *)pAddrW = Value; ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_386_RELATIVE Value=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, Value)); ++ AssertCompile(sizeof(Value) == sizeof(uint32_t)); ++ continue; ++ } ++#elif ELF_MODE == 64 ++ case R_X86_64_RELATIVE: ++ { ++ const Elf_Addr Value = paRels[iRel].r_addend + BaseAddr; ++ *(uint64_t *)pAddrW = (uint64_t)Value; ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_X86_64_RELATIVE Value=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, Value)); ++ AssertCompile(sizeof(Value) == sizeof(uint64_t)); ++ continue; ++ } ++#endif + +- Elf_Addr SymValue = 0; +- if (pSym->st_shndx == SHN_UNDEF) +- { +- /* Try to resolve the symbol. */ +- const char *pszName = ELF_STR(pModElf, pSym->st_name); +- RTUINTPTR ExtValue; +- int rc = pfnGetImport(&pModElf->Core, "", pszName, ~0U, &ExtValue, pvUser); +- AssertMsgRCReturn(rc, ("Failed to resolve '%s' rc=%Rrc\n", pszName, rc), rc); +- SymValue = (Elf_Addr)ExtValue; +- AssertMsgReturn((RTUINTPTR)SymValue == ExtValue, ("Symbol value overflowed! '%s'\n", pszName), +- VERR_SYMBOL_VALUE_TOO_BIG); +- Log2(("rtldrELF: #%-3d - UNDEF " FMT_ELF_ADDR " '%s'\n", iSym, SymValue, pszName)); +- } +- else +- { +- AssertMsgReturn(pSym->st_shndx < pModElf->Ehdr.e_shnum || pSym->st_shndx == SHN_ABS, ("%#x\n", pSym->st_shndx), +- VERR_LDRELF_INVALID_RELOCATION_OFFSET); +-#if ELF_MODE == 64 +- SymValue = pSym->st_value; ++ /* ++ * R_XXX_NONE. ++ */ ++#if ELF_MODE == 32 ++ case R_386_NONE: ++#elif ELF_MODE == 64 ++ case R_X86_64_NONE: + #endif ++ continue; + } + +-#if ELF_MODE == 64 +- /* Calc the value (indexes checked above; assumes SHN_UNDEF == 0). */ +- Elf_Addr Value; +- if (pSym->st_shndx < pModElf->Ehdr.e_shnum) +- Value = SymValue + offDelta; +- else /* SHN_ABS: */ +- Value = SymValue + paRels[iRel].r_addend; +-#endif ++ /* ++ * Validate and find the symbol, resolve undefined ones. ++ */ ++ const Elf_Sym *pSym = NULL; /* shut up gcc */ ++ Elf_Addr SymValue = 0; /* shut up gcc-4 */ ++ int rc = RTLDRELF_NAME(SymbolExecDyn)(pModElf, BaseAddr, pfnGetImport, pvUser, ELF_R_SYM(paRels[iRel].r_info), &pSym, &SymValue); ++ if (RT_FAILURE(rc)) ++ return rc; + + /* + * Apply the fixup. + */ +- AssertMsgReturn(paRels[iRel].r_offset < cbSec, (FMT_ELF_ADDR " " FMT_ELF_SIZE "\n", paRels[iRel].r_offset, cbSec), VERR_LDRELF_INVALID_RELOCATION_OFFSET); +-#if ELF_MODE == 32 +- const Elf_Addr *pAddrR = (const Elf_Addr *)(pu8SecBaseR + paRels[iRel].r_offset); /* Where to read the addend. */ +-#endif +- Elf_Addr *pAddrW = (Elf_Addr *)(pu8SecBaseW + paRels[iRel].r_offset); /* Where to write the fixup. */ + switch (ELF_R_TYPE(paRels[iRel].r_info)) + { + #if ELF_MODE == 32 + /* ++ * GOT/PLT. ++ */ ++ case R_386_GLOB_DAT: ++ { ++ *(uint32_t *)pAddrW = (uint32_t)SymValue; ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_386_GLOB_DAT Value=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, SymValue)); ++ AssertCompile(sizeof(SymValue) == sizeof(uint32_t)); ++ break; ++ } ++ ++ case R_386_JMP_SLOT: ++ { ++ *(uint32_t *)pAddrW = (uint32_t)SymValue; ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_386_JMP_SLOT Value=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, SymValue)); ++ AssertCompile(sizeof(SymValue) == sizeof(uint32_t)); ++ break; ++ } ++ ++ /* + * Absolute addressing. + */ + case R_386_32: +@@ -322,7 +518,8 @@ static int RTLDRELF_NAME(RelocateSection + else + AssertFailedReturn(VERR_LDR_GENERAL_FAILURE); /** @todo SHN_COMMON */ + *(uint32_t *)pAddrW = Value; +- Log4((FMT_ELF_ADDR": R_386_32 Value=" FMT_ELF_ADDR "\n", SecAddr + paRels[iRel].r_offset + BaseAddr, Value)); ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_386_32 Value=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, Value)); + break; + } + +@@ -344,20 +541,42 @@ static int RTLDRELF_NAME(RelocateSection + } + else + AssertFailedReturn(VERR_LDR_GENERAL_FAILURE); /** @todo SHN_COMMON */ +- Log4((FMT_ELF_ADDR": R_386_PC32 Value=" FMT_ELF_ADDR "\n", SecAddr + paRels[iRel].r_offset + BaseAddr, Value)); ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_386_PC32 Value=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, Value)); + break; + } + + #elif ELF_MODE == 64 ++ /* ++ * GOT/PLT. ++ */ ++ case R_X86_64_GLOB_DAT: ++ { ++ *(uint64_t *)pAddrW = (uint64_t)SymValue; ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_X86_64_GLOB_DAT Value=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, SymValue)); ++ AssertCompile(sizeof(SymValue) == sizeof(uint64_t)); ++ break; ++ } ++ ++ case R_X86_64_JMP_SLOT: ++ { ++ *(uint64_t *)pAddrW = (uint64_t)SymValue; ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_X86_64_JMP_SLOT Value=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, SymValue)); ++ AssertCompile(sizeof(SymValue) == sizeof(uint64_t)); ++ break; ++ } + + /* +- * Absolute addressing ++ * Absolute addressing. + */ + case R_X86_64_64: + { ++ const Elf_Addr Value = SymValue + paRels[iRel].r_addend; + *(uint64_t *)pAddrW = Value; +- Log4((FMT_ELF_ADDR": R_X86_64_64 Value=" FMT_ELF_ADDR " SymValue=" FMT_ELF_ADDR "\n", +- SecAddr + paRels[iRel].r_offset + BaseAddr, Value, SymValue)); ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_X86_64_64 Value=" FMT_ELF_ADDR " SymValue=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, Value, SymValue)); + break; + } + +@@ -366,9 +585,10 @@ static int RTLDRELF_NAME(RelocateSection + */ + case R_X86_64_32: + { ++ const Elf_Addr Value = SymValue + paRels[iRel].r_addend; + *(uint32_t *)pAddrW = (uint32_t)Value; +- Log4((FMT_ELF_ADDR": R_X86_64_32 Value=" FMT_ELF_ADDR " SymValue=" FMT_ELF_ADDR "\n", +- SecAddr + paRels[iRel].r_offset + BaseAddr, Value, SymValue)); ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_X86_64_32 Value=" FMT_ELF_ADDR " SymValue=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, Value, SymValue)); + AssertMsgReturn((Elf_Addr)*(uint32_t *)pAddrW == SymValue, ("Value=" FMT_ELF_ADDR "\n", SymValue), + VERR_SYMBOL_VALUE_TOO_BIG); + break; +@@ -379,9 +599,10 @@ static int RTLDRELF_NAME(RelocateSection + */ + case R_X86_64_32S: + { ++ const Elf_Addr Value = SymValue + paRels[iRel].r_addend; + *(int32_t *)pAddrW = (int32_t)Value; +- Log4((FMT_ELF_ADDR": R_X86_64_32S Value=" FMT_ELF_ADDR " SymValue=" FMT_ELF_ADDR "\n", +- SecAddr + paRels[iRel].r_offset + BaseAddr, Value, SymValue)); ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_X86_64_32S Value=" FMT_ELF_ADDR " SymValue=" FMT_ELF_ADDR "\n", ++ SecAddr + paRels[iRel].r_offset + BaseAddr, paRels[iRel].r_offset, Value, SymValue)); + AssertMsgReturn((Elf_Addr)*(int32_t *)pAddrW == Value, ("Value=" FMT_ELF_ADDR "\n", Value), VERR_SYMBOL_VALUE_TOO_BIG); /** @todo check the sign-extending here. */ + break; + } +@@ -390,18 +611,17 @@ static int RTLDRELF_NAME(RelocateSection + * PC relative addressing. + */ + case R_X86_64_PC32: +- case R_X86_64_PLT32: /* binutils commit 451875b4f976a527395e9303224c7881b65e12ed feature/regression. */ + { +- const Elf_Addr SourceAddr = SecAddr + paRels[iRel].r_offset + BaseAddr; /* Where the source really is. */ +- Value -= SourceAddr; ++ const Elf_Addr SourceAddr = SecAddr + paRels[iRel].r_offset + BaseAddr; /* Where the source really is. */ ++ const Elf_Addr Value = SymValue + paRels[iRel].r_addend - SourceAddr; + *(int32_t *)pAddrW = (int32_t)Value; +- Log4((FMT_ELF_ADDR": R_X86_64_PC32 Value=" FMT_ELF_ADDR " SymValue=" FMT_ELF_ADDR "\n", +- SourceAddr, Value, SymValue)); ++ Log4((FMT_ELF_ADDR "/" FMT_ELF_ADDR7 ": R_X86_64_PC32 Value=" FMT_ELF_ADDR " SymValue=" FMT_ELF_ADDR "\n", ++ SourceAddr, paRels[iRel].r_offset, Value, SymValue)); + AssertMsgReturn((Elf_Addr)*(int32_t *)pAddrW == Value, ("Value=" FMT_ELF_ADDR "\n", Value), VERR_SYMBOL_VALUE_TOO_BIG); /** @todo check the sign-extending here. */ + break; + } +-#endif + ++#endif + default: + AssertMsgFailed(("Unknown relocation type: %d (iRel=%d iRelMax=%d)\n", + ELF_R_TYPE(paRels[iRel].r_info), iRel, iRelMax)); +@@ -442,19 +662,13 @@ static int RTLDRELF_NAME(Symbol)(PRTLDRM + /* + * Validate and find the symbol. + */ +- if (iSym >= pModElf->cSyms) +- { +- AssertMsgFailed(("iSym=%d is an invalid symbol index!\n", iSym)); +- return VERR_LDRELF_INVALID_SYMBOL_INDEX; +- } +- const Elf_Sym *pSym = &pModElf->paSyms[iSym]; ++ AssertMsgReturn(iSym < pModElf->Rel.cSyms, ("iSym=%d is an invalid symbol index!\n", iSym), VERR_LDRELF_INVALID_SYMBOL_INDEX); ++ const Elf_Sym *pSym = &pModElf->Rel.paSyms[iSym]; + *ppSym = pSym; + +- if (pSym->st_name >= pModElf->cbStr) +- { +- AssertMsgFailed(("iSym=%d st_name=%d str sh_size=%d\n", iSym, pSym->st_name, pModElf->cbStr)); +- return VERR_LDRELF_INVALID_SYMBOL_NAME_OFFSET; +- } ++ AssertMsgReturn(pSym->st_name < pModElf->Rel.cbStr, ++ ("iSym=%d st_name=%d str sh_size=%d\n", iSym, pSym->st_name, pModElf->Rel.cbStr), ++ VERR_LDRELF_INVALID_SYMBOL_NAME_OFFSET); + const char *pszName = ELF_STR(pModElf, pSym->st_name); + + /* +@@ -469,7 +683,7 @@ static int RTLDRELF_NAME(Symbol)(PRTLDRM + * Undefined symbol, needs resolving. + * + * Since ELF has no generic concept of importing from specific module (the OS/2 ELF format +- * has but that's a OS extension and only applies to programs and dlls), we'll have to ask ++ * has but that's an OS extension and only applies to programs and dlls), we'll have to ask + * the resolver callback to do a global search. + */ + case SHN_UNDEF: +@@ -477,17 +691,12 @@ static int RTLDRELF_NAME(Symbol)(PRTLDRM + /* Try to resolve the symbol. */ + RTUINTPTR Value; + int rc = pfnGetImport(&pModElf->Core, "", pszName, ~0U, &Value, pvUser); +- if (RT_FAILURE(rc)) +- { +- AssertMsgFailed(("Failed to resolve '%s' rc=%Rrc\n", pszName, rc)); +- return rc; +- } ++ AssertMsgRCReturn(rc, ("Failed to resolve '%s' (iSym=" FMT_ELF_SIZE " rc=%Rrc\n", pszName, iSym, rc), rc); + *pSymValue = (Elf_Addr)Value; +- if ((RTUINTPTR)*pSymValue != Value) +- { +- AssertMsgFailed(("Symbol value overflowed! '%s'\n", pszName)); +- return VERR_SYMBOL_VALUE_TOO_BIG; +- } ++ ++ AssertMsgReturn((RTUINTPTR)*pSymValue == Value, ++ ("Symbol value overflowed! '%s' (iSym=" FMT_ELF_SIZE ")\n", pszName, iSym), ++ VERR_SYMBOL_VALUE_TOO_BIG); + + Log2(("rtldrELF: #%-3d - UNDEF " FMT_ELF_ADDR " '%s'\n", iSym, *pSymValue, pszName)); + break; +@@ -536,9 +745,9 @@ static int RTLDRELF_NAME(Symbol)(PRTLDRM + * @param pvRelocs Pointer to where we read the relocations from. + * @param cbRelocs Size of the relocations. + */ +-static int RTLDRELF_NAME(RelocateSection)(PRTLDRMODELF pModElf, Elf_Addr BaseAddr, PFNRTLDRIMPORT pfnGetImport, void *pvUser, +- const Elf_Addr SecAddr, Elf_Size cbSec, const uint8_t *pu8SecBaseR, uint8_t *pu8SecBaseW, +- const void *pvRelocs, Elf_Size cbRelocs) ++static int RTLDRELF_NAME(RelocateSectionRel)(PRTLDRMODELF pModElf, Elf_Addr BaseAddr, PFNRTLDRIMPORT pfnGetImport, void *pvUser, ++ const Elf_Addr SecAddr, Elf_Size cbSec, const uint8_t *pu8SecBaseR, ++ uint8_t *pu8SecBaseW, const void *pvRelocs, Elf_Size cbRelocs) + { + #if ELF_MODE != 32 + NOREF(pu8SecBaseR); +@@ -702,6 +911,18 @@ static DECLCALLBACK(int) RTLDRELF_NAME(C + pModElf->paShdrs = NULL; + } + ++ if (pModElf->paPhdrs) ++ { ++ RTMemFree(pModElf->paPhdrs); ++ pModElf->paPhdrs = NULL; ++ } ++ ++ if (pModElf->paDynamic) ++ { ++ RTMemFree(pModElf->paDynamic); ++ pModElf->paDynamic = NULL; ++ } ++ + if (pModElf->pvBits) + { + pModElf->Core.pReader->pfnUnmap(pModElf->Core.pReader, pModElf->pvBits); +@@ -721,9 +942,9 @@ static DECLCALLBACK(int) RTLDRELF_NAME(D + } + + +-/** @copydoc RTLDROPS::EnumSymbols */ +-static DECLCALLBACK(int) RTLDRELF_NAME(EnumSymbols)(PRTLDRMODINTERNAL pMod, unsigned fFlags, const void *pvBits, RTUINTPTR BaseAddress, +- PFNRTLDRENUMSYMS pfnCallback, void *pvUser) ++/** @copydoc RTLDROPS::pfnEnumSymbols */ ++static DECLCALLBACK(int) RTLDRELF_NAME(EnumSymbols)(PRTLDRMODINTERNAL pMod, unsigned fFlags, const void *pvBits, ++ RTUINTPTR BaseAddress, PFNRTLDRENUMSYMS pfnCallback, void *pvUser) + { + PRTLDRMODELF pModElf = (PRTLDRMODELF)pMod; + NOREF(pvBits); +@@ -744,8 +965,20 @@ static DECLCALLBACK(int) RTLDRELF_NAME(E + /* + * Enumerate the symbol table. + */ +- const Elf_Sym *paSyms = pModElf->paSyms; +- unsigned cSyms = pModElf->cSyms; ++ const Elf_Sym *paSyms = pModElf->Rel.paSyms; ++ unsigned cSyms = pModElf->Rel.cSyms; ++ const char *pszzStr = pModElf->Rel.pStr; ++ unsigned cbStr = pModElf->Rel.cbStr; ++ if ( ( !(fFlags & RTLDR_ENUM_SYMBOL_FLAGS_ALL) ++ && pModElf->Dyn.cSyms > 0) ++ || cSyms == 0) ++ { ++ paSyms = pModElf->Dyn.paSyms; ++ cSyms = pModElf->Dyn.cSyms; ++ pszzStr = pModElf->Dyn.pStr; ++ cbStr = pModElf->Dyn.cbStr; ++ } ++ + for (unsigned iSym = 1; iSym < cSyms; iSym++) + { + /* +@@ -774,22 +1007,21 @@ static DECLCALLBACK(int) RTLDRELF_NAME(E + return VERR_BAD_EXE_FORMAT; + } + +- AssertMsgReturn(paSyms[iSym].st_name < pModElf->cbStr, ++ AssertMsgReturn(paSyms[iSym].st_name < cbStr, + ("String outside string table! iSym=%d paSyms[iSym].st_name=%#x\n", iSym, paSyms[iSym].st_name), + VERR_LDRELF_INVALID_SYMBOL_NAME_OFFSET); ++ const char * const pszName = pszzStr + paSyms[iSym].st_name; + +- const char *pszName = ELF_STR(pModElf, paSyms[iSym].st_name); + /* String termination was already checked when the string table was mapped. */ +- if ( (pszName && *pszName) ++ if ( *pszName != '\0' + && ( (fFlags & RTLDR_ENUM_SYMBOL_FLAGS_ALL) +- || ELF_ST_BIND(paSyms[iSym].st_info) == STB_GLOBAL) +- ) ++ || ELF_ST_BIND(paSyms[iSym].st_info) == STB_GLOBAL) ) + { + /* + * Call back. + */ + AssertMsgReturn(Value == (RTUINTPTR)Value, (FMT_ELF_ADDR "\n", Value), VERR_SYMBOL_VALUE_TOO_BIG); +- rc = pfnCallback(pMod, pszName, ~0U, (RTUINTPTR)Value, pvUser); ++ rc = pfnCallback(pMod, pszName, iSym, (RTUINTPTR)Value, pvUser); + if (rc) + return rc; + } +@@ -820,13 +1052,11 @@ static DECLCALLBACK(int) RTLDRELF_NAME(G + switch (pModElf->Ehdr.e_type) + { + case ET_REL: ++ case ET_DYN: + break; + case ET_EXEC: + Log(("RTLdrELF: %s: Executable images are not supported yet!\n", pModElf->Core.pReader->pfnLogName(pModElf->Core.pReader))); + return VERR_LDRELF_EXEC; +- case ET_DYN: +- Log(("RTLdrELF: %s: Dynamic images are not supported yet!\n", pModElf->Core.pReader->pfnLogName(pModElf->Core.pReader))); +- return VERR_LDRELF_DYN; + default: AssertFailedReturn(VERR_BAD_EXE_FORMAT); + } + +@@ -885,13 +1115,11 @@ static DECLCALLBACK(int) RTLDRELF_NAME(R + switch (pModElf->Ehdr.e_type) + { + case ET_REL: ++ case ET_DYN: + break; + case ET_EXEC: + Log(("RTLdrELF: %s: Executable images are not supported yet!\n", pszLogName)); + return VERR_LDRELF_EXEC; +- case ET_DYN: +- Log(("RTLdrELF: %s: Dynamic images are not supported yet!\n", pszLogName)); +- return VERR_LDRELF_DYN; + default: AssertFailedReturn(VERR_BAD_EXE_FORMAT); + } + +@@ -910,8 +1138,9 @@ static DECLCALLBACK(int) RTLDRELF_NAME(R + + /* + * Iterate the sections looking for interesting SHT_REL[A] sections. +- * SHT_REL[A] sections have the section index of the section they contain fixups +- * for in the sh_info member. ++ * ++ * In ET_REL files the SHT_REL[A] sections have the section index of ++ * the section they contain fixups for in the sh_info member. + */ + const Elf_Shdr *paShdrs = pModElf->paShdrs; + Log2(("rtLdrElf: %s: Fixing up image\n", pszLogName)); +@@ -928,36 +1157,37 @@ static DECLCALLBACK(int) RTLDRELF_NAME(R + if (pShdrRel->sh_type != SHT_RELA) + #endif + continue; +- if (pShdrRel->sh_info >= pModElf->Ehdr.e_shnum) +- continue; +- const Elf_Shdr *pShdr = &paShdrs[pShdrRel->sh_info]; /* the section to fixup. */ +- if (!(pShdr->sh_flags & SHF_ALLOC)) +- continue; +- +- /* +- * Relocate the section. +- */ +- Log2(("rtldrELF: %s: Relocation records for #%d [%s] (sh_info=%d sh_link=%d) found in #%d [%s] (sh_info=%d sh_link=%d)\n", +- pszLogName, (int)pShdrRel->sh_info, ELF_SH_STR(pModElf, pShdr->sh_name), (int)pShdr->sh_info, (int)pShdr->sh_link, +- iShdr, ELF_SH_STR(pModElf, pShdrRel->sh_name), (int)pShdrRel->sh_info, (int)pShdrRel->sh_link)); +- +- /** @todo Make RelocateSection a function pointer so we can select the one corresponding to the machine when opening the image. */ + if (pModElf->Ehdr.e_type == ET_REL) +- rc = RTLDRELF_NAME(RelocateSection)(pModElf, BaseAddr, pfnGetImport, pvUser, +- pShdr->sh_addr, +- pShdr->sh_size, +- (const uint8_t *)pModElf->pvBits + pShdr->sh_offset, +- (uint8_t *)pvBits + pShdr->sh_addr, +- (const uint8_t *)pModElf->pvBits + pShdrRel->sh_offset, +- pShdrRel->sh_size); ++ { ++ if (pShdrRel->sh_info >= pModElf->Ehdr.e_shnum) ++ continue; ++ const Elf_Shdr *pShdr = &paShdrs[pShdrRel->sh_info]; /* the section to fixup. */ ++ if (!(pShdr->sh_flags & SHF_ALLOC)) ++ continue; ++ ++ /* ++ * Relocate the section. ++ */ ++ Log2(("rtldrELF: %s: Relocation records for #%d [%s] (sh_info=%d sh_link=%d) found in #%d [%s] (sh_info=%d sh_link=%d)\n", ++ pszLogName, (int)pShdrRel->sh_info, ELF_SH_STR(pModElf, pShdr->sh_name), (int)pShdr->sh_info, (int)pShdr->sh_link, ++ iShdr, ELF_SH_STR(pModElf, pShdrRel->sh_name), (int)pShdrRel->sh_info, (int)pShdrRel->sh_link)); ++ ++ rc = RTLDRELF_NAME(RelocateSectionRel)(pModElf, BaseAddr, pfnGetImport, pvUser, ++ pShdr->sh_addr, ++ pShdr->sh_size, ++ (const uint8_t *)pModElf->pvBits + pShdr->sh_offset, ++ (uint8_t *)pvBits + pShdr->sh_addr, ++ (const uint8_t *)pModElf->pvBits + pShdrRel->sh_offset, ++ pShdrRel->sh_size); ++ } + else + rc = RTLDRELF_NAME(RelocateSectionExecDyn)(pModElf, BaseAddr, pfnGetImport, pvUser, +- pShdr->sh_addr, +- pShdr->sh_size, +- (const uint8_t *)pModElf->pvBits + pShdr->sh_offset, +- (uint8_t *)pvBits + pShdr->sh_addr, ++ 0, (Elf_Size)pModElf->cbImage, ++ (const uint8_t *)pModElf->pvBits /** @todo file offset ?? */, ++ (uint8_t *)pvBits, + (const uint8_t *)pModElf->pvBits + pShdrRel->sh_offset, + pShdrRel->sh_size); ++ + if (RT_FAILURE(rc)) + return rc; + } +@@ -1016,11 +1246,20 @@ static DECLCALLBACK(int) RTLDRELF_NAME(G + /* + * Calc all kinds of pointers before we start iterating the symbol table. + */ +- const Elf_Sym *paSyms = pModElf->paSyms; +- unsigned cSyms = pModElf->cSyms; ++ const Elf_Sym *paSyms = pModElf->Rel.paSyms; ++ unsigned cSyms = pModElf->Rel.cSyms; ++ const char *pszzStr = pModElf->Rel.pStr; ++ unsigned cbStr = pModElf->Rel.cbStr; ++ if (pModElf->Dyn.cSyms > 0) ++ { ++ paSyms = pModElf->Dyn.paSyms; ++ cSyms = pModElf->Dyn.cSyms; ++ pszzStr = pModElf->Dyn.pStr; ++ cbStr = pModElf->Dyn.cbStr; ++ } ++ + if (iOrdinal == UINT32_MAX) + { +- const char *pStr = pModElf->pStr; + for (unsigned iSym = 1; iSym < cSyms; iSym++) + { + /* Undefined symbols are not exports, they are imports. */ +@@ -1029,18 +1268,13 @@ static DECLCALLBACK(int) RTLDRELF_NAME(G + || ELF_ST_BIND(paSyms[iSym].st_info) == STB_WEAK)) + { + /* Validate the name string and try match with it. */ +- if (paSyms[iSym].st_name < pModElf->cbStr) +- { +- if (!strcmp(pszSymbol, pStr + paSyms[iSym].st_name)) +- { +- /* matched! */ +- return RTLDRELF_NAME(ReturnSymbol)(pModElf, &paSyms[iSym], uBaseAddr, pValue); +- } +- } +- else ++ AssertMsgReturn(paSyms[iSym].st_name < cbStr, ++ ("String outside string table! iSym=%d paSyms[iSym].st_name=%#x\n", iSym, paSyms[iSym].st_name), ++ VERR_LDRELF_INVALID_SYMBOL_NAME_OFFSET); ++ if (!strcmp(pszSymbol, pszzStr + paSyms[iSym].st_name)) + { +- AssertMsgFailed(("String outside string table! iSym=%d paSyms[iSym].st_name=%#x\n", iSym, paSyms[iSym].st_name)); +- return VERR_LDRELF_INVALID_SYMBOL_NAME_OFFSET; ++ /* matched! */ ++ return RTLDRELF_NAME(ReturnSymbol)(pModElf, &paSyms[iSym], uBaseAddr, pValue); + } + } + } +@@ -1127,23 +1361,47 @@ static DECLCALLBACK(int) RTLDRELF_NAME(E + + + /** +- * Helper that locates the first allocated section. ++ * Locate the next allocated section by RVA (sh_addr). ++ * ++ * This is a helper for EnumSegments and SegOffsetToRva. + * + * @returns Pointer to the section header if found, NULL if none. +- * @param pShdr The section header to start searching at. +- * @param cLeft The number of section headers left to search. Can be 0. ++ * @param pModElf The module instance. ++ * @param iShdrCur The current section header. + */ +-static const Elf_Shdr *RTLDRELF_NAME(GetFirstAllocatedSection)(const Elf_Shdr *pShdr, unsigned cLeft) ++static const Elf_Shdr *RTLDRELF_NAME(GetNextAllocatedSection)(PRTLDRMODELF pModElf, unsigned iShdrCur) + { +- while (cLeft-- > 0) ++ unsigned const cShdrs = pModElf->Ehdr.e_shnum; ++ const Elf_Shdr * const paShdrs = pModElf->paShdrs; ++ if (pModElf->fShdrInOrder) ++ { ++ for (unsigned iShdr = iShdrCur + 1; iShdr < cShdrs; iShdr++) ++ if (paShdrs[iShdr].sh_flags & SHF_ALLOC) ++ return &paShdrs[iShdr]; ++ } ++ else + { +- if (pShdr->sh_flags & SHF_ALLOC) +- return pShdr; +- pShdr++; ++ Elf_Addr const uEndCur = paShdrs[iShdrCur].sh_addr + paShdrs[iShdrCur].sh_size; ++ Elf_Addr offBest = ~(Elf_Addr)0; ++ unsigned iBest = cShdrs; ++ for (unsigned iShdr = pModElf->iFirstSect; iShdr < cShdrs; iShdr++) ++ if ((paShdrs[iShdr].sh_flags & SHF_ALLOC) && iShdr != iShdrCur) ++ { ++ Elf_Addr const offDelta = paShdrs[iShdr].sh_addr - uEndCur; ++ if ( offDelta < offBest ++ && paShdrs[iShdr].sh_addr >= uEndCur) ++ { ++ offBest = offDelta; ++ iBest = iShdr; ++ } ++ } ++ if (iBest < cShdrs) ++ return &paShdrs[iBest]; + } + return NULL; + } + ++ + /** @copydoc RTLDROPS::pfnEnumSegments. */ + static DECLCALLBACK(int) RTLDRELF_NAME(EnumSegments)(PRTLDRMODINTERNAL pMod, PFNRTLDRENUMSEGS pfnCallback, void *pvUser) + { +@@ -1163,15 +1421,23 @@ static DECLCALLBACK(int) RTLDRELF_NAME(E + Elf_Addr uPrevMappedRva = 0; + const Elf_Shdr *paShdrs = pModElf->paShdrs; + const Elf_Shdr *paOrgShdrs = pModElf->paOrgShdrs; +- for (unsigned iShdr = 1; iShdr < pModElf->Ehdr.e_shnum; iShdr++) ++ for (unsigned iShdr = pModElf->iFirstSect; iShdr < pModElf->Ehdr.e_shnum; iShdr++) + { + RTLDRSEG Seg; +- Seg.pszName = ELF_SH_STR(pModElf, paShdrs[iShdr].sh_name); +- Seg.cchName = (uint32_t)strlen(Seg.pszName); +- if (Seg.cchName == 0) ++ if (iShdr != 0) ++ { ++ Seg.pszName = ELF_SH_STR(pModElf, paShdrs[iShdr].sh_name); ++ Seg.cchName = (uint32_t)strlen(Seg.pszName); ++ if (Seg.cchName == 0) ++ { ++ Seg.pszName = szName; ++ Seg.cchName = (uint32_t)RTStrPrintf(szName, sizeof(szName), "UnamedSect%02u", iShdr); ++ } ++ } ++ else + { +- Seg.pszName = szName; +- Seg.cchName = (uint32_t)RTStrPrintf(szName, sizeof(szName), "UnamedSect%02u", iShdr); ++ Seg.pszName = ".elf.headers"; ++ Seg.cchName = 12; + } + Seg.SelFlat = 0; + Seg.Sel16bit = 0; +@@ -1187,14 +1453,11 @@ static DECLCALLBACK(int) RTLDRELF_NAME(E + { + Seg.LinkAddress = paOrgShdrs[iShdr].sh_addr; + Seg.RVA = paShdrs[iShdr].sh_addr; +- const Elf_Shdr *pShdr2 = RTLDRELF_NAME(GetFirstAllocatedSection)(&paShdrs[iShdr + 1], +- pModElf->Ehdr.e_shnum - iShdr - 1); +- if ( pShdr2 +- && pShdr2->sh_addr >= paShdrs[iShdr].sh_addr +- && Seg.RVA >= uPrevMappedRva) ++ const Elf_Shdr *pShdr2 = RTLDRELF_NAME(GetNextAllocatedSection)(pModElf, iShdr); ++ if (pShdr2) + Seg.cbMapped = pShdr2->sh_addr - paShdrs[iShdr].sh_addr; + else +- Seg.cbMapped = RT_MAX(paShdrs[iShdr].sh_size, paShdrs[iShdr].sh_addralign); ++ Seg.cbMapped = pModElf->cbImage - paShdrs[iShdr].sh_addr; + uPrevMappedRva = Seg.RVA; + } + else +@@ -1230,10 +1493,11 @@ static DECLCALLBACK(int) RTLDRELF_NAME(L + PRTLDRMODELF pModElf = (PRTLDRMODELF)pMod; + + const Elf_Shdr *pShdrEnd = NULL; +- unsigned cLeft = pModElf->Ehdr.e_shnum - 1; +- const Elf_Shdr *pShdr = &pModElf->paOrgShdrs[cLeft]; ++ unsigned cLeft = pModElf->Ehdr.e_shnum - pModElf->iFirstSect; ++ const Elf_Shdr *pShdr = &pModElf->paOrgShdrs[pModElf->Ehdr.e_shnum]; + while (cLeft-- > 0) + { ++ pShdr--; + if (pShdr->sh_flags & SHF_ALLOC) + { + RTLDRADDR offSeg = LinkAddress - pShdr->sh_addr; +@@ -1246,13 +1510,12 @@ static DECLCALLBACK(int) RTLDRELF_NAME(L + if (offSeg == pShdr->sh_size) + pShdrEnd = pShdr; + } +- pShdr--; + } + + if (pShdrEnd) + { + *poffSeg = pShdrEnd->sh_size; +- *piSeg = pShdrEnd - pModElf->paOrgShdrs - 1; ++ *piSeg = pShdrEnd - pModElf->paOrgShdrs - pModElf->iFirstSect; + return VINF_SUCCESS; + } + +@@ -1268,7 +1531,7 @@ static DECLCALLBACK(int) RTLDRELF_NAME(L + RTLDRADDR offSeg; + int rc = RTLDRELF_NAME(LinkAddressToSegOffset)(pMod, LinkAddress, &iSeg, &offSeg); + if (RT_SUCCESS(rc)) +- *pRva = pModElf->paShdrs[iSeg + 1].sh_addr + offSeg; ++ *pRva = pModElf->paShdrs[iSeg + pModElf->iFirstSect].sh_addr + offSeg; + return rc; + } + +@@ -1278,14 +1541,13 @@ static DECLCALLBACK(int) RTLDRELF_NAME(S + PRTLDRADDR pRva) + { + PRTLDRMODELF pModElf = (PRTLDRMODELF)pMod; +- if (iSeg >= pModElf->Ehdr.e_shnum - 1U) ++ if (iSeg >= pModElf->Ehdr.e_shnum - pModElf->iFirstSect) + return VERR_LDR_INVALID_SEG_OFFSET; + +- iSeg++; /* skip section 0 */ ++ iSeg += pModElf->iFirstSect; /* skip section 0 if not used */ + if (offSeg > pModElf->paShdrs[iSeg].sh_size) + { +- const Elf_Shdr *pShdr2 = RTLDRELF_NAME(GetFirstAllocatedSection)(&pModElf->paShdrs[iSeg + 1], +- pModElf->Ehdr.e_shnum - iSeg - 1); ++ const Elf_Shdr *pShdr2 = RTLDRELF_NAME(GetNextAllocatedSection)(pModElf, iSeg); + if ( !pShdr2 + || offSeg > (pShdr2->sh_addr - pModElf->paShdrs[iSeg].sh_addr)) + return VERR_LDR_INVALID_SEG_OFFSET; +@@ -1303,13 +1565,13 @@ static DECLCALLBACK(int) RTLDRELF_NAME(S + static DECLCALLBACK(int) RTLDRELF_NAME(RvaToSegOffset)(PRTLDRMODINTERNAL pMod, RTLDRADDR Rva, + uint32_t *piSeg, PRTLDRADDR poffSeg) + { +- PRTLDRMODELF pModElf = (PRTLDRMODELF)pMod; +- ++ PRTLDRMODELF pModElf = (PRTLDRMODELF)pMod; + Elf_Addr PrevAddr = 0; +- unsigned cLeft = pModElf->Ehdr.e_shnum - 1; +- const Elf_Shdr *pShdr = &pModElf->paShdrs[cLeft]; ++ unsigned cLeft = pModElf->Ehdr.e_shnum - pModElf->iFirstSect; ++ const Elf_Shdr *pShdr = &pModElf->paShdrs[pModElf->Ehdr.e_shnum]; + while (cLeft-- > 0) + { ++ pShdr--; + if (pShdr->sh_flags & SHF_ALLOC) + { + Elf_Addr cbSeg = PrevAddr ? PrevAddr - pShdr->sh_addr : pShdr->sh_size; +@@ -1322,7 +1584,6 @@ static DECLCALLBACK(int) RTLDRELF_NAME(R + } + PrevAddr = pShdr->sh_addr; + } +- pShdr--; + } + + return VERR_LDR_INVALID_RVA; +@@ -1413,14 +1674,14 @@ static DECLCALLBACK(int) RTLDRELF_NAME(R + * Apply the relocations. + */ + if (pThis->Ehdr.e_type == ET_REL) +- rc = RTLDRELF_NAME(RelocateSection)(pThis, pThis->LinkAddress, +- RTLDRELF_NAME(GetImportStubCallback), NULL /*pvUser*/, +- pThis->paShdrs[iDbgInfo].sh_addr, +- pThis->paShdrs[iDbgInfo].sh_size, +- (const uint8_t *)pvBuf, +- (uint8_t *)pvBuf, +- pbRelocs, +- pThis->paShdrs[iRelocs].sh_size); ++ rc = RTLDRELF_NAME(RelocateSectionRel)(pThis, pThis->LinkAddress, ++ RTLDRELF_NAME(GetImportStubCallback), NULL /*pvUser*/, ++ pThis->paShdrs[iDbgInfo].sh_addr, ++ pThis->paShdrs[iDbgInfo].sh_size, ++ (const uint8_t *)pvBuf, ++ (uint8_t *)pvBuf, ++ pbRelocs, ++ pThis->paShdrs[iRelocs].sh_size); + else + rc = RTLDRELF_NAME(RelocateSectionExecDyn)(pThis, pThis->LinkAddress, + RTLDRELF_NAME(GetImportStubCallback), NULL /*pvUser*/, +@@ -1562,11 +1823,13 @@ static RTLDROPS RTLDRELF_MID(s_rtldrElf, + * + * @returns iprt status code. + * @param pEhdr Pointer to the ELF header. +- * @param pszLogName The log name. + * @param cbRawImage The size of the raw image. ++ * @param pszLogName The log name. ++ * @param penmArch Where to return the architecture. ++ * @param pErrInfo Where to return extended error info. Optional. + */ +-static int RTLDRELF_NAME(ValidateElfHeader)(const Elf_Ehdr *pEhdr, const char *pszLogName, uint64_t cbRawImage, +- PRTLDRARCH penmArch) ++static int RTLDRELF_NAME(ValidateElfHeader)(const Elf_Ehdr *pEhdr, uint64_t cbRawImage, const char *pszLogName, ++ PRTLDRARCH penmArch, PRTERRINFO pErrInfo) + { + Log3(("RTLdrELF: e_ident: %.*Rhxs\n" + "RTLdrELF: e_type: " FMT_ELF_HALF "\n" +@@ -1588,48 +1851,31 @@ static int RTLDRELF_NAME(ValidateElfHead + if ( pEhdr->e_ident[EI_MAG0] != ELFMAG0 + || pEhdr->e_ident[EI_MAG1] != ELFMAG1 + || pEhdr->e_ident[EI_MAG2] != ELFMAG2 +- || pEhdr->e_ident[EI_MAG3] != ELFMAG3 +- ) +- { +- Log(("RTLdrELF: %s: Invalid ELF magic (%.*Rhxs)\n", pszLogName, sizeof(pEhdr->e_ident), pEhdr->e_ident)); NOREF(pszLogName); +- return VERR_BAD_EXE_FORMAT; +- } ++ || pEhdr->e_ident[EI_MAG3] != ELFMAG3) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Invalid ELF magic (%.*Rhxs)", pszLogName, sizeof(pEhdr->e_ident), pEhdr->e_ident); + if (pEhdr->e_ident[EI_CLASS] != RTLDRELF_SUFF(ELFCLASS)) +- { +- Log(("RTLdrELF: %s: Invalid ELF class (%.*Rhxs)\n", pszLogName, sizeof(pEhdr->e_ident), pEhdr->e_ident)); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Invalid ELF class (%.*Rhxs)", pszLogName, sizeof(pEhdr->e_ident), pEhdr->e_ident); + if (pEhdr->e_ident[EI_DATA] != ELFDATA2LSB) +- { +- Log(("RTLdrELF: %s: ELF endian %x is unsupported\n", pszLogName, pEhdr->e_ident[EI_DATA])); +- return VERR_LDRELF_ODD_ENDIAN; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_LDRELF_ODD_ENDIAN, ++ "%s: ELF endian %x is unsupported", pszLogName, pEhdr->e_ident[EI_DATA]); + if (pEhdr->e_version != EV_CURRENT) +- { +- Log(("RTLdrELF: %s: ELF version %x is unsupported\n", pszLogName, pEhdr->e_version)); +- return VERR_LDRELF_VERSION; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_LDRELF_VERSION, ++ "%s: ELF version %x is unsupported", pszLogName, pEhdr->e_version); + + if (sizeof(Elf_Ehdr) != pEhdr->e_ehsize) +- { +- Log(("RTLdrELF: %s: Elf header e_ehsize is %d expected %d!\n", +- pszLogName, pEhdr->e_ehsize, sizeof(Elf_Ehdr))); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Elf header e_ehsize is %d expected %d!", pszLogName, pEhdr->e_ehsize, sizeof(Elf_Ehdr)); + if ( sizeof(Elf_Phdr) != pEhdr->e_phentsize +- && ( pEhdr->e_phnum != 0 +- || pEhdr->e_type == ET_DYN)) +- { +- Log(("RTLdrELF: %s: Elf header e_phentsize is %d expected %d!\n", +- pszLogName, pEhdr->e_phentsize, sizeof(Elf_Phdr))); +- return VERR_BAD_EXE_FORMAT; +- } ++ && ( pEhdr->e_phnum != 0 ++ || pEhdr->e_type == ET_DYN ++ || pEhdr->e_type == ET_EXEC)) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Elf header e_phentsize is %d expected %d!", ++ pszLogName, pEhdr->e_phentsize, sizeof(Elf_Phdr)); + if (sizeof(Elf_Shdr) != pEhdr->e_shentsize) +- { +- Log(("RTLdrELF: %s: Elf header e_shentsize is %d expected %d!\n", +- pszLogName, pEhdr->e_shentsize, sizeof(Elf_Shdr))); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Elf header e_shentsize is %d expected %d!", ++ pszLogName, pEhdr->e_shentsize, sizeof(Elf_Shdr)); + + switch (pEhdr->e_type) + { +@@ -1638,8 +1884,8 @@ static int RTLDRELF_NAME(ValidateElfHead + case ET_DYN: + break; + default: +- Log(("RTLdrELF: %s: image type %#x is not supported!\n", pszLogName, pEhdr->e_type)); +- return VERR_BAD_EXE_FORMAT; ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: image type %#x is not supported!", ++ pszLogName, pEhdr->e_type); + } + + switch (pEhdr->e_machine) +@@ -1655,52 +1901,43 @@ static int RTLDRELF_NAME(ValidateElfHead + break; + #endif + default: +- Log(("RTLdrELF: %s: machine type %u is not supported!\n", pszLogName, pEhdr->e_machine)); +- return VERR_LDRELF_MACHINE; ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_LDRELF_MACHINE, ++ "%s: machine type %u is not supported!", pszLogName, pEhdr->e_machine); + } + + if ( pEhdr->e_phoff < pEhdr->e_ehsize + && !(pEhdr->e_phoff && pEhdr->e_phnum) + && pEhdr->e_phnum) +- { +- Log(("RTLdrELF: %s: The program headers overlap with the ELF header! e_phoff=" FMT_ELF_OFF "\n", +- pszLogName, pEhdr->e_phoff)); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: The program headers overlap with the ELF header! e_phoff=" FMT_ELF_OFF, ++ pszLogName, pEhdr->e_phoff); + if ( pEhdr->e_phoff + pEhdr->e_phnum * pEhdr->e_phentsize > cbRawImage + || pEhdr->e_phoff + pEhdr->e_phnum * pEhdr->e_phentsize < pEhdr->e_phoff) +- { +- Log(("RTLdrELF: %s: The program headers extends beyond the file! e_phoff=" FMT_ELF_OFF " e_phnum=" FMT_ELF_HALF "\n", +- pszLogName, pEhdr->e_phoff, pEhdr->e_phnum)); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: The program headers extends beyond the file! e_phoff=" FMT_ELF_OFF " e_phnum=" FMT_ELF_HALF, ++ pszLogName, pEhdr->e_phoff, pEhdr->e_phnum); + + + if ( pEhdr->e_shoff < pEhdr->e_ehsize + && !(pEhdr->e_shoff && pEhdr->e_shnum)) +- { +- Log(("RTLdrELF: %s: The section headers overlap with the ELF header! e_shoff=" FMT_ELF_OFF "\n", +- pszLogName, pEhdr->e_shoff)); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: The section headers overlap with the ELF header! e_shoff=" FMT_ELF_OFF, ++ pszLogName, pEhdr->e_shoff); + if ( pEhdr->e_shoff + pEhdr->e_shnum * pEhdr->e_shentsize > cbRawImage + || pEhdr->e_shoff + pEhdr->e_shnum * pEhdr->e_shentsize < pEhdr->e_shoff) +- { +- Log(("RTLdrELF: %s: The section headers extends beyond the file! e_shoff=" FMT_ELF_OFF " e_shnum=" FMT_ELF_HALF "\n", +- pszLogName, pEhdr->e_shoff, pEhdr->e_shnum)); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: The section headers extends beyond the file! e_shoff=" FMT_ELF_OFF " e_shnum=" FMT_ELF_HALF, ++ pszLogName, pEhdr->e_shoff, pEhdr->e_shnum); + + if (pEhdr->e_shstrndx == 0 || pEhdr->e_shstrndx > pEhdr->e_shnum) +- { +- Log(("RTLdrELF: %s: The section headers string table is out of bounds! e_shstrndx=" FMT_ELF_HALF " e_shnum=" FMT_ELF_HALF "\n", +- pszLogName, pEhdr->e_shstrndx, pEhdr->e_shnum)); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: The section headers string table is out of bounds! e_shstrndx=" FMT_ELF_HALF " e_shnum=" FMT_ELF_HALF, ++ pszLogName, pEhdr->e_shstrndx, pEhdr->e_shnum); + + return VINF_SUCCESS; + } + ++ + /** + * Gets the section header name. + * +@@ -1741,10 +1978,12 @@ const char *RTLDRELF_NAME(GetSHdrName)(P + * @param pModElf Pointer to the module structure. + * @param iShdr The index of section header which should be validated. + * The section headers are found in the pModElf->paShdrs array. +- * @param pszLogName The log name. + * @param cbRawImage The size of the raw image. ++ * @param pszLogName The log name. ++ * @param pErrInfo Where to return extended error info. Optional. + */ +-static int RTLDRELF_NAME(ValidateSectionHeader)(PRTLDRMODELF pModElf, unsigned iShdr, const char *pszLogName, uint64_t cbRawImage) ++static int RTLDRELF_NAME(ValidateSectionHeader)(PRTLDRMODELF pModElf, unsigned iShdr, uint64_t cbRawImage, ++ const char *pszLogName, PRTERRINFO pErrInfo) + { + const Elf_Shdr *pShdr = &pModElf->paShdrs[iShdr]; + char szSectionName[80]; NOREF(szSectionName); +@@ -1776,37 +2015,29 @@ static int RTLDRELF_NAME(ValidateSection + || pShdr->sh_link != SHN_UNDEF + || pShdr->sh_addralign != 0 + || pShdr->sh_entsize != 0 ) +- { +- Log(("RTLdrELF: %s: Bad #0 section: %.*Rhxs\n", pszLogName, sizeof(*pShdr), pShdr )); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Bad #0 section: %.*Rhxs", pszLogName, sizeof(*pShdr), pShdr); + return VINF_SUCCESS; + } + + if (pShdr->sh_name >= pModElf->cbShStr) +- { +- Log(("RTLdrELF: %s: Shdr #%d: sh_name (%d) is beyond the end of the section header string table (%d)!\n", +- pszLogName, iShdr, pShdr->sh_name, pModElf->cbShStr)); NOREF(pszLogName); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Shdr #%d: sh_name (%d) is beyond the end of the section header string table (%d)!", ++ pszLogName, iShdr, pShdr->sh_name, pModElf->cbShStr); + + if (pShdr->sh_link >= pModElf->Ehdr.e_shnum) +- { +- Log(("RTLdrELF: %s: Shdr #%d: sh_link (%d) is beyond the end of the section table (%d)!\n", +- pszLogName, iShdr, pShdr->sh_link, pModElf->Ehdr.e_shnum)); NOREF(pszLogName); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Shdr #%d: sh_link (%d) is beyond the end of the section table (%d)!", ++ pszLogName, iShdr, pShdr->sh_link, pModElf->Ehdr.e_shnum); + + switch (pShdr->sh_type) + { + /** @todo find specs and check up which sh_info fields indicates section table entries */ + case 12301230: + if (pShdr->sh_info >= pModElf->Ehdr.e_shnum) +- { +- Log(("RTLdrELF: %s: Shdr #%d: sh_info (%d) is beyond the end of the section table (%d)!\n", +- pszLogName, iShdr, pShdr->sh_link, pModElf->Ehdr.e_shnum)); +- return VERR_BAD_EXE_FORMAT; +- } ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Shdr #%d: sh_info (%d) is beyond the end of the section table (%d)!", ++ pszLogName, iShdr, pShdr->sh_link, pModElf->Ehdr.e_shnum); + break; + + case SHT_NULL: +@@ -1840,18 +2071,740 @@ static int RTLDRELF_NAME(ValidateSection + uint64_t offEnd = pShdr->sh_offset + pShdr->sh_size; + if ( offEnd > cbRawImage + || offEnd < (uint64_t)pShdr->sh_offset) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Shdr #%d: sh_offset (" FMT_ELF_OFF ") + sh_size (" FMT_ELF_XWORD " = %RX64) is beyond the end of the file (%RX64)!", ++ pszLogName, iShdr, pShdr->sh_offset, pShdr->sh_size, offEnd, cbRawImage); ++ if (pShdr->sh_offset < sizeof(Elf_Ehdr)) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Shdr #%d: sh_offset (" FMT_ELF_OFF ") + sh_size (" FMT_ELF_XWORD ") is starting in the ELF header!", ++ pszLogName, iShdr, pShdr->sh_offset, pShdr->sh_size); ++ } ++ ++ return VINF_SUCCESS; ++} ++ ++ ++/** ++ * Process the section headers. ++ * ++ * @returns iprt status code. ++ * @param pModElf Pointer to the module structure. ++ * @param paShdrs The section headers. ++ * @param cbRawImage The size of the raw image. ++ * @param pszLogName The log name. ++ * @param pErrInfo Where to return extended error info. Optional. ++ */ ++static int RTLDRELF_NAME(ValidateAndProcessSectionHeaders)(PRTLDRMODELF pModElf, Elf_Shdr *paShdrs, uint64_t cbRawImage, ++ const char *pszLogName, PRTERRINFO pErrInfo) ++{ ++ Elf_Addr uNextAddr = 0; ++ for (unsigned i = 0; i < pModElf->Ehdr.e_shnum; i++) ++ { ++ int rc = RTLDRELF_NAME(ValidateSectionHeader)(pModElf, i, cbRawImage, pszLogName, pErrInfo); ++ if (RT_FAILURE(rc)) ++ return rc; ++ ++ /* ++ * We're looking for symbol tables. ++ */ ++ if (paShdrs[i].sh_type == SHT_SYMTAB) + { +- Log(("RTLdrELF: %s: Shdr #%d: sh_offset (" FMT_ELF_OFF ") + sh_size (" FMT_ELF_XWORD " = %RX64) is beyond the end of the file (%RX64)!\n", +- pszLogName, iShdr, pShdr->sh_offset, pShdr->sh_size, offEnd, cbRawImage)); +- return VERR_BAD_EXE_FORMAT; ++ if (pModElf->Rel.iSymSh != ~0U) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_LDRELF_MULTIPLE_SYMTABS, ++ "%s: Multiple symbol tabs! iSymSh=%d i=%d", pszLogName, pModElf->Rel.iSymSh, i); ++ pModElf->Rel.iSymSh = i; ++ pModElf->Rel.cSyms = (unsigned)(paShdrs[i].sh_size / sizeof(Elf_Sym)); ++ AssertBreakStmt(pModElf->Rel.cSyms == paShdrs[i].sh_size / sizeof(Elf_Sym), rc = VERR_IMAGE_TOO_BIG); ++ pModElf->Rel.iStrSh = paShdrs[i].sh_link; ++ pModElf->Rel.cbStr = (unsigned)paShdrs[pModElf->Rel.iStrSh].sh_size; ++ AssertBreakStmt(pModElf->Rel.cbStr == paShdrs[pModElf->Rel.iStrSh].sh_size, rc = VERR_IMAGE_TOO_BIG); ++ } ++ else if (paShdrs[i].sh_type == SHT_DYNSYM) ++ { ++ if (pModElf->Dyn.iSymSh != ~0U) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_LDRELF_MULTIPLE_SYMTABS, ++ "%s: Multiple dynamic symbol tabs! iSymSh=%d i=%d", pszLogName, pModElf->Dyn.iSymSh, i); ++ if (pModElf->Ehdr.e_type != ET_DYN && pModElf->Ehdr.e_type != ET_EXEC) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Unexpected SHT_DYNSYM (i=%d) for e_type=%d", pszLogName, i, pModElf->Ehdr.e_type); ++ pModElf->Dyn.iSymSh = i; ++ pModElf->Dyn.cSyms = (unsigned)(paShdrs[i].sh_size / sizeof(Elf_Sym)); ++ AssertBreakStmt(pModElf->Dyn.cSyms == paShdrs[i].sh_size / sizeof(Elf_Sym), rc = VERR_IMAGE_TOO_BIG); ++ pModElf->Dyn.iStrSh = paShdrs[i].sh_link; ++ pModElf->Dyn.cbStr = (unsigned)paShdrs[pModElf->Dyn.iStrSh].sh_size; ++ AssertBreakStmt(pModElf->Dyn.cbStr == paShdrs[pModElf->Dyn.iStrSh].sh_size, rc = VERR_IMAGE_TOO_BIG); + } +- if (pShdr->sh_offset < sizeof(Elf_Ehdr)) ++ /* ++ * We're also look for the dynamic section. ++ */ ++ else if (paShdrs[i].sh_type == SHT_DYNAMIC) ++ { ++ if (pModElf->iShDynamic != ~0U) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Multiple dynamic sections! iShDynamic=%d i=%d", ++ pszLogName, pModElf->iShDynamic, i); ++ if (pModElf->Ehdr.e_type != ET_DYN && pModElf->Ehdr.e_type != ET_EXEC) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Unexpected SHT_DYNAMIC (i=%d) for e_type=%d", pszLogName, i, pModElf->Ehdr.e_type); ++ if (paShdrs[i].sh_entsize != sizeof(Elf_Dyn)) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: SHT_DYNAMIC (i=%d) sh_entsize=" FMT_ELF_XWORD ", expected %#zx", ++ pszLogName, i, paShdrs[i].sh_entsize, sizeof(Elf_Dyn)); ++ pModElf->iShDynamic = i; ++ Elf_Xword const cDynamic = paShdrs[i].sh_size / sizeof(Elf_Dyn); ++ if (cDynamic > _64K || cDynamic < 2) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: SHT_DYNAMIC (i=%d) sh_size=" FMT_ELF_XWORD " is out of range (2..64K)", ++ pszLogName, i, paShdrs[i].sh_size); ++ pModElf->cDynamic = (unsigned)cDynamic; ++ } ++ ++ /* ++ * Special checks for the section string table. ++ */ ++ if (i == pModElf->Ehdr.e_shstrndx) + { +- Log(("RTLdrELF: %s: Shdr #%d: sh_offset (" FMT_ELF_OFF ") + sh_size (" FMT_ELF_XWORD ") is starting in the ELF header!\n", +- pszLogName, iShdr, pShdr->sh_offset, pShdr->sh_size)); +- return VERR_BAD_EXE_FORMAT; ++ if (paShdrs[i].sh_type != SHT_STRTAB) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Section header string table is not a SHT_STRTAB: %#x", ++ pszLogName, paShdrs[i].sh_type); ++ if (paShdrs[i].sh_size == 0) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Section header string table is empty", pszLogName); + } ++ ++ /* ++ * Kluge for the .data..percpu segment in 64-bit linux kernels. ++ */ ++ if (paShdrs[i].sh_flags & SHF_ALLOC) ++ { ++ if ( paShdrs[i].sh_addr == 0 ++ && paShdrs[i].sh_addr < uNextAddr) ++ { ++ Elf_Addr uAddr = RT_ALIGN_T(uNextAddr, paShdrs[i].sh_addralign, Elf_Addr); ++ Log(("RTLdrElf: Out of order section #%d; adjusting sh_addr from " FMT_ELF_ADDR " to " FMT_ELF_ADDR "\n", ++ i, paShdrs[i].sh_addr, uAddr)); ++ paShdrs[i].sh_addr = uAddr; ++ } ++ uNextAddr = paShdrs[i].sh_addr + paShdrs[i].sh_size; ++ } ++ } /* for each section header */ ++ ++ return VINF_SUCCESS; ++} ++ ++ ++/** ++ * Process the section headers. ++ * ++ * @returns iprt status code. ++ * @param pModElf Pointer to the module structure. ++ * @param paShdrs The section headers. ++ * @param cbRawImage The size of the raw image. ++ * @param pszLogName The log name. ++ * @param pErrInfo Where to return extended error info. Optional. ++ */ ++static int RTLDRELF_NAME(ValidateAndProcessDynamicInfo)(PRTLDRMODELF pModElf, uint64_t cbRawImage, uint32_t fFlags, ++ const char *pszLogName, PRTERRINFO pErrInfo) ++{ ++ /* ++ * Check preconditions. ++ */ ++ AssertReturn(pModElf->Ehdr.e_type == ET_DYN || pModElf->Ehdr.e_type == ET_EXEC, VERR_INTERNAL_ERROR_2); ++ if (pModElf->Ehdr.e_phnum <= 1 || pModElf->Ehdr.e_phnum >= _32K) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: e_phnum=%u is out of bounds (2..32K)", pszLogName, pModElf->Ehdr.e_phnum); ++ if (pModElf->iShDynamic == ~0U) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: no .dynamic section", pszLogName); ++ AssertReturn(pModElf->cDynamic > 1 && pModElf->cDynamic <= _64K, VERR_INTERNAL_ERROR_3); ++ ++ /* ASSUME that the sections are ordered by address. That simplifies ++ validation code further down. */ ++ AssertReturn(pModElf->Ehdr.e_shnum >= 2, VERR_INTERNAL_ERROR_4); ++ Elf_Shdr const *paShdrs = pModElf->paShdrs; ++ Elf_Addr uPrevEnd = paShdrs[1].sh_addr + paShdrs[1].sh_size; ++ for (unsigned i = 2; i < pModElf->Ehdr.e_shnum; i++) ++ if (paShdrs[i].sh_flags & SHF_ALLOC) ++ { ++ if (uPrevEnd > paShdrs[i].sh_addr) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: section %u is out of order: uPrevEnd=" FMT_ELF_ADDR " sh_addr=" FMT_ELF_ADDR, ++ pszLogName, i, uPrevEnd, paShdrs[i].sh_addr); ++ uPrevEnd = paShdrs[i].sh_addr + paShdrs[i].sh_size; ++ } ++ ++ /* Must have string and symbol tables. */ ++ if (pModElf->Dyn.iStrSh == ~0U) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: No dynamic string table section", pszLogName); ++ if (pModElf->Dyn.iSymSh == ~0U) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: No dynamic symbol table section", pszLogName); ++ ++ /* ++ * Load the program headers. ++ */ ++ size_t const cbPhdrs = sizeof(pModElf->paPhdrs[0]) * pModElf->Ehdr.e_phnum; ++ Elf_Phdr *paPhdrs = (Elf_Phdr *)RTMemAllocZ(cbPhdrs); ++ pModElf->paPhdrs = paPhdrs; ++ AssertReturn(paPhdrs, VERR_NO_MEMORY); ++ ++ int rc = pModElf->Core.pReader->pfnRead(pModElf->Core.pReader, paPhdrs, cbPhdrs, pModElf->Ehdr.e_phoff); ++ if (RT_FAILURE(rc)) ++ return RTERRINFO_LOG_SET_F(pErrInfo, rc, "%s: pfnRead(,,%#zx, " FMT_ELF_OFF ") -> %Rrc", ++ pszLogName, cbPhdrs, pModElf->Ehdr.e_phoff, rc); ++ ++ /* ++ * Validate them. ++ */ ++ unsigned cbPage = _4K; /** @todo generalize architecture specific stuff using its own code template header. */ ++ switch (pModElf->Core.enmArch) ++ { ++ case RTLDRARCH_AMD64: ++ case RTLDRARCH_X86_32: ++ break; ++ default: ++ AssertFailedBreak(/** @todo page size for got.plt hacks */); + } ++ unsigned iLoad = 0; ++ unsigned iLoadShdr = 1; /* ASSUMES ordered (checked above). */ ++ unsigned cDynamic = 0; ++ Elf_Addr cbImage = 0; ++ Elf_Addr uLinkAddress = ~(Elf_Addr)0; ++ for (unsigned i = 0; i < pModElf->Ehdr.e_phnum; i++) ++ { ++ const Elf_Phdr * const pPhdr = &paPhdrs[i]; ++ Log3(("RTLdrELF: Program Header #%d:\n" ++ "RTLdrELF: p_type: " FMT_ELF_WORD " (%s)\n" ++ "RTLdrELF: p_flags: " FMT_ELF_WORD "\n" ++ "RTLdrELF: p_offset: " FMT_ELF_OFF "\n" ++ "RTLdrELF: p_vaddr: " FMT_ELF_ADDR "\n" ++ "RTLdrELF: p_paddr: " FMT_ELF_ADDR "\n" ++ "RTLdrELF: p_filesz: " FMT_ELF_XWORD "\n" ++ "RTLdrELF: p_memsz: " FMT_ELF_XWORD "\n" ++ "RTLdrELF: p_align: " FMT_ELF_XWORD "\n", ++ i, ++ pPhdr->p_type, rtldrElfGetPhdrType(pPhdr->p_type), pPhdr->p_flags, pPhdr->p_offset, ++ pPhdr->p_vaddr, pPhdr->p_paddr, pPhdr->p_filesz, pPhdr->p_memsz, pPhdr->p_align)); ++ ++ if (pPhdr->p_type == DT_NULL) ++ continue; ++ ++ if ( pPhdr->p_filesz != 0 ++ && ( pPhdr->p_offset >= cbRawImage ++ || pPhdr->p_filesz > cbRawImage ++ || pPhdr->p_offset + pPhdr->p_filesz > cbRawImage)) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Prog Hdr #%u: bogus p_offset=" FMT_ELF_OFF " & p_filesz=" FMT_ELF_XWORD " (file size %#RX64)", ++ pszLogName, i, pPhdr->p_offset, pPhdr->p_filesz, cbRawImage); ++ ++ if (pPhdr->p_flags & ~(Elf64_Word)(PF_X | PF_R | PF_W)) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Prog Hdr #%u: bogus p_flags=" FMT_ELF_WORD, ++ pszLogName, i, pPhdr->p_flags); ++ ++ if (!RT_IS_POWER_OF_TWO(pPhdr->p_align)) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Prog Hdr #%u: bogus p_align=" FMT_ELF_XWORD, ++ pszLogName, i, pPhdr->p_align); ++ ++ if ( pPhdr->p_align > 1 ++ && pPhdr->p_memsz > 0 ++ && pPhdr->p_filesz > 0 ++ && (pPhdr->p_offset & (pPhdr->p_align - 1)) != (pPhdr->p_vaddr & (pPhdr->p_align - 1))) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Prog Hdr #%u: misaligned p_offset=" FMT_ELF_OFF " p_vaddr=" FMT_ELF_ADDR " p_align=" FMT_ELF_XWORD, ++ pszLogName, i, pPhdr->p_offset, pPhdr->p_vaddr, pPhdr->p_align); ++ ++ /* Do some type specfic checks: */ ++ switch (pPhdr->p_type) ++ { ++ case PT_LOAD: ++ { ++ if (pPhdr->p_memsz < pPhdr->p_filesz) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Prog Hdr #%u/LOAD#%u: bogus p_memsz=" FMT_ELF_XWORD " or p_filesz=" FMT_ELF_XWORD, ++ pszLogName, i, iLoad, pPhdr->p_memsz, pPhdr->p_filesz); ++ cbImage = pPhdr->p_vaddr + pPhdr->p_memsz; ++ if (iLoad == 0) ++ uLinkAddress = pPhdr->p_vaddr; ++ ++ /* Find the corresponding sections, checking their addresses and ++ file offsets since the rest of the code is still section based ++ rather than using program headers as it should... */ ++ Elf_Off off = pPhdr->p_offset; ++ Elf_Addr uAddr = pPhdr->p_vaddr; ++ Elf_Xword cbMem = pPhdr->p_memsz; ++ Elf_Xword cbFile = pPhdr->p_filesz; ++ while (cbMem > 0) ++ { ++ if (iLoadShdr < pModElf->Ehdr.e_shnum) ++ { /* likely */ } ++ else if (iLoadShdr == pModElf->Ehdr.e_shnum) ++ { ++ /** @todo anything else to check here? */ ++ iLoadShdr++; ++ break; ++ } ++ else ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Prog Hdr #%u/LOAD#%u: Out of sections at " FMT_ELF_ADDR " LB " FMT_ELF_XWORD, ++ pszLogName, i, iLoad, uAddr, cbMem); ++ if (!(paShdrs[iLoadShdr].sh_flags & SHF_ALLOC)) ++ { ++ if ( paShdrs[iLoadShdr].sh_type != SHT_NOBITS ++ && paShdrs[iLoadShdr].sh_size > 0 ++ && off < paShdrs[iLoadShdr].sh_offset + paShdrs[iLoadShdr].sh_size ++ && paShdrs[iLoadShdr].sh_offset < off + cbMem) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Prog Hdr #%u/LOAD#%u: Overlaps with !SHF_ALLOC section at " FMT_ELF_OFF " LB " FMT_ELF_XWORD, ++ pszLogName, i, iLoad, paShdrs[iLoadShdr].sh_offset, paShdrs[iLoadShdr].sh_size); ++ pModElf->paShdrExtras[iLoadShdr].idxPhdr = UINT16_MAX; ++ iLoadShdr++; ++ continue; ++ } ++ ++ if (uAddr != paShdrs[iLoadShdr].sh_addr) ++ { ++ /* Before the first section we expect headers to be loaded, so ++ that the file is simply mapped from file offset zero. */ ++ if ( iLoadShdr == 1 ++ && iLoad == 0 ++ && paShdrs[1].sh_addr == paShdrs[1].sh_offset ++ && cbFile >= paShdrs[1].sh_offset ++ && cbMem >= paShdrs[1].sh_offset) ++ { ++ /* Modify paShdrs[0] to describe the gap. ".elf.headers" */ ++ pModElf->iFirstSect = 0; ++ pModElf->paShdrs[0].sh_name = 0; ++ pModElf->paShdrs[0].sh_type = SHT_PROGBITS; ++ pModElf->paShdrs[0].sh_flags = SHF_ALLOC ++ | (pPhdr->p_flags & PF_W ? SHF_WRITE : 0) ++ | (pPhdr->p_flags & PF_X ? SHF_EXECINSTR : 0); ++ pModElf->paShdrs[0].sh_addr = uAddr; ++ pModElf->paShdrs[0].sh_offset = off; ++ pModElf->paShdrs[0].sh_size = paShdrs[1].sh_offset; ++ pModElf->paShdrs[0].sh_link = 0; ++ pModElf->paShdrs[0].sh_info = 0; ++ pModElf->paShdrs[0].sh_addralign = pPhdr->p_align; ++ pModElf->paShdrs[0].sh_entsize = 0; ++ *(Elf_Shdr *)pModElf->paOrgShdrs = pModElf->paShdrs[0]; /* (necessary for segment enumeration) */ ++ ++ uAddr += paShdrs[1].sh_offset; ++ cbMem -= paShdrs[1].sh_offset; ++ cbFile -= paShdrs[1].sh_offset; ++ off = paShdrs[1].sh_offset; ++ } ++ /* Alignment padding? Allow up to a page size. */ ++ else if ( paShdrs[iLoadShdr].sh_addr > uAddr ++ && paShdrs[iLoadShdr].sh_addr - uAddr ++ < RT_MAX(paShdrs[iLoadShdr].sh_addralign, cbPage /*got.plt hack*/)) ++ { ++ Elf_Xword cbAlignPadding = paShdrs[iLoadShdr].sh_addr - uAddr; ++ if (cbAlignPadding >= cbMem) ++ break; ++ cbMem -= cbAlignPadding; ++ uAddr += cbAlignPadding; ++ if (cbFile > cbAlignPadding) ++ { ++ off += cbAlignPadding; ++ cbFile -= cbAlignPadding; ++ } ++ else ++ { ++ off += cbFile; ++ cbFile = 0; ++ } ++ } ++ } ++ ++ if ( uAddr == paShdrs[iLoadShdr].sh_addr ++ && cbMem >= paShdrs[iLoadShdr].sh_size ++ && ( paShdrs[iLoadShdr].sh_type != SHT_NOBITS ++ ? off == paShdrs[iLoadShdr].sh_offset ++ && cbFile >= paShdrs[iLoadShdr].sh_size /* this might be too strict... */ ++ : cbFile == 0) ) ++ { ++ if (paShdrs[iLoadShdr].sh_type != SHT_NOBITS) ++ { ++ off += paShdrs[iLoadShdr].sh_size; ++ cbFile -= paShdrs[iLoadShdr].sh_size; ++ } ++ uAddr += paShdrs[iLoadShdr].sh_size; ++ cbMem -= paShdrs[iLoadShdr].sh_size; ++ } ++ else ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Prog Hdr #%u/LOAD#%u: Mismatch at " FMT_ELF_ADDR " LB " FMT_ELF_XWORD " (file " FMT_ELF_OFF " LB " FMT_ELF_XWORD ") with section #%u " FMT_ELF_ADDR " LB " FMT_ELF_XWORD " (file " FMT_ELF_OFF " sh_type=" FMT_ELF_WORD ")", ++ pszLogName, i, iLoad, uAddr, cbMem, off, cbFile, ++ iLoadShdr, paShdrs[iLoadShdr].sh_addr, paShdrs[iLoadShdr].sh_size, ++ paShdrs[iLoadShdr].sh_offset, paShdrs[iLoadShdr].sh_type); ++ ++ pModElf->paShdrExtras[iLoadShdr].idxPhdr = iLoad; ++ iLoadShdr++; ++ } /* section loop */ ++ ++ iLoad++; ++ break; ++ } ++ ++ case PT_DYNAMIC: ++ { ++ const Elf_Shdr *pShdr = &pModElf->paShdrs[pModElf->iShDynamic]; ++ if (pPhdr->p_offset != pShdr->sh_offset) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Prog Hdr #%u/DYNAMIC: p_offset=" FMT_ELF_OFF " expected " FMT_ELF_OFF, ++ pszLogName, i, pPhdr->p_offset, pShdr->sh_offset); ++ if (RT_MAX(pPhdr->p_memsz, pPhdr->p_filesz) != pShdr->sh_size) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: Prog Hdr #%u/DYNAMIC: expected " FMT_ELF_XWORD " for RT_MAX(p_memsz=" FMT_ELF_XWORD ", p_filesz=" FMT_ELF_XWORD ")", ++ pszLogName, i, pShdr->sh_size, pPhdr->p_memsz, pPhdr->p_filesz); ++ cDynamic++; ++ break; ++ } ++ } ++ } ++ ++ if (iLoad == 0) ++ return RTERRINFO_LOG_SET_F(pErrInfo, rc, "%s: No PT_LOAD program headers", pszLogName); ++ if (cDynamic != 1) ++ return RTERRINFO_LOG_SET_F(pErrInfo, rc, "%s: No program header for the DYNAMIC section", pszLogName); ++ ++ cbImage -= uLinkAddress; ++ pModElf->cbImage = (uint64_t)cbImage; ++ pModElf->LinkAddress = uLinkAddress; ++ AssertReturn(pModElf->cbImage == cbImage, VERR_INTERNAL_ERROR_5); ++ Log3(("RTLdrELF: LinkAddress=" FMT_ELF_ADDR " cbImage=" FMT_ELF_ADDR " (from PT_LOAD)\n", uLinkAddress, cbImage)); ++ ++ for (; iLoadShdr < pModElf->Ehdr.e_shnum; iLoadShdr++) ++ if ( !(paShdrs[iLoadShdr].sh_flags & SHF_ALLOC) ++ || paShdrs[iLoadShdr].sh_size == 0) ++ pModElf->paShdrExtras[iLoadShdr].idxPhdr = UINT16_MAX; ++ else ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: No PT_LOAD for section #%u " FMT_ELF_ADDR " LB " FMT_ELF_XWORD " (file " FMT_ELF_OFF " sh_type=" FMT_ELF_WORD ")", ++ pszLogName, iLoadShdr, paShdrs[iLoadShdr].sh_addr, paShdrs[iLoadShdr].sh_size, ++ paShdrs[iLoadShdr].sh_offset, paShdrs[iLoadShdr].sh_type); ++ ++ /* ++ * Load and validate the dynamic table. We have got / will get most of the ++ * info we need from the section table, so we must make sure this matches up. ++ */ ++ Log3(("RTLdrELF: Dynamic section - %u entries\n", pModElf->cDynamic)); ++ size_t const cbDynamic = pModElf->cDynamic * sizeof(pModElf->paDynamic[0]); ++ Elf_Dyn * const paDynamic = (Elf_Dyn *)RTMemAlloc(cbDynamic); ++ AssertReturn(paDynamic, VERR_NO_MEMORY); ++ pModElf->paDynamic = paDynamic; ++ ++ rc = pModElf->Core.pReader->pfnRead(pModElf->Core.pReader, paDynamic, cbDynamic, paShdrs[pModElf->iShDynamic].sh_offset); ++ if (RT_FAILURE(rc)) ++ return RTERRINFO_LOG_SET_F(pErrInfo, rc, "%s: pfnRead(,,%#zx, " FMT_ELF_OFF ") -> %Rrc", ++ pszLogName, cbDynamic, paShdrs[pModElf->iShDynamic].sh_offset, rc); ++ ++ for (uint32_t i = 0; i < pModElf->cDynamic; i++) ++ { ++#define LOG_VALIDATE_PTR_RET(szName) do { \ ++ Log3(("RTLdrELF: DT[%u]: %16s " FMT_ELF_ADDR "\n", i, szName, paDynamic[i].d_un.d_ptr)); \ ++ if ((uint64_t)paDynamic[i].d_un.d_ptr - uLinkAddress < cbImage) { /* likely */ } \ ++ else return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT[%u]/" szName ": Invalid address " FMT_ELF_ADDR " (valid range: " FMT_ELF_ADDR " LB " FMT_ELF_ADDR ")", \ ++ pszLogName, i, paDynamic[i].d_un.d_ptr, uLinkAddress, cbImage); \ ++ } while (0) ++#define LOG_VALIDATE_PTR_VAL_RET(szName, uExpected) do { \ ++ Log3(("RTLdrELF: DT[%u]: %16s " FMT_ELF_ADDR "\n", i, szName, (uint64_t)paDynamic[i].d_un.d_ptr)); \ ++ if (paDynamic[i].d_un.d_ptr == (Elf_Addr)(uExpected)) { /* likely */ } \ ++ else return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT[%u]/" szName ": " FMT_ELF_ADDR ", expected " FMT_ELF_ADDR, \ ++ pszLogName, i, paDynamic[i].d_un.d_ptr, (Elf_Addr)(uExpected)); \ ++ } while (0) ++#define LOG_VALIDATE_STR_RET(szName) do { \ ++ Log3(("RTLdrELF: DT[%u]: %16s %#RX64\n", i, szName, (uint64_t)paDynamic[i].d_un.d_val)); \ ++ if ((uint64_t)paDynamic[i].d_un.d_val < pModElf->Dyn.cbStr) { /* likely */ } \ ++ else return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT[%u]/" szName ": Invalid string table offset %#RX64 (max %#x)", \ ++ pszLogName, i, (uint64_t)paDynamic[i].d_un.d_val, pModElf->Dyn.cbStr); \ ++ } while (0) ++#define LOG_VALIDATE_VAL_RET(szName, uExpected) do { \ ++ Log3(("RTLdrELF: DT[%u]: %16s %#RX64\n", i, szName, (uint64_t)paDynamic[i].d_un.d_val)); \ ++ if ((uint64_t)paDynamic[i].d_un.d_val == (uint64_t)(uExpected)) { /* likely */ } \ ++ else return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT[%u]/" szName ": %#RX64, expected %#RX64", \ ++ pszLogName, i, (uint64_t)paDynamic[i].d_un.d_val, (uint64_t)(uExpected)); \ ++ } while (0) ++#define SET_RELOC_TYPE_RET(a_szName, a_uType) do { \ ++ if (pModElf->DynInfo.uRelocType == 0 || pModElf->DynInfo.uRelocType == (a_uType)) \ ++ pModElf->DynInfo.uRelocType = (a_uType); \ ++ else return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT[%u]/" a_szName ": Mixing DT_RELA and DT_REL", pszLogName, i); \ ++ } while (0) ++#define SET_INFO_FIELD_RET(a_szName, a_Field, a_Value, a_UnsetValue, a_szFmt) do { \ ++ if ((a_Field) == (a_UnsetValue) && (a_Value) != (a_UnsetValue)) \ ++ (a_Field) = (a_Value); /* likely */ \ ++ else if ((a_Field) != (a_UnsetValue)) \ ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT[%u]/" a_szName ": Multiple entries (first value " a_szFmt ", second " a_szFmt ")", pszLogName, i, (a_Field), (a_Value)); \ ++ else if ((a_Value) != (a_UnsetValue)) \ ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT[%u]/" a_szName ": Unexpected value " a_szFmt, pszLogName, i, (a_Value)); \ ++ } while (0) ++#define FIND_MATCHING_SECTION_RET(a_szName, a_ExtraMatchExpr, a_idxShFieldToSet) do { \ ++ unsigned iSh; \ ++ for (iSh = 1; iSh < pModElf->Ehdr.e_shnum; iSh++) \ ++ if ( paShdrs[iSh].sh_addr == paDynamic[i].d_un.d_ptr \ ++ && (a_ExtraMatchExpr)) \ ++ { \ ++ (a_idxShFieldToSet) = iSh; \ ++ if (pModElf->paShdrExtras[iSh].idxDt != UINT16_MAX) \ ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, \ ++ "%s: DT[%u]/" a_szName ": section #%u (" FMT_ELF_ADDR ") already referenced by DT[%u]", \ ++ pszLogName, i, iSh, paShdrs[iSh].sh_addr, pModElf->paShdrExtras[iSh].idxDt); \ ++ pModElf->paShdrExtras[iSh].idxDt = i; \ ++ pModElf->paShdrExtras[iSh].uDtTag = (uint32_t)paDynamic[i].d_tag; \ ++ break; \ ++ } \ ++ if (iSh < pModElf->Ehdr.e_shnum) { /* likely */ } \ ++ else return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT[%u]/" a_szName ": No matching section for " FMT_ELF_ADDR, pszLogName, i, paDynamic[i].d_un.d_ptr); \ ++ } while (0) ++#define ONLY_FOR_DEBUG_OR_VALIDATION_RET(a_szName) do { \ ++ if (fFlags & (RTLDR_O_FOR_DEBUG | RTLDR_O_FOR_VALIDATION)) { /* likely */ } \ ++ else return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT[%u]/" a_szName ": Not supported (" FMT_ELF_ADDR ")", pszLogName, i, paDynamic[i].d_un.d_ptr); \ ++ } while (0) ++#define LOG_NON_VALUE_ENTRY(a_szName) Log3(("RTLdrELF: DT[%u]: %16s (%#RX64)\n", i, a_szName, (uint64_t)paDynamic[i].d_un.d_val)) ++ ++ switch (paDynamic[i].d_tag) ++ { ++ case DT_NULL: ++ LOG_NON_VALUE_ENTRY("DT_NULL"); ++ for (unsigned iNull = i + 1; iNull < pModElf->cDynamic; iNull++) ++ if (paDynamic[i].d_tag == DT_NULL) /* Not technically a bug, but let's try being extremely strict for now */ ++ LOG_NON_VALUE_ENTRY("DT_NULL"); ++ else if (!(fFlags & (RTLDR_O_FOR_DEBUG | RTLDR_O_FOR_VALIDATION))) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: DT[%u]/DT_NULL: Dynamic section isn't zero padded (extra #%u of #%u)", ++ pszLogName, i, iNull - i, pModElf->cDynamic - i); ++ i = pModElf->cDynamic; ++ break; ++ case DT_NEEDED: ++ LOG_VALIDATE_STR_RET("DT_NEEDED"); ++ break; ++ case DT_PLTRELSZ: ++ Log3(("RTLdrELF: DT[%u]: %16s %#RX64 bytes\n", i, "DT_PLTRELSZ", (uint64_t)paDynamic[i].d_un.d_val)); ++ SET_INFO_FIELD_RET("DT_PLTRELSZ", pModElf->DynInfo.cbJmpRelocs, (Elf_Xword)paDynamic[i].d_un.d_val, 0, FMT_ELF_XWORD); ++ break; ++ case DT_PLTGOT: ++ LOG_VALIDATE_PTR_RET("DT_PLTGOT"); ++ break; ++ case DT_HASH: ++ LOG_VALIDATE_PTR_RET("DT_HASH"); ++ break; ++ case DT_STRTAB: ++ LOG_VALIDATE_PTR_VAL_RET("DT_STRTAB", paShdrs[pModElf->Dyn.iStrSh].sh_addr); ++ pModElf->paShdrExtras[pModElf->Dyn.iStrSh].idxDt = i; ++ pModElf->paShdrExtras[pModElf->Dyn.iSymSh].uDtTag = DT_STRTAB; ++ break; ++ case DT_SYMTAB: ++ LOG_VALIDATE_PTR_VAL_RET("DT_SYMTAB", paShdrs[pModElf->Dyn.iSymSh].sh_addr); ++ pModElf->paShdrExtras[pModElf->Dyn.iSymSh].idxDt = i; ++ pModElf->paShdrExtras[pModElf->Dyn.iSymSh].uDtTag = DT_SYMTAB; ++ break; ++ case DT_RELA: ++ LOG_VALIDATE_PTR_RET("DT_RELA"); ++ SET_RELOC_TYPE_RET("DT_RELA", DT_RELA); ++ SET_INFO_FIELD_RET("DT_RELA", pModElf->DynInfo.uPtrRelocs, paDynamic[i].d_un.d_ptr, ~(Elf_Addr)0, FMT_ELF_ADDR); ++ FIND_MATCHING_SECTION_RET("DT_RELA", paShdrs[iSh].sh_type == SHT_RELA, pModElf->DynInfo.idxShRelocs); ++ break; ++ case DT_RELASZ: ++ Log3(("RTLdrELF: DT[%u]: %16s %#RX64 bytes\n", i, "DT_RELASZ", (uint64_t)paDynamic[i].d_un.d_val)); ++ SET_RELOC_TYPE_RET("DT_RELASZ", DT_RELA); ++ SET_INFO_FIELD_RET("DT_RELASZ", pModElf->DynInfo.cbRelocs, (Elf_Xword)paDynamic[i].d_un.d_val, 0, FMT_ELF_XWORD); ++ break; ++ case DT_RELAENT: ++ LOG_VALIDATE_VAL_RET("DT_RELAENT", sizeof(Elf_Rela)); ++ SET_RELOC_TYPE_RET("DT_RELAENT", DT_RELA); ++ SET_INFO_FIELD_RET("DT_RELAENT", pModElf->DynInfo.cbRelocEntry, (unsigned)sizeof(Elf_Rela), 0, "%u"); ++ break; ++ case DT_STRSZ: ++ LOG_VALIDATE_VAL_RET("DT_STRSZ", pModElf->Dyn.cbStr); ++ break; ++ case DT_SYMENT: ++ LOG_VALIDATE_VAL_RET("DT_SYMENT", sizeof(Elf_Sym)); ++ break; ++ case DT_INIT: ++ LOG_VALIDATE_PTR_RET("DT_INIT"); ++ ONLY_FOR_DEBUG_OR_VALIDATION_RET("DT_INIT"); ++ break; ++ case DT_FINI: ++ LOG_VALIDATE_PTR_RET("DT_FINI"); ++ ONLY_FOR_DEBUG_OR_VALIDATION_RET("DT_FINI"); ++ break; ++ case DT_SONAME: ++ LOG_VALIDATE_STR_RET("DT_SONAME"); ++ break; ++ case DT_RPATH: ++ LOG_VALIDATE_STR_RET("DT_RPATH"); ++ break; ++ case DT_SYMBOLIC: ++ LOG_NON_VALUE_ENTRY("DT_SYMBOLIC"); ++ break; ++ case DT_REL: ++ LOG_VALIDATE_PTR_RET("DT_REL"); ++ SET_RELOC_TYPE_RET("DT_REL", DT_REL); ++ SET_INFO_FIELD_RET("DT_REL", pModElf->DynInfo.uPtrRelocs, paDynamic[i].d_un.d_ptr, ~(Elf_Addr)0, FMT_ELF_ADDR); ++ FIND_MATCHING_SECTION_RET("DT_REL", paShdrs[iSh].sh_type == SHT_REL, pModElf->DynInfo.idxShRelocs); ++ break; ++ case DT_RELSZ: ++ Log3(("RTLdrELF: DT[%u]: %16s %#RX64 bytes\n", i, "DT_RELSZ", (uint64_t)paDynamic[i].d_un.d_val)); ++ SET_RELOC_TYPE_RET("DT_RELSZ", DT_REL); ++ SET_INFO_FIELD_RET("DT_RELSZ", pModElf->DynInfo.cbRelocs, (Elf_Xword)paDynamic[i].d_un.d_val, 0, FMT_ELF_XWORD); ++ break; ++ case DT_RELENT: ++ LOG_VALIDATE_VAL_RET("DT_RELENT", sizeof(Elf_Rel)); ++ SET_RELOC_TYPE_RET("DT_RELENT", DT_REL); ++ SET_INFO_FIELD_RET("DT_RELENT", pModElf->DynInfo.cbRelocEntry, (unsigned)sizeof(Elf_Rel), 0, "%u"); ++ break; ++ case DT_PLTREL: ++ if (paDynamic[i].d_un.d_val != DT_RELA && paDynamic[i].d_un.d_val != DT_REL) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT[%u]/DT_PLTREL: Invalid value %#RX64", ++ pszLogName, i, (uint64_t)paDynamic[i].d_un.d_val); ++ Log3(("RTLdrELF: DT[%u]: %16s DT_REL%s\n", i, "DT_PLTREL", paDynamic[i].d_un.d_val == DT_RELA ? "A" : "")); ++ SET_INFO_FIELD_RET("DT_PLTREL", pModElf->DynInfo.uJmpRelocType, (unsigned)paDynamic[i].d_un.d_val, 0, "%u"); ++ break; ++ case DT_DEBUG: ++ LOG_VALIDATE_PTR_RET("DT_DEBUG"); ++ break; ++ case DT_TEXTREL: ++ LOG_NON_VALUE_ENTRY("DT_TEXTREL"); ++ break; ++ case DT_JMPREL: ++ LOG_VALIDATE_PTR_RET("DT_JMPREL"); ++ SET_INFO_FIELD_RET("DT_JMPREL", pModElf->DynInfo.uPtrJmpRelocs, paDynamic[i].d_un.d_ptr, ~(Elf_Addr)0, FMT_ELF_ADDR); ++ FIND_MATCHING_SECTION_RET("DT_JMPREL", 1, pModElf->DynInfo.idxShJmpRelocs); ++ break; ++ case DT_BIND_NOW: ++ LOG_NON_VALUE_ENTRY("DT_BIND_NOW"); ++ break; ++ case DT_INIT_ARRAY: ++ LOG_VALIDATE_PTR_RET("DT_INIT_ARRAY"); ++ ONLY_FOR_DEBUG_OR_VALIDATION_RET("DT_INIT_ARRAY"); ++ break; ++ case DT_FINI_ARRAY: ++ LOG_VALIDATE_PTR_RET("DT_FINI_ARRAY"); ++ ONLY_FOR_DEBUG_OR_VALIDATION_RET("DT_FINI_ARRAY"); ++ break; ++ case DT_INIT_ARRAYSZ: ++ Log3(("RTLdrELF: DT[%u]: %16s %#RX64 bytes\n", i, "DT_INIT_ARRAYSZ", (uint64_t)paDynamic[i].d_un.d_val)); ++ ONLY_FOR_DEBUG_OR_VALIDATION_RET("DT_INIT_ARRAYSZ"); ++ break; ++ case DT_FINI_ARRAYSZ: ++ Log3(("RTLdrELF: DT[%u]: %16s %#RX64 bytes\n", i, "DT_FINI_ARRAYSZ", (uint64_t)paDynamic[i].d_un.d_val)); ++ ONLY_FOR_DEBUG_OR_VALIDATION_RET("DT_FINI_ARRAYSZ"); ++ break; ++ case DT_RUNPATH: ++ LOG_VALIDATE_STR_RET("DT_RUNPATH"); ++ break; ++ case DT_FLAGS: ++ Log3(("RTLdrELF: DT[%u]: %16s %#RX64\n", i, "DT_FLAGS", (uint64_t)paDynamic[i].d_un.d_val)); ++ break; ++ case DT_PREINIT_ARRAY: ++ LOG_VALIDATE_PTR_RET("DT_PREINIT_ARRAY"); ++ ONLY_FOR_DEBUG_OR_VALIDATION_RET("DT_PREINIT_ARRAY"); ++ break; ++ case DT_PREINIT_ARRAYSZ: ++ Log3(("RTLdrELF: DT[%u]: %16s %#RX64 bytes\n", i, "DT_PREINIT_ARRAYSZ", (uint64_t)paDynamic[i].d_un.d_val)); ++ ONLY_FOR_DEBUG_OR_VALIDATION_RET("DT_PREINIT_ARRAYSZ"); ++ break; ++ default: ++ if ( paDynamic[i].d_un.d_val < DT_ENCODING ++ || (paDynamic[i].d_un.d_val & 1)) ++ Log3(("RTLdrELF: DT[%u]: %#010RX64 %#RX64%s\n", i, (uint64_t)paDynamic[i].d_tag, ++ (uint64_t)paDynamic[i].d_un.d_val, paDynamic[i].d_un.d_val >= DT_ENCODING ? " (val)" : "")); ++ else ++ { ++ Log3(("RTLdrELF: DT[%u]: %#010RX64 " FMT_ELF_ADDR " (addr)\n", ++ i, (uint64_t)paDynamic[i].d_tag, paDynamic[i].d_un.d_ptr)); ++ if ((uint64_t)paDynamic[i].d_un.d_ptr - uLinkAddress >= cbImage) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: DT[%u]/%#RX64: Invalid address " FMT_ELF_ADDR " (valid range: " FMT_ELF_ADDR " LB " FMT_ELF_ADDR ")", ++ pszLogName, i, (uint64_t)paDynamic[i].d_tag, ++ paDynamic[i].d_un.d_ptr, uLinkAddress, cbImage); ++ } ++ break; ++ } ++#undef LOG_VALIDATE_VAL_RET ++#undef LOG_VALIDATE_STR_RET ++#undef LOG_VALIDATE_PTR_VAL_RET ++#undef LOG_VALIDATE_PTR_RET ++#undef SET_RELOC_TYPE_RET ++#undef SET_INFO_FIELD_RET ++#undef FIND_MATCHING_SECTION_RET ++#undef ONLY_FOR_DEBUG_OR_VALIDATION_RET ++ } ++ ++ /* ++ * Validate the relocation information we've gathered. ++ */ ++ Elf_Word uShTypeArch = SHT_RELA; /** @todo generalize architecture specific stuff using its own code template header. */ ++ switch (pModElf->Core.enmArch) ++ { ++ case RTLDRARCH_AMD64: ++ break; ++ case RTLDRARCH_X86_32: ++ uShTypeArch = SHT_REL; ++ break; ++ default: ++ AssertFailedBreak(/** @todo page size for got.plt hacks */); ++ ++ } ++ ++ if (pModElf->DynInfo.uRelocType != 0) ++ { ++ const char * const pszModifier = pModElf->DynInfo.uRelocType == DT_RELA ? "A" : ""; ++ if (pModElf->DynInfo.uPtrRelocs == ~(Elf_Addr)0) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Missing DT_REL%s", pszLogName, pszModifier); ++ if (pModElf->DynInfo.cbRelocs == 0) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Missing DT_REL%sSZ", pszLogName, pszModifier); ++ if (pModElf->DynInfo.cbRelocEntry == 0) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Missing DT_REL%sENT", pszLogName, pszModifier); ++ Elf_Shdr const *pShdrRelocs = &paShdrs[pModElf->DynInfo.idxShRelocs]; ++ Elf_Word const uShType = pModElf->DynInfo.uJmpRelocType == DT_RELA ? SHT_RELA : SHT_REL; ++ if (pShdrRelocs->sh_type != uShType) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT_REL%s* does not match section type: %u vs %u", ++ pszLogName, pszModifier, pShdrRelocs->sh_type, uShType); ++ if (pShdrRelocs->sh_size != pModElf->DynInfo.cbRelocs) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT_REL%sSZ does not match section size: %u vs %u", ++ pszLogName, pszModifier, pShdrRelocs->sh_size, pModElf->DynInfo.cbRelocs); ++ if (uShType != uShTypeArch) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT_REL%s* does not match architecture: %u, arch wants %u", ++ pszLogName, pszModifier, uShType, uShTypeArch); ++ } ++ ++ if ( pModElf->DynInfo.uPtrJmpRelocs != ~(Elf_Addr)0 ++ || pModElf->DynInfo.cbJmpRelocs != 0 ++ || pModElf->DynInfo.uJmpRelocType != 0) ++ { ++ if (pModElf->DynInfo.uPtrJmpRelocs == ~(Elf_Addr)0) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Missing DT_JMPREL", pszLogName); ++ if (pModElf->DynInfo.cbJmpRelocs == 0) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Missing DT_PLTRELSZ", pszLogName); ++ if (pModElf->DynInfo.uJmpRelocType == 0) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: Missing DT_PLTREL", pszLogName); ++ Elf_Shdr const *pShdrRelocs = &paShdrs[pModElf->DynInfo.idxShJmpRelocs]; ++ Elf_Word const uShType = pModElf->DynInfo.uJmpRelocType == DT_RELA ? SHT_RELA : SHT_REL; ++ if (pShdrRelocs->sh_type != uShType) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT_PLTREL does not match section type: %u vs %u", ++ pszLogName, pShdrRelocs->sh_type, uShType); ++ if (pShdrRelocs->sh_size != pModElf->DynInfo.cbJmpRelocs) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT_PLTRELSZ does not match section size: %u vs %u", ++ pszLogName, pShdrRelocs->sh_size, pModElf->DynInfo.cbJmpRelocs); ++ if (uShType != uShTypeArch) ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, "%s: DT_PLTREL does not match architecture: %u, arch wants %u", ++ pszLogName, uShType, uShTypeArch); ++ } ++ ++ /* ++ * Check that there aren't any other relocations hiding in the section table. ++ */ ++ for (uint32_t i = 1; i < pModElf->Ehdr.e_shnum; i++) ++ if ( (paShdrs[i].sh_type == SHT_REL || paShdrs[i].sh_type == SHT_RELA) ++ && pModElf->paShdrExtras[i].uDtTag != DT_REL ++ && pModElf->paShdrExtras[i].uDtTag != DT_RELA ++ && pModElf->paShdrExtras[i].uDtTag != DT_JMPREL) ++ { ++ char szSecHdrNm[80]; ++ return RTERRINFO_LOG_SET_F(pErrInfo, VERR_BAD_EXE_FORMAT, ++ "%s: section header #%u (%s type=" FMT_ELF_WORD " size=" FMT_ELF_XWORD ") contains relocations not referenced by the dynamic section", ++ pszLogName, i, ++ RTLDRELF_NAME(GetSHdrName)(pModElf, paShdrs[i].sh_name, szSecHdrNm, sizeof(szSecHdrNm)), ++ paShdrs[i].sh_type, paShdrs[i].sh_size); ++ } + + return VINF_SUCCESS; + } +@@ -1866,8 +2819,9 @@ static int RTLDRELF_NAME(ValidateSection + * @param fFlags Reserved, MBZ. + * @param enmArch Architecture specifier. + * @param phLdrMod Where to store the handle. ++ * @param pErrInfo Where to return extended error info. Optional. + */ +-static int RTLDRELF_NAME(Open)(PRTLDRREADER pReader, uint32_t fFlags, RTLDRARCH enmArch, PRTLDRMOD phLdrMod) ++static int RTLDRELF_NAME(Open)(PRTLDRREADER pReader, uint32_t fFlags, RTLDRARCH enmArch, PRTLDRMOD phLdrMod, PRTERRINFO pErrInfo) + { + const char *pszLogName = pReader->pfnLogName(pReader); + uint64_t cbRawImage = pReader->pfnSize(pReader); +@@ -1891,21 +2845,42 @@ static int RTLDRELF_NAME(Open)(PRTLDRREA + #else + pModElf->Core.enmArch = RTLDRARCH_AMD64; + #endif +- //pModElf->pvBits = NULL; +- //pModElf->Ehdr = {0}; +- //pModElf->paShdrs = NULL; +- //pModElf->paSyms = NULL; +- pModElf->iSymSh = ~0U; +- //pModElf->cSyms = 0; +- pModElf->iStrSh = ~0U; +- //pModElf->cbStr = 0; +- //pModElf->cbImage = 0; +- //pModElf->LinkAddress = 0; +- //pModElf->pStr = NULL; +- //pModElf->cbShStr = 0; +- //pModElf->pShStr = NULL; +- //pModElf->iShEhFrame = 0; +- //pModElf->iShEhFrameHdr = 0; ++ //pModElf->pvBits = NULL; ++ //pModElf->Ehdr = {0}; ++ //pModElf->paShdrs = NULL; ++ //pModElf->Rel.paSyms = NULL; ++ pModElf->Rel.iSymSh = ~0U; ++ //pModElf->Rel.cSyms = 0; ++ pModElf->Rel.iStrSh = ~0U; ++ //pModElf->Rel.cbStr = 0; ++ //pModElf->Rel.pStr = NULL; ++ //pModElf->Dyn.paSyms = NULL; ++ pModElf->Dyn.iSymSh = ~0U; ++ //pModElf->Dyn.cSyms = 0; ++ pModElf->Dyn.iStrSh = ~0U; ++ //pModElf->Dyn.cbStr = 0; ++ //pModElf->Dyn.pStr = NULL; ++ pModElf->iFirstSect = 1; ++ //pModElf->fShdrInOrder = false; ++ //pModElf->cbImage = 0; ++ pModElf->LinkAddress = ~(Elf_Addr)0; ++ //pModElf->cbShStr = 0; ++ //pModElf->pShStr = NULL; ++ //pModElf->iShEhFrame = 0; ++ //pModElf->iShEhFrameHdr= 0; ++ pModElf->iShDynamic = ~0U; ++ //pModElf->cDynamic = 0; ++ //pModElf->paDynamic = NULL; ++ //pModElf->paPhdrs = NULL; ++ pModElf->DynInfo.uPtrRelocs = ~(Elf_Addr)0; ++ //pModElf->DynInfo.cbRelocs = 0; ++ //pModElf->DynInfo.cbRelocEntry = 0; ++ //pModElf->DynInfo.uRelocType = 0; ++ //pModElf->DynInfo.idxShRelocs = 0; ++ pModElf->DynInfo.uPtrJmpRelocs = ~(Elf_Addr)0; ++ //pModElf->DynInfo.cbJmpRelocs = 0; ++ //pModElf->DynInfo.uJmpRelocType = 0; ++ //pModElf->DynInfo.idxShJmpRelocs = 0; + + /* + * Read and validate the ELF header and match up the CPU architecture. +@@ -1914,7 +2889,7 @@ static int RTLDRELF_NAME(Open)(PRTLDRREA + if (RT_SUCCESS(rc)) + { + RTLDRARCH enmArchImage = RTLDRARCH_INVALID; /* shut up gcc */ +- rc = RTLDRELF_NAME(ValidateElfHeader)(&pModElf->Ehdr, pszLogName, cbRawImage, &enmArchImage); ++ rc = RTLDRELF_NAME(ValidateElfHeader)(&pModElf->Ehdr, cbRawImage, pszLogName, &enmArchImage, pErrInfo); + if (RT_SUCCESS(rc)) + { + if ( enmArch != RTLDRARCH_WHATEVER +@@ -1929,7 +2904,7 @@ static int RTLDRELF_NAME(Open)(PRTLDRREA + * introspection methods. + */ + size_t const cbShdrs = pModElf->Ehdr.e_shnum * sizeof(Elf_Shdr); +- Elf_Shdr *paShdrs = (Elf_Shdr *)RTMemAlloc(cbShdrs * 2); ++ Elf_Shdr *paShdrs = (Elf_Shdr *)RTMemAlloc(cbShdrs * 2 + sizeof(RTLDRMODELFSHX) * pModElf->Ehdr.e_shnum); + if (paShdrs) + { + pModElf->paShdrs = paShdrs; +@@ -1939,111 +2914,77 @@ static int RTLDRELF_NAME(Open)(PRTLDRREA + memcpy(&paShdrs[pModElf->Ehdr.e_shnum], paShdrs, cbShdrs); + pModElf->paOrgShdrs = &paShdrs[pModElf->Ehdr.e_shnum]; + ++ pModElf->paShdrExtras = (PRTLDRMODELFSHX)&pModElf->paOrgShdrs[pModElf->Ehdr.e_shnum]; ++ memset(pModElf->paShdrExtras, 0xff, sizeof(RTLDRMODELFSHX) * pModElf->Ehdr.e_shnum); ++ + pModElf->cbShStr = paShdrs[pModElf->Ehdr.e_shstrndx].sh_size; + + /* + * Validate the section headers and find relevant sections. + */ +- Elf_Addr uNextAddr = 0; +- for (unsigned i = 0; i < pModElf->Ehdr.e_shnum; i++) +- { +- rc = RTLDRELF_NAME(ValidateSectionHeader)(pModElf, i, pszLogName, cbRawImage); +- if (RT_FAILURE(rc)) +- break; +- +- /* We're looking for symbol tables. */ +- if (paShdrs[i].sh_type == SHT_SYMTAB) +- { +- if (pModElf->iSymSh != ~0U) +- { +- Log(("RTLdrElf: %s: Multiple symbol tabs! iSymSh=%d i=%d\n", pszLogName, pModElf->iSymSh, i)); +- rc = VERR_LDRELF_MULTIPLE_SYMTABS; +- break; +- } +- pModElf->iSymSh = i; +- pModElf->cSyms = (unsigned)(paShdrs[i].sh_size / sizeof(Elf_Sym)); +- AssertBreakStmt(pModElf->cSyms == paShdrs[i].sh_size / sizeof(Elf_Sym), rc = VERR_IMAGE_TOO_BIG); +- pModElf->iStrSh = paShdrs[i].sh_link; +- pModElf->cbStr = (unsigned)paShdrs[pModElf->iStrSh].sh_size; +- AssertBreakStmt(pModElf->cbStr == paShdrs[pModElf->iStrSh].sh_size, rc = VERR_IMAGE_TOO_BIG); +- } +- +- /* Special checks for the section string table. */ +- if (i == pModElf->Ehdr.e_shstrndx) +- { +- if (paShdrs[i].sh_type != SHT_STRTAB) +- { +- Log(("RTLdrElf: Section header string table is not a SHT_STRTAB: %#x\n", paShdrs[i].sh_type)); +- rc = VERR_BAD_EXE_FORMAT; +- break; +- } +- if (paShdrs[i].sh_size == 0) +- { +- Log(("RTLdrElf: Section header string table is empty\n")); +- rc = VERR_BAD_EXE_FORMAT; +- break; +- } +- } ++ rc = RTLDRELF_NAME(ValidateAndProcessSectionHeaders)(pModElf, paShdrs, cbRawImage, pszLogName, pErrInfo); + +- /* Kluge for the .data..percpu segment in 64-bit linux kernels. */ +- if (paShdrs[i].sh_flags & SHF_ALLOC) +- { +- if ( paShdrs[i].sh_addr == 0 +- && paShdrs[i].sh_addr < uNextAddr) +- { +- Elf_Addr uAddr = RT_ALIGN_T(uNextAddr, paShdrs[i].sh_addralign, Elf_Addr); +- Log(("RTLdrElf: Out of order section #%d; adjusting sh_addr from " FMT_ELF_ADDR " to " FMT_ELF_ADDR "\n", +- i, paShdrs[i].sh_addr, uAddr)); +- paShdrs[i].sh_addr = uAddr; +- } +- uNextAddr = paShdrs[i].sh_addr + paShdrs[i].sh_size; +- } +- } /* for each section header */ ++ /* ++ * Read validate and process program headers if ET_DYN or ET_EXEC. ++ */ ++ if (RT_SUCCESS(rc) && (pModElf->Ehdr.e_type == ET_DYN || pModElf->Ehdr.e_type == ET_EXEC)) ++ rc = RTLDRELF_NAME(ValidateAndProcessDynamicInfo)(pModElf, cbRawImage, fFlags, pszLogName, pErrInfo); + + /* +- * Calculate the image base address if the image isn't relocatable. ++ * Massage the section headers. + */ +- if (RT_SUCCESS(rc) && pModElf->Ehdr.e_type != ET_REL) ++ if (RT_SUCCESS(rc)) + { +- pModElf->LinkAddress = ~(Elf_Addr)0; +- for (unsigned i = 0; i < pModElf->Ehdr.e_shnum; i++) +- if ( (paShdrs[i].sh_flags & SHF_ALLOC) +- && paShdrs[i].sh_addr < pModElf->LinkAddress) +- pModElf->LinkAddress = paShdrs[i].sh_addr; +- if (pModElf->LinkAddress == ~(Elf_Addr)0) ++ if (pModElf->Ehdr.e_type == ET_REL) + { +- AssertFailed(); +- rc = VERR_LDR_GENERAL_FAILURE; +- } +- if (pModElf->Ehdr.e_type == ET_DYN && pModElf->LinkAddress < 0x1000) ++ /* Do allocations and figure the image size: */ + pModElf->LinkAddress = 0; ++ for (unsigned i = 1; i < pModElf->Ehdr.e_shnum; i++) ++ if (paShdrs[i].sh_flags & SHF_ALLOC) ++ { ++ paShdrs[i].sh_addr = paShdrs[i].sh_addralign ++ ? RT_ALIGN_T(pModElf->cbImage, paShdrs[i].sh_addralign, Elf_Addr) ++ : (Elf_Addr)pModElf->cbImage; ++ Elf_Addr EndAddr = paShdrs[i].sh_addr + paShdrs[i].sh_size; ++ if (pModElf->cbImage < EndAddr) ++ { ++ pModElf->cbImage = (size_t)EndAddr; ++ AssertMsgBreakStmt(pModElf->cbImage == EndAddr, (FMT_ELF_ADDR "\n", EndAddr), rc = VERR_IMAGE_TOO_BIG); ++ } ++ Log2(("RTLdrElf: %s: Assigned " FMT_ELF_ADDR " to section #%d\n", pszLogName, paShdrs[i].sh_addr, i)); ++ } ++ } ++ else ++ { ++ /* Convert sh_addr to RVA: */ ++ Assert(pModElf->LinkAddress != ~(Elf_Addr)0); ++ for (unsigned i = 0 /*!*/; i < pModElf->Ehdr.e_shnum; i++) ++ if (paShdrs[i].sh_flags & SHF_ALLOC) ++ paShdrs[i].sh_addr -= pModElf->LinkAddress; ++ } + } + + /* +- * Perform allocations / RVA calculations, determine the image size. ++ * Check if the sections are in order by address, as that will simplify ++ * enumeration and address translation. + */ +- if (RT_SUCCESS(rc)) +- for (unsigned i = 0; i < pModElf->Ehdr.e_shnum; i++) +- if (paShdrs[i].sh_flags & SHF_ALLOC) ++ pModElf->fShdrInOrder = true; ++ Elf_Addr uEndAddr = 0; ++ for (unsigned i = pModElf->iFirstSect; i < pModElf->Ehdr.e_shnum; i++) ++ if (paShdrs[i].sh_flags & SHF_ALLOC) ++ { ++ if (uEndAddr <= paShdrs[i].sh_addr) ++ uEndAddr = paShdrs[i].sh_addr + paShdrs[i].sh_size; ++ else + { +- if (pModElf->Ehdr.e_type == ET_REL) +- paShdrs[i].sh_addr = paShdrs[i].sh_addralign +- ? RT_ALIGN_T(pModElf->cbImage, paShdrs[i].sh_addralign, Elf_Addr) +- : (Elf_Addr)pModElf->cbImage; +- else +- paShdrs[i].sh_addr -= pModElf->LinkAddress; +- Elf_Addr EndAddr = paShdrs[i].sh_addr + paShdrs[i].sh_size; +- if (pModElf->cbImage < EndAddr) +- { +- pModElf->cbImage = (size_t)EndAddr; +- AssertMsgBreakStmt(pModElf->cbImage == EndAddr, (FMT_ELF_ADDR "\n", EndAddr), rc = VERR_IMAGE_TOO_BIG); +- } +- Log2(("RTLdrElf: %s: Assigned " FMT_ELF_ADDR " to section #%d\n", pszLogName, paShdrs[i].sh_addr, i)); ++ pModElf->fShdrInOrder = false; ++ break; + } ++ } + +- Log2(("RTLdrElf: iSymSh=%u cSyms=%u iStrSh=%u cbStr=%u rc=%Rrc cbImage=%#zx LinkAddress=" FMT_ELF_ADDR "\n", +- pModElf->iSymSh, pModElf->cSyms, pModElf->iStrSh, pModElf->cbStr, rc, +- pModElf->cbImage, pModElf->LinkAddress)); ++ Log2(("RTLdrElf: iSymSh=%u cSyms=%u iStrSh=%u cbStr=%u rc=%Rrc cbImage=%#zx LinkAddress=" FMT_ELF_ADDR " fShdrInOrder=%RTbool\n", ++ pModElf->Rel.iSymSh, pModElf->Rel.cSyms, pModElf->Rel.iStrSh, pModElf->Rel.cbStr, rc, ++ pModElf->cbImage, pModElf->LinkAddress, pModElf->fShdrInOrder)); + if (RT_SUCCESS(rc)) + { + pModElf->Core.pOps = &RTLDRELF_MID(s_rtldrElf,Ops); +@@ -2077,6 +3018,7 @@ static int RTLDRELF_NAME(Open)(PRTLDRREA + #undef RTLDRELF_MID + + #undef FMT_ELF_ADDR ++#undef FMT_ELF_ADDR7 + #undef FMT_ELF_HALF + #undef FMT_ELF_SHALF + #undef FMT_ELF_OFF +@@ -2102,6 +3044,8 @@ static int RTLDRELF_NAME(Open)(PRTLDRREA + #undef Elf_Size + #undef Elf_Sword + #undef Elf_Word ++#undef Elf_Xword ++#undef Elf_Sxword + + #undef RTLDRMODELF + #undef PRTLDRMODELF +--- a/include/iprt/memobj.h ++++ b/include/iprt/memobj.h +@@ -127,7 +127,10 @@ RTR0DECL(int) RTR0MemObjFree(RTR0MEMOBJ + * @returns IPRT status code. + * @param pMemObj Where to store the ring-0 memory object handle. + * @param cb Number of bytes to allocate. This is rounded up to nearest page. +- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object. ++ * @param fExecutable Flag indicating whether it should be permitted to ++ * executed code in the memory object. The user must ++ * use RTR0MemObjProtect after initialization the ++ * allocation to actually make it executable. + */ + #define RTR0MemObjAllocPage(pMemObj, cb, fExecutable) \ + RTR0MemObjAllocPageTag((pMemObj), (cb), (fExecutable), RTMEM_TAG) +@@ -140,7 +143,10 @@ RTR0DECL(int) RTR0MemObjFree(RTR0MEMOBJ + * @returns IPRT status code. + * @param pMemObj Where to store the ring-0 memory object handle. + * @param cb Number of bytes to allocate. This is rounded up to nearest page. +- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object. ++ * @param fExecutable Flag indicating whether it should be permitted to ++ * executed code in the memory object. The user must ++ * use RTR0MemObjProtect after initialization the ++ * allocation to actually make it executable. + * @param pszTag Allocation tag used for statistics and such. + */ + RTR0DECL(int) RTR0MemObjAllocPageTag(PRTR0MEMOBJ pMemObj, size_t cb, bool fExecutable, const char *pszTag); +@@ -154,7 +160,10 @@ RTR0DECL(int) RTR0MemObjAllocPageTag(PRT + * @returns IPRT status code. + * @param pMemObj Where to store the ring-0 memory object handle. + * @param cb Number of bytes to allocate. This is rounded up to nearest page. +- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object. ++ * @param fExecutable Flag indicating whether it should be permitted to ++ * executed code in the memory object. The user must ++ * use RTR0MemObjProtect after initialization the ++ * allocation to actually make it executable. + */ + #define RTR0MemObjAllocLow(pMemObj, cb, fExecutable) \ + RTR0MemObjAllocLowTag((pMemObj), (cb), (fExecutable), RTMEM_TAG) +@@ -168,7 +177,10 @@ RTR0DECL(int) RTR0MemObjAllocPageTag(PRT + * @returns IPRT status code. + * @param pMemObj Where to store the ring-0 memory object handle. + * @param cb Number of bytes to allocate. This is rounded up to nearest page. +- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object. ++ * @param fExecutable Flag indicating whether it should be permitted to ++ * executed code in the memory object. The user must ++ * use RTR0MemObjProtect after initialization the ++ * allocation to actually make it executable. + * @param pszTag Allocation tag used for statistics and such. + */ + RTR0DECL(int) RTR0MemObjAllocLowTag(PRTR0MEMOBJ pMemObj, size_t cb, bool fExecutable, const char *pszTag); +@@ -182,7 +194,10 @@ RTR0DECL(int) RTR0MemObjAllocLowTag(PRTR + * @returns IPRT status code. + * @param pMemObj Where to store the ring-0 memory object handle. + * @param cb Number of bytes to allocate. This is rounded up to nearest page. +- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object. ++ * @param fExecutable Flag indicating whether it should be permitted to ++ * executed code in the memory object. The user must ++ * use RTR0MemObjProtect after initialization the ++ * allocation to actually make it executable. + */ + #define RTR0MemObjAllocCont(pMemObj, cb, fExecutable) \ + RTR0MemObjAllocContTag((pMemObj), (cb), (fExecutable), RTMEM_TAG) +@@ -196,7 +211,10 @@ RTR0DECL(int) RTR0MemObjAllocLowTag(PRTR + * @returns IPRT status code. + * @param pMemObj Where to store the ring-0 memory object handle. + * @param cb Number of bytes to allocate. This is rounded up to nearest page. +- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object. ++ * @param fExecutable Flag indicating whether it should be permitted to ++ * executed code in the memory object. The user must ++ * use RTR0MemObjProtect after initialization the ++ * allocation to actually make it executable. + * @param pszTag Allocation tag used for statistics and such. + */ + RTR0DECL(int) RTR0MemObjAllocContTag(PRTR0MEMOBJ pMemObj, size_t cb, bool fExecutable, const char *pszTag); +--- a/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c ++++ b/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c +@@ -38,7 +38,7 @@ + + + #if (defined(RT_ARCH_AMD64) || defined(DOXYGEN_RUNNING)) && !defined(RTMEMALLOC_EXEC_HEAP) +-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23) ++# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) + /** + * Starting with 2.6.23 we can use __get_vm_area and map_vm_area to allocate + * memory in the moduel range. This is preferrable to the exec heap below. +--- a/include/VBox/sup.h ++++ b/include/VBox/sup.h +@@ -1553,8 +1553,11 @@ SUPR3DECL(int) SUPR3GetSymbolR0(void *pv + * + * @returns VBox status code. + * @deprecated Use SUPR3LoadModule(pszFilename, "VMMR0.r0", &pvImageBase) ++ * @param pszFilename Full path to the VMMR0.r0 file (silly). ++ * @param pErrInfo Where to return extended error information. ++ * Optional. + */ +-SUPR3DECL(int) SUPR3LoadVMM(const char *pszFilename); ++SUPR3DECL(int) SUPR3LoadVMM(const char *pszFilename, PRTERRINFO pErrInfo); + + /** + * Unloads R0 HC VMM code. +--- a/src/VBox/Devices/Network/testcase/tstIntNet-1.cpp ++++ b/src/VBox/Devices/Network/testcase/tstIntNet-1.cpp +@@ -846,7 +846,7 @@ extern "C" DECLEXPORT(int) TrustedMain(i + return 1; + } + +- rc = SUPR3LoadVMM(szAbsPath); ++ rc = SUPR3LoadVMM(szAbsPath, NULL); + if (RT_FAILURE(rc)) + { + RTPrintf("tstIntNet-1: SUPR3LoadVMM(\"%s\") -> %Rrc\n", szAbsPath, rc); +--- a/src/VBox/NetworkServices/Dhcpd/VBoxNetDhcpd.cpp ++++ b/src/VBox/NetworkServices/Dhcpd/VBoxNetDhcpd.cpp +@@ -259,7 +259,7 @@ int VBoxNetDhcpd::vmmInit() + if (RT_SUCCESS(rc)) + rc = RTPathAppend(szPathVMMR0, sizeof(szPathVMMR0), "VMMR0.r0"); + if (RT_SUCCESS(rc)) +- rc = SUPR3LoadVMM(szPathVMMR0); ++ rc = SUPR3LoadVMM(szPathVMMR0, NULL /*pErrInfo*/); + return rc; + } + +--- a/src/VBox/NetworkServices/NetLib/VBoxNetBaseService.cpp ++++ b/src/VBox/NetworkServices/NetLib/VBoxNetBaseService.cpp +@@ -383,7 +383,7 @@ int VBoxNetBaseService::tryGoOnline(void + return rc; + } + +- rc = SUPR3LoadVMM(strcat(szPath, "/VMMR0.r0")); ++ rc = SUPR3LoadVMM(strcat(szPath, "/VMMR0.r0"), NULL); + if (RT_FAILURE(rc)) + { + LogRel(("VBoxNetBaseService: SUPR3LoadVMM(\"%s\") -> %Rrc\n", szPath, rc)); +--- a/src/VBox/VMM/testcase/tstGlobalConfig.cpp ++++ b/src/VBox/VMM/testcase/tstGlobalConfig.cpp +@@ -102,7 +102,7 @@ extern "C" DECLEXPORT(int) TrustedMain(i + return 1; + } + +- rc = SUPR3LoadVMM("./VMMR0.r0"); ++ rc = SUPR3LoadVMM("./VMMR0.r0", NULL /*pErrInfo*/); + if (RT_SUCCESS(rc)) + { + Req.pSession = pSession; +--- a/src/VBox/HostDrivers/Support/SUPLibLdr.cpp ++++ b/src/VBox/HostDrivers/Support/SUPLibLdr.cpp +@@ -334,6 +334,372 @@ static DECLCALLBACK(int) supLoadModuleCr + } + + ++/** Argument package for supLoadModuleCompileSegmentsCB. */ ++typedef struct SUPLDRCOMPSEGTABARGS ++{ ++ uint32_t uStartRva; ++ uint32_t uEndRva; ++ uint32_t fProt; ++ uint32_t iSegs; ++ uint32_t cSegsAlloc; ++ PSUPLDRSEG paSegs; ++ PRTERRINFO pErrInfo; ++} SUPLDRCOMPSEGTABARGS, *PSUPLDRCOMPSEGTABARGS; ++ ++/** ++ * @callback_method_impl{FNRTLDRENUMSEGS, ++ * Compile list of segments with the same memory protection.} ++ */ ++static DECLCALLBACK(int) supLoadModuleCompileSegmentsCB(RTLDRMOD hLdrMod, PCRTLDRSEG pSeg, void *pvUser) ++{ ++ PSUPLDRCOMPSEGTABARGS pArgs = (PSUPLDRCOMPSEGTABARGS)pvUser; ++ AssertCompile(RTMEM_PROT_READ == SUPLDR_PROT_READ); ++ AssertCompile(RTMEM_PROT_WRITE == SUPLDR_PROT_WRITE); ++ AssertCompile(RTMEM_PROT_EXEC == SUPLDR_PROT_EXEC); ++ RT_NOREF(hLdrMod); ++ ++ Log2(("supLoadModuleCompileSegmentsCB: %RTptr/%RTptr LB %RTptr/%RTptr prot %#x %s\n", ++ pSeg->LinkAddress, pSeg->RVA, pSeg->cbMapped, pSeg->cb, pSeg->fProt, pSeg->pszName)); ++ ++ /* Ignore segments not part of the loaded image. */ ++ if (pSeg->RVA == NIL_RTLDRADDR || pSeg->cbMapped == 0) ++ { ++ Log2(("supLoadModuleCompileSegmentsCB: -> skipped\n")); ++ return VINF_SUCCESS; ++ } ++ ++ /* We currently ASSUME that all relevant segments are in ascending RVA order. */ ++ AssertReturn(pSeg->RVA >= pArgs->uEndRva, ++ RTERRINFO_LOG_REL_SET_F(pArgs->pErrInfo, VERR_BAD_EXE_FORMAT, "Out of order segment: %p LB %#zx #%.*s", ++ pSeg->RVA, pSeg->cb, pSeg->cchName, pSeg->pszName)); ++ ++ /* We ASSUME the cbMapped field is implemented. */ ++ AssertReturn(pSeg->cbMapped != NIL_RTLDRADDR, VERR_INTERNAL_ERROR_2); ++ AssertReturn(pSeg->cbMapped < _1G, VERR_INTERNAL_ERROR_4); ++ uint32_t cbMapped = (uint32_t)pSeg->cbMapped; ++ AssertReturn(pSeg->RVA < _1G, VERR_INTERNAL_ERROR_3); ++ uint32_t uRvaSeg = (uint32_t)pSeg->RVA; ++ ++ /* ++ * If the protection is the same as the previous segment, ++ * just update uEndRva and continue. ++ */ ++ uint32_t fProt = pSeg->fProt; ++#if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86) ++ if (fProt & RTMEM_PROT_EXEC) ++ fProt |= fProt & RTMEM_PROT_READ; ++#endif ++ if (pSeg->fProt == pArgs->fProt) ++ { ++ pArgs->uEndRva = uRvaSeg + cbMapped; ++ Log2(("supLoadModuleCompileSegmentsCB: -> merged, end %#x\n", pArgs->uEndRva)); ++ return VINF_SUCCESS; ++ } ++ ++ /* ++ * The protection differs, so commit current segment and start a new one. ++ * However, if the new segment and old segment share a page, this becomes ++ * a little more complicated... ++ */ ++ if (pArgs->uStartRva < pArgs->uEndRva) ++ { ++ if (((pArgs->uEndRva - 1) >> PAGE_SHIFT) != (uRvaSeg >> PAGE_SHIFT)) ++ { ++ /* No common page, so make the new segment start on a page boundrary. */ ++ cbMapped += uRvaSeg & PAGE_OFFSET_MASK; ++ uRvaSeg &= ~(uint32_t)PAGE_OFFSET_MASK; ++ Assert(pArgs->uEndRva <= uRvaSeg); ++ Log2(("supLoadModuleCompileSegmentsCB: -> new, no common\n")); ++ } ++ else if ((fProt & pArgs->fProt) == fProt) ++ { ++ /* The current segment includes the memory protections of the ++ previous, so include the common page in it: */ ++ uint32_t const cbCommon = PAGE_SIZE - (uRvaSeg & PAGE_OFFSET_MASK); ++ if (cbCommon >= cbMapped) ++ { ++ pArgs->uEndRva = uRvaSeg + cbMapped; ++ Log2(("supLoadModuleCompileSegmentsCB: -> merge, %#x common, upgrading prot to %#x, end %#x\n", ++ cbCommon, pArgs->fProt, pArgs->uEndRva)); ++ return VINF_SUCCESS; /* New segment was smaller than a page. */ ++ } ++ cbMapped -= cbCommon; ++ uRvaSeg += cbCommon; ++ Assert(pArgs->uEndRva <= uRvaSeg); ++ Log2(("supLoadModuleCompileSegmentsCB: -> new, %#x common into previous\n", cbCommon)); ++ } ++ else if ((fProt & pArgs->fProt) == pArgs->fProt) ++ { ++ /* The new segment includes the memory protections of the ++ previous, so include the common page in it: */ ++ cbMapped += uRvaSeg & PAGE_OFFSET_MASK; ++ uRvaSeg &= ~(uint32_t)PAGE_OFFSET_MASK; ++ if (uRvaSeg == pArgs->uStartRva) ++ { ++ pArgs->fProt = fProt; ++ pArgs->uEndRva = uRvaSeg + cbMapped; ++ Log2(("supLoadModuleCompileSegmentsCB: -> upgrade current protection, end %#x\n", pArgs->uEndRva)); ++ return VINF_SUCCESS; /* Current segment was smaller than a page. */ ++ } ++ Log2(("supLoadModuleCompileSegmentsCB: -> new, %#x common into new\n", (uint32_t)(pSeg->RVA & PAGE_OFFSET_MASK))); ++ } ++ else ++ { ++ /* Create a new segment for the common page with the combined protection. */ ++ Log2(("supLoadModuleCompileSegmentsCB: -> it's complicated...\n")); ++ pArgs->uEndRva &= ~(uint32_t)PAGE_OFFSET_MASK; ++ if (pArgs->uEndRva > pArgs->uStartRva) ++ { ++ Log2(("supLoadModuleCompileSegmentsCB: SUP Seg #%u: %#x LB %#x prot %#x\n", ++ pArgs->iSegs, pArgs->uStartRva, pArgs->uEndRva - pArgs->uStartRva, pArgs->fProt)); ++ if (pArgs->paSegs) ++ { ++ AssertReturn(pArgs->iSegs < pArgs->cSegsAlloc, VERR_INTERNAL_ERROR_5); ++ pArgs->paSegs[pArgs->iSegs].off = pArgs->uStartRva; ++ pArgs->paSegs[pArgs->iSegs].cb = pArgs->uEndRva - pArgs->uStartRva; ++ pArgs->paSegs[pArgs->iSegs].fProt = pArgs->fProt; ++ pArgs->paSegs[pArgs->iSegs].fUnused = 0; ++ } ++ pArgs->iSegs++; ++ pArgs->uStartRva = pArgs->uEndRva; ++ } ++ pArgs->fProt |= fProt; ++ ++ uint32_t const cbCommon = PAGE_SIZE - (uRvaSeg & PAGE_OFFSET_MASK); ++ if (cbCommon >= cbMapped) ++ { ++ fProt |= pArgs->fProt; ++ pArgs->uEndRva = uRvaSeg + cbMapped; ++ return VINF_SUCCESS; /* New segment was smaller than a page. */ ++ } ++ cbMapped -= cbCommon; ++ uRvaSeg += cbCommon; ++ Assert(uRvaSeg - pArgs->uStartRva == PAGE_SIZE); ++ } ++ ++ /* The current segment should end where the new one starts, no gaps. */ ++ pArgs->uEndRva = uRvaSeg; ++ ++ /* Emit the current segment */ ++ Log2(("supLoadModuleCompileSegmentsCB: SUP Seg #%u: %#x LB %#x prot %#x\n", ++ pArgs->iSegs, pArgs->uStartRva, pArgs->uEndRva - pArgs->uStartRva, pArgs->fProt)); ++ if (pArgs->paSegs) ++ { ++ AssertReturn(pArgs->iSegs < pArgs->cSegsAlloc, VERR_INTERNAL_ERROR_5); ++ pArgs->paSegs[pArgs->iSegs].off = pArgs->uStartRva; ++ pArgs->paSegs[pArgs->iSegs].cb = pArgs->uEndRva - pArgs->uStartRva; ++ pArgs->paSegs[pArgs->iSegs].fProt = pArgs->fProt; ++ pArgs->paSegs[pArgs->iSegs].fUnused = 0; ++ } ++ pArgs->iSegs++; ++ } ++ /* else: current segment is empty */ ++ ++ /* Start the new segment. */ ++ Assert(!(uRvaSeg & PAGE_OFFSET_MASK)); ++ pArgs->fProt = fProt; ++ pArgs->uStartRva = uRvaSeg; ++ pArgs->uEndRva = uRvaSeg + cbMapped; ++ return VINF_SUCCESS; ++} ++ ++ ++/** ++ * Worker for supLoadModule(). ++ */ ++static int supLoadModuleInner(RTLDRMOD hLdrMod, PSUPLDRLOAD pLoadReq, uint32_t cbImageWithEverything, ++ RTR0PTR uImageBase, size_t cbImage, const char *pszModule, const char *pszFilename, ++ bool fNativeLoader, bool fIsVMMR0, const char *pszSrvReqHandler, ++ uint32_t offSymTab, uint32_t cSymbols, ++ uint32_t offStrTab, size_t cbStrTab, ++ uint32_t offSegTab, uint32_t cSegments, ++ PRTERRINFO pErrInfo) ++{ ++ /* ++ * Get the image bits. ++ */ ++ SUPLDRRESIMPARGS Args = { pszModule, pErrInfo }; ++ int rc = RTLdrGetBits(hLdrMod, &pLoadReq->u.In.abImage[0], uImageBase, supLoadModuleResolveImport, &Args); ++ if (RT_FAILURE(rc)) ++ { ++ LogRel(("SUP: RTLdrGetBits failed for %s (%s). rc=%Rrc\n", pszModule, pszFilename, rc)); ++ if (!RTErrInfoIsSet(pErrInfo)) ++ RTErrInfoSetF(pErrInfo, rc, "RTLdrGetBits failed"); ++ return rc; ++ } ++ ++ /* ++ * Get the entry points. ++ */ ++ RTUINTPTR VMMR0EntryFast = 0; ++ RTUINTPTR VMMR0EntryEx = 0; ++ RTUINTPTR SrvReqHandler = 0; ++ RTUINTPTR ModuleInit = 0; ++ RTUINTPTR ModuleTerm = 0; ++ const char *pszEp = NULL; ++ if (fIsVMMR0) ++ { ++ rc = RTLdrGetSymbolEx(hLdrMod, &pLoadReq->u.In.abImage[0], uImageBase, ++ UINT32_MAX, pszEp = "VMMR0EntryFast", &VMMR0EntryFast); ++ if (RT_SUCCESS(rc)) ++ rc = RTLdrGetSymbolEx(hLdrMod, &pLoadReq->u.In.abImage[0], uImageBase, ++ UINT32_MAX, pszEp = "VMMR0EntryEx", &VMMR0EntryEx); ++ } ++ else if (pszSrvReqHandler) ++ rc = RTLdrGetSymbolEx(hLdrMod, &pLoadReq->u.In.abImage[0], uImageBase, ++ UINT32_MAX, pszEp = pszSrvReqHandler, &SrvReqHandler); ++ if (RT_SUCCESS(rc)) ++ { ++ int rc2 = RTLdrGetSymbolEx(hLdrMod, &pLoadReq->u.In.abImage[0], uImageBase, ++ UINT32_MAX, pszEp = "ModuleInit", &ModuleInit); ++ if (RT_FAILURE(rc2)) ++ ModuleInit = 0; ++ ++ rc2 = RTLdrGetSymbolEx(hLdrMod, &pLoadReq->u.In.abImage[0], uImageBase, ++ UINT32_MAX, pszEp = "ModuleTerm", &ModuleTerm); ++ if (RT_FAILURE(rc2)) ++ ModuleTerm = 0; ++ } ++ if (RT_FAILURE(rc)) ++ { ++ LogRel(("SUP: Failed to get entry point '%s' for %s (%s) rc=%Rrc\n", pszEp, pszModule, pszFilename, rc)); ++ return RTErrInfoSetF(pErrInfo, rc, "Failed to resolve entry point '%s'", pszEp); ++ } ++ ++ /* ++ * Create the symbol and string tables. ++ */ ++ SUPLDRCREATETABSARGS CreateArgs; ++ CreateArgs.cbImage = cbImage; ++ CreateArgs.pSym = (PSUPLDRSYM)&pLoadReq->u.In.abImage[offSymTab]; ++ CreateArgs.pszBase = (char *)&pLoadReq->u.In.abImage[offStrTab]; ++ CreateArgs.psz = CreateArgs.pszBase; ++ rc = RTLdrEnumSymbols(hLdrMod, 0, NULL, 0, supLoadModuleCreateTabsCB, &CreateArgs); ++ if (RT_FAILURE(rc)) ++ { ++ LogRel(("SUP: RTLdrEnumSymbols failed for %s (%s) rc=%Rrc\n", pszModule, pszFilename, rc)); ++ return RTErrInfoSetF(pErrInfo, rc, "RTLdrEnumSymbols #2 failed"); ++ } ++ AssertRelease((size_t)(CreateArgs.psz - CreateArgs.pszBase) <= cbStrTab); ++ AssertRelease((size_t)(CreateArgs.pSym - (PSUPLDRSYM)&pLoadReq->u.In.abImage[offSymTab]) <= cSymbols); ++ ++ /* ++ * Create the segment table. ++ */ ++ SUPLDRCOMPSEGTABARGS SegArgs; ++ SegArgs.uStartRva = 0; ++ SegArgs.uEndRva = 0; ++ SegArgs.fProt = RTMEM_PROT_READ; ++ SegArgs.iSegs = 0; ++ SegArgs.cSegsAlloc = cSegments; ++ SegArgs.paSegs = (PSUPLDRSEG)&pLoadReq->u.In.abImage[offSegTab]; ++ SegArgs.pErrInfo = pErrInfo; ++ rc = RTLdrEnumSegments(hLdrMod, supLoadModuleCompileSegmentsCB, &SegArgs); ++ if (RT_FAILURE(rc)) ++ { ++ LogRel(("SUP: RTLdrEnumSegments failed for %s (%s) rc=%Rrc\n", pszModule, pszFilename, rc)); ++ return RTErrInfoSetF(pErrInfo, rc, "RTLdrEnumSegments #2 failed"); ++ } ++ SegArgs.uEndRva = (uint32_t)cbImage; ++ AssertReturn(SegArgs.uEndRva == cbImage, VERR_OUT_OF_RANGE); ++ if (SegArgs.uEndRva > SegArgs.uStartRva) ++ { ++ SegArgs.paSegs[SegArgs.iSegs].off = SegArgs.uStartRva; ++ SegArgs.paSegs[SegArgs.iSegs].cb = SegArgs.uEndRva - SegArgs.uStartRva; ++ SegArgs.paSegs[SegArgs.iSegs].fProt = SegArgs.fProt; ++ SegArgs.paSegs[SegArgs.iSegs].fUnused = 0; ++ SegArgs.iSegs++; ++ } ++ for (uint32_t i = 0; i < SegArgs.iSegs; i++) ++ LogRel(("SUP: seg #%u: %c%c%c %#010RX32 LB %#010RX32\n", i, /** @todo LogRel2 */ ++ SegArgs.paSegs[i].fProt & SUPLDR_PROT_READ ? 'R' : ' ', ++ SegArgs.paSegs[i].fProt & SUPLDR_PROT_WRITE ? 'W' : ' ', ++ SegArgs.paSegs[i].fProt & SUPLDR_PROT_EXEC ? 'X' : ' ', ++ SegArgs.paSegs[i].off, SegArgs.paSegs[i].cb)); ++ AssertRelease(SegArgs.iSegs == cSegments); ++ AssertRelease(SegArgs.cSegsAlloc == cSegments); ++ ++ /* ++ * Upload the image. ++ */ ++ pLoadReq->Hdr.u32Cookie = g_u32Cookie; ++ pLoadReq->Hdr.u32SessionCookie = g_u32SessionCookie; ++ pLoadReq->Hdr.cbIn = SUP_IOCTL_LDR_LOAD_SIZE_IN(cbImageWithEverything); ++ pLoadReq->Hdr.cbOut = SUP_IOCTL_LDR_LOAD_SIZE_OUT; ++ pLoadReq->Hdr.fFlags = SUPREQHDR_FLAGS_MAGIC | SUPREQHDR_FLAGS_EXTRA_IN; ++ pLoadReq->Hdr.rc = VERR_INTERNAL_ERROR; ++ ++ pLoadReq->u.In.pfnModuleInit = (RTR0PTR)ModuleInit; ++ pLoadReq->u.In.pfnModuleTerm = (RTR0PTR)ModuleTerm; ++ if (fIsVMMR0) ++ { ++ pLoadReq->u.In.eEPType = SUPLDRLOADEP_VMMR0; ++ pLoadReq->u.In.EP.VMMR0.pvVMMR0 = uImageBase; ++ pLoadReq->u.In.EP.VMMR0.pvVMMR0EntryFast= (RTR0PTR)VMMR0EntryFast; ++ pLoadReq->u.In.EP.VMMR0.pvVMMR0EntryEx = (RTR0PTR)VMMR0EntryEx; ++ } ++ else if (pszSrvReqHandler) ++ { ++ pLoadReq->u.In.eEPType = SUPLDRLOADEP_SERVICE; ++ pLoadReq->u.In.EP.Service.pfnServiceReq = (RTR0PTR)SrvReqHandler; ++ pLoadReq->u.In.EP.Service.apvReserved[0] = NIL_RTR0PTR; ++ pLoadReq->u.In.EP.Service.apvReserved[1] = NIL_RTR0PTR; ++ pLoadReq->u.In.EP.Service.apvReserved[2] = NIL_RTR0PTR; ++ } ++ else ++ pLoadReq->u.In.eEPType = SUPLDRLOADEP_NOTHING; ++ pLoadReq->u.In.offStrTab = offStrTab; ++ pLoadReq->u.In.cbStrTab = (uint32_t)cbStrTab; ++ AssertRelease(pLoadReq->u.In.cbStrTab == cbStrTab); ++ pLoadReq->u.In.cbImageBits = (uint32_t)cbImage; ++ pLoadReq->u.In.offSymbols = offSymTab; ++ pLoadReq->u.In.cSymbols = cSymbols; ++ pLoadReq->u.In.offSegments = offSegTab; ++ pLoadReq->u.In.cSegments = cSegments; ++ pLoadReq->u.In.cbImageWithEverything = cbImageWithEverything; ++ pLoadReq->u.In.pvImageBase = uImageBase; ++ if (!g_uSupFakeMode) ++ { ++ rc = suplibOsIOCtl(&g_supLibData, SUP_IOCTL_LDR_LOAD, pLoadReq, SUP_IOCTL_LDR_LOAD_SIZE(cbImageWithEverything)); ++ if (RT_SUCCESS(rc)) ++ rc = pLoadReq->Hdr.rc; ++ else ++ LogRel(("SUP: SUP_IOCTL_LDR_LOAD ioctl for %s (%s) failed rc=%Rrc\n", pszModule, pszFilename, rc)); ++ } ++ else ++ rc = VINF_SUCCESS; ++ if ( RT_SUCCESS(rc) ++ || rc == VERR_ALREADY_LOADED /* A competing process. */ ++ ) ++ { ++ LogRel(("SUP: Loaded %s (%s) at %#RKv - ModuleInit at %RKv and ModuleTerm at %RKv%s\n", ++ pszModule, pszFilename, uImageBase, (RTR0PTR)ModuleInit, (RTR0PTR)ModuleTerm, ++ fNativeLoader ? " using the native ring-0 loader" : "")); ++ if (fIsVMMR0) ++ { ++ g_pvVMMR0 = uImageBase; ++ LogRel(("SUP: VMMR0EntryEx located at %RKv and VMMR0EntryFast at %RKv\n", (RTR0PTR)VMMR0EntryEx, (RTR0PTR)VMMR0EntryFast)); ++ } ++#ifdef RT_OS_WINDOWS ++ LogRel(("SUP: windbg> .reload /f %s=%#RKv\n", pszFilename, uImageBase)); ++#endif ++ return VINF_SUCCESS; ++ } ++ ++ /* ++ * Failed, bail out. ++ */ ++ LogRel(("SUP: Loading failed for %s (%s) rc=%Rrc\n", pszModule, pszFilename, rc)); ++ if ( pLoadReq->u.Out.uErrorMagic == SUPLDRLOAD_ERROR_MAGIC ++ && pLoadReq->u.Out.szError[0] != '\0') ++ { ++ LogRel(("SUP: %s\n", pLoadReq->u.Out.szError)); ++ return RTErrInfoSet(pErrInfo, rc, pLoadReq->u.Out.szError); ++ } ++ return RTErrInfoSet(pErrInfo, rc, "SUP_IOCTL_LDR_LOAD failed"); ++} ++ ++ + /** + * Worker for SUPR3LoadModule(). + * +@@ -356,6 +722,7 @@ static int supLoadModule(const char *psz + AssertPtrReturn(pszFilename, VERR_INVALID_PARAMETER); + AssertPtrReturn(pszModule, VERR_INVALID_PARAMETER); + AssertPtrReturn(ppvImageBase, VERR_INVALID_PARAMETER); ++ /** @todo abspath it right into SUPLDROPEN */ + AssertReturn(strlen(pszModule) < RT_SIZEOFMEMB(SUPLDROPEN, u.In.szName), VERR_FILENAME_TOO_LONG); + char szAbsFilename[RT_SIZEOFMEMB(SUPLDROPEN, u.In.szFilename)]; + rc = RTPathAbs(pszFilename, szAbsFilename, sizeof(szAbsFilename)); +@@ -371,8 +738,8 @@ static int supLoadModule(const char *psz + * Open image file and figure its size. + */ + RTLDRMOD hLdrMod; +- rc = RTLdrOpen(pszFilename, 0, RTLDRARCH_HOST, &hLdrMod); +- if (!RT_SUCCESS(rc)) ++ rc = RTLdrOpenEx(pszFilename, 0 /*fFlags*/, RTLDRARCH_HOST, &hLdrMod, pErrInfo); ++ if (RT_FAILURE(rc)) + { + LogRel(("SUP: RTLdrOpen failed for %s (%s) %Rrc\n", pszModule, pszFilename, rc)); + return rc; +@@ -385,230 +752,109 @@ static int supLoadModule(const char *psz + rc = RTLdrEnumSymbols(hLdrMod, 0, NULL, 0, supLoadModuleCalcSizeCB, &CalcArgs); + if (RT_SUCCESS(rc)) + { +- const uint32_t offSymTab = RT_ALIGN_32(CalcArgs.cbImage, 8); +- const uint32_t offStrTab = offSymTab + CalcArgs.cSymbols * sizeof(SUPLDRSYM); +- const uint32_t cbImageWithTabs = RT_ALIGN_32(offStrTab + CalcArgs.cbStrings, 8); +- + /* +- * Open the R0 image. ++ * Figure out the number of segments needed first. + */ +- SUPLDROPEN OpenReq; +- OpenReq.Hdr.u32Cookie = g_u32Cookie; +- OpenReq.Hdr.u32SessionCookie = g_u32SessionCookie; +- OpenReq.Hdr.cbIn = SUP_IOCTL_LDR_OPEN_SIZE_IN; +- OpenReq.Hdr.cbOut = SUP_IOCTL_LDR_OPEN_SIZE_OUT; +- OpenReq.Hdr.fFlags = SUPREQHDR_FLAGS_DEFAULT; +- OpenReq.Hdr.rc = VERR_INTERNAL_ERROR; +- OpenReq.u.In.cbImageWithTabs = cbImageWithTabs; +- OpenReq.u.In.cbImageBits = (uint32_t)CalcArgs.cbImage; +- strcpy(OpenReq.u.In.szName, pszModule); +- strcpy(OpenReq.u.In.szFilename, pszFilename); +- if (!g_uSupFakeMode) +- { +- rc = suplibOsIOCtl(&g_supLibData, SUP_IOCTL_LDR_OPEN, &OpenReq, SUP_IOCTL_LDR_OPEN_SIZE); +- if (RT_SUCCESS(rc)) +- rc = OpenReq.Hdr.rc; +- } +- else +- { +- OpenReq.u.Out.fNeedsLoading = true; +- OpenReq.u.Out.pvImageBase = 0xef423420; +- } +- *ppvImageBase = (void *)OpenReq.u.Out.pvImageBase; +- if ( RT_SUCCESS(rc) +- && OpenReq.u.Out.fNeedsLoading) ++ SUPLDRCOMPSEGTABARGS SegArgs; ++ SegArgs.uStartRva = 0; ++ SegArgs.uEndRva = 0; ++ SegArgs.fProt = RTMEM_PROT_READ; ++ SegArgs.iSegs = 0; ++ SegArgs.cSegsAlloc = 0; ++ SegArgs.paSegs = NULL; ++ SegArgs.pErrInfo = pErrInfo; ++ rc = RTLdrEnumSegments(hLdrMod, supLoadModuleCompileSegmentsCB, &SegArgs); ++ if (RT_SUCCESS(rc)) + { ++ Assert(SegArgs.uEndRva <= RTLdrSize(hLdrMod)); ++ SegArgs.uEndRva = (uint32_t)CalcArgs.cbImage; /* overflow is checked later */ ++ if (SegArgs.uEndRva > SegArgs.uStartRva) ++ { ++ Log2(("supLoadModule: SUP Seg #%u: %#x LB %#x prot %#x\n", ++ SegArgs.iSegs, SegArgs.uStartRva, SegArgs.uEndRva - SegArgs.uStartRva, SegArgs.fProt)); ++ SegArgs.iSegs++; ++ } ++ ++ const uint32_t offSymTab = RT_ALIGN_32(CalcArgs.cbImage, 8); ++ const uint32_t offStrTab = offSymTab + CalcArgs.cSymbols * sizeof(SUPLDRSYM); ++ const uint32_t offSegTab = RT_ALIGN_32(offStrTab + CalcArgs.cbStrings, 8); ++ const uint32_t cbImageWithEverything = RT_ALIGN_32(offSegTab + sizeof(SUPLDRSEG) * SegArgs.iSegs, 8); ++ + /* +- * We need to load it. +- * Allocate memory for the image bits. ++ * Open the R0 image. + */ +- PSUPLDRLOAD pLoadReq = (PSUPLDRLOAD)RTMemTmpAlloc(SUP_IOCTL_LDR_LOAD_SIZE(cbImageWithTabs)); +- if (pLoadReq) ++ SUPLDROPEN OpenReq; ++ OpenReq.Hdr.u32Cookie = g_u32Cookie; ++ OpenReq.Hdr.u32SessionCookie = g_u32SessionCookie; ++ OpenReq.Hdr.cbIn = SUP_IOCTL_LDR_OPEN_SIZE_IN; ++ OpenReq.Hdr.cbOut = SUP_IOCTL_LDR_OPEN_SIZE_OUT; ++ OpenReq.Hdr.fFlags = SUPREQHDR_FLAGS_DEFAULT; ++ OpenReq.Hdr.rc = VERR_INTERNAL_ERROR; ++ OpenReq.u.In.cbImageWithEverything = cbImageWithEverything; ++ OpenReq.u.In.cbImageBits = (uint32_t)CalcArgs.cbImage; ++ strcpy(OpenReq.u.In.szName, pszModule); ++ strcpy(OpenReq.u.In.szFilename, pszFilename); ++ if (!g_uSupFakeMode) ++ { ++ rc = suplibOsIOCtl(&g_supLibData, SUP_IOCTL_LDR_OPEN, &OpenReq, SUP_IOCTL_LDR_OPEN_SIZE); ++ if (RT_SUCCESS(rc)) ++ rc = OpenReq.Hdr.rc; ++ } ++ else ++ { ++ OpenReq.u.Out.fNeedsLoading = true; ++ OpenReq.u.Out.pvImageBase = 0xef423420; ++ } ++ *ppvImageBase = (void *)OpenReq.u.Out.pvImageBase; ++ if ( RT_SUCCESS(rc) ++ && OpenReq.u.Out.fNeedsLoading) + { + /* +- * Get the image bits. ++ * We need to load it. ++ * ++ * Allocate the request and pass it to an inner work function ++ * that populates it and sends it off to the driver. + */ +- +- SUPLDRRESIMPARGS Args = { pszModule, pErrInfo }; +- rc = RTLdrGetBits(hLdrMod, &pLoadReq->u.In.abImage[0], (uintptr_t)OpenReq.u.Out.pvImageBase, +- supLoadModuleResolveImport, &Args); +- +- if (RT_SUCCESS(rc)) ++ const uint32_t cbLoadReq = SUP_IOCTL_LDR_LOAD_SIZE(cbImageWithEverything); ++ PSUPLDRLOAD pLoadReq = (PSUPLDRLOAD)RTMemTmpAlloc(cbLoadReq); ++ if (pLoadReq) + { +- /* +- * Get the entry points. +- */ +- RTUINTPTR VMMR0EntryFast = 0; +- RTUINTPTR VMMR0EntryEx = 0; +- RTUINTPTR SrvReqHandler = 0; +- RTUINTPTR ModuleInit = 0; +- RTUINTPTR ModuleTerm = 0; +- const char *pszEp = NULL; +- if (fIsVMMR0) +- { +- rc = RTLdrGetSymbolEx(hLdrMod, &pLoadReq->u.In.abImage[0], (uintptr_t)OpenReq.u.Out.pvImageBase, +- UINT32_MAX, pszEp = "VMMR0EntryFast", &VMMR0EntryFast); +- if (RT_SUCCESS(rc)) +- rc = RTLdrGetSymbolEx(hLdrMod, &pLoadReq->u.In.abImage[0], (uintptr_t)OpenReq.u.Out.pvImageBase, +- UINT32_MAX, pszEp = "VMMR0EntryEx", &VMMR0EntryEx); +- } +- else if (pszSrvReqHandler) +- rc = RTLdrGetSymbolEx(hLdrMod, &pLoadReq->u.In.abImage[0], (uintptr_t)OpenReq.u.Out.pvImageBase, +- UINT32_MAX, pszEp = pszSrvReqHandler, &SrvReqHandler); +- if (RT_SUCCESS(rc)) +- { +- int rc2 = RTLdrGetSymbolEx(hLdrMod, &pLoadReq->u.In.abImage[0], (uintptr_t)OpenReq.u.Out.pvImageBase, +- UINT32_MAX, pszEp = "ModuleInit", &ModuleInit); +- if (RT_FAILURE(rc2)) +- ModuleInit = 0; +- +- rc2 = RTLdrGetSymbolEx(hLdrMod, &pLoadReq->u.In.abImage[0], (uintptr_t)OpenReq.u.Out.pvImageBase, +- UINT32_MAX, pszEp = "ModuleTerm", &ModuleTerm); +- if (RT_FAILURE(rc2)) +- ModuleTerm = 0; +- } +- if (RT_SUCCESS(rc)) +- { +- /* +- * Create the symbol and string tables. +- */ +- SUPLDRCREATETABSARGS CreateArgs; +- CreateArgs.cbImage = CalcArgs.cbImage; +- CreateArgs.pSym = (PSUPLDRSYM)&pLoadReq->u.In.abImage[offSymTab]; +- CreateArgs.pszBase = (char *)&pLoadReq->u.In.abImage[offStrTab]; +- CreateArgs.psz = CreateArgs.pszBase; +- rc = RTLdrEnumSymbols(hLdrMod, 0, NULL, 0, supLoadModuleCreateTabsCB, &CreateArgs); +- if (RT_SUCCESS(rc)) +- { +- AssertRelease((size_t)(CreateArgs.psz - CreateArgs.pszBase) <= CalcArgs.cbStrings); +- AssertRelease((size_t)(CreateArgs.pSym - (PSUPLDRSYM)&pLoadReq->u.In.abImage[offSymTab]) <= CalcArgs.cSymbols); +- +- /* +- * Upload the image. +- */ +- pLoadReq->Hdr.u32Cookie = g_u32Cookie; +- pLoadReq->Hdr.u32SessionCookie = g_u32SessionCookie; +- pLoadReq->Hdr.cbIn = SUP_IOCTL_LDR_LOAD_SIZE_IN(cbImageWithTabs); +- pLoadReq->Hdr.cbOut = SUP_IOCTL_LDR_LOAD_SIZE_OUT; +- pLoadReq->Hdr.fFlags = SUPREQHDR_FLAGS_MAGIC | SUPREQHDR_FLAGS_EXTRA_IN; +- pLoadReq->Hdr.rc = VERR_INTERNAL_ERROR; +- +- pLoadReq->u.In.pfnModuleInit = (RTR0PTR)ModuleInit; +- pLoadReq->u.In.pfnModuleTerm = (RTR0PTR)ModuleTerm; +- if (fIsVMMR0) +- { +- pLoadReq->u.In.eEPType = SUPLDRLOADEP_VMMR0; +- pLoadReq->u.In.EP.VMMR0.pvVMMR0 = OpenReq.u.Out.pvImageBase; +- pLoadReq->u.In.EP.VMMR0.pvVMMR0EntryFast= (RTR0PTR)VMMR0EntryFast; +- pLoadReq->u.In.EP.VMMR0.pvVMMR0EntryEx = (RTR0PTR)VMMR0EntryEx; +- } +- else if (pszSrvReqHandler) +- { +- pLoadReq->u.In.eEPType = SUPLDRLOADEP_SERVICE; +- pLoadReq->u.In.EP.Service.pfnServiceReq = (RTR0PTR)SrvReqHandler; +- pLoadReq->u.In.EP.Service.apvReserved[0] = NIL_RTR0PTR; +- pLoadReq->u.In.EP.Service.apvReserved[1] = NIL_RTR0PTR; +- pLoadReq->u.In.EP.Service.apvReserved[2] = NIL_RTR0PTR; +- } +- else +- pLoadReq->u.In.eEPType = SUPLDRLOADEP_NOTHING; +- pLoadReq->u.In.offStrTab = offStrTab; +- pLoadReq->u.In.cbStrTab = (uint32_t)CalcArgs.cbStrings; +- AssertRelease(pLoadReq->u.In.cbStrTab == CalcArgs.cbStrings); +- pLoadReq->u.In.cbImageBits = (uint32_t)CalcArgs.cbImage; +- pLoadReq->u.In.offSymbols = offSymTab; +- pLoadReq->u.In.cSymbols = CalcArgs.cSymbols; +- pLoadReq->u.In.cbImageWithTabs = cbImageWithTabs; +- pLoadReq->u.In.pvImageBase = OpenReq.u.Out.pvImageBase; +- if (!g_uSupFakeMode) +- { +- rc = suplibOsIOCtl(&g_supLibData, SUP_IOCTL_LDR_LOAD, pLoadReq, SUP_IOCTL_LDR_LOAD_SIZE(cbImageWithTabs)); +- if (RT_SUCCESS(rc)) +- rc = pLoadReq->Hdr.rc; +- else +- LogRel(("SUP: SUP_IOCTL_LDR_LOAD ioctl for %s (%s) failed rc=%Rrc\n", pszModule, pszFilename, rc)); +- } +- else +- rc = VINF_SUCCESS; +- if ( RT_SUCCESS(rc) +- || rc == VERR_ALREADY_LOADED /* A competing process. */ +- ) +- { +- LogRel(("SUP: Loaded %s (%s) at %#RKv - ModuleInit at %RKv and ModuleTerm at %RKv%s\n", +- pszModule, pszFilename, OpenReq.u.Out.pvImageBase, (RTR0PTR)ModuleInit, (RTR0PTR)ModuleTerm, +- OpenReq.u.Out.fNativeLoader ? " using the native ring-0 loader" : "")); +- if (fIsVMMR0) +- { +- g_pvVMMR0 = OpenReq.u.Out.pvImageBase; +- LogRel(("SUP: VMMR0EntryEx located at %RKv and VMMR0EntryFast at %RKv\n", (RTR0PTR)VMMR0EntryEx, (RTR0PTR)VMMR0EntryFast)); +- } +-#ifdef RT_OS_WINDOWS +- LogRel(("SUP: windbg> .reload /f %s=%#RKv\n", pszFilename, OpenReq.u.Out.pvImageBase)); +-#endif +- +- RTMemTmpFree(pLoadReq); +- RTLdrClose(hLdrMod); +- return VINF_SUCCESS; +- } +- +- /* +- * Failed, bail out. +- */ +- LogRel(("SUP: Loading failed for %s (%s) rc=%Rrc\n", pszModule, pszFilename, rc)); +- if ( pLoadReq->u.Out.uErrorMagic == SUPLDRLOAD_ERROR_MAGIC +- && pLoadReq->u.Out.szError[0] != '\0') +- { +- LogRel(("SUP: %s\n", pLoadReq->u.Out.szError)); +- RTErrInfoSet(pErrInfo, rc, pLoadReq->u.Out.szError); +- } +- else +- RTErrInfoSet(pErrInfo, rc, "SUP_IOCTL_LDR_LOAD failed"); +- } +- else +- { +- LogRel(("SUP: RTLdrEnumSymbols failed for %s (%s) rc=%Rrc\n", pszModule, pszFilename, rc)); +- RTErrInfoSetF(pErrInfo, rc, "RTLdrEnumSymbols #2 failed"); +- } +- } +- else +- { +- LogRel(("SUP: Failed to get entry point '%s' for %s (%s) rc=%Rrc\n", pszEp, pszModule, pszFilename, rc)); +- RTErrInfoSetF(pErrInfo, rc, "Failed to resolve entry point '%s'", pszEp); +- } ++ rc = supLoadModuleInner(hLdrMod, pLoadReq, cbImageWithEverything, OpenReq.u.Out.pvImageBase, CalcArgs.cbImage, ++ pszModule, pszFilename, OpenReq.u.Out.fNativeLoader, fIsVMMR0, pszSrvReqHandler, ++ offSymTab, CalcArgs.cSymbols, ++ offStrTab, CalcArgs.cbStrings, ++ offSegTab, SegArgs.iSegs, ++ pErrInfo); ++ RTMemTmpFree(pLoadReq); + } + else + { +- LogRel(("SUP: RTLdrGetBits failed for %s (%s). rc=%Rrc\n", pszModule, pszFilename, rc)); +- if (!RTErrInfoIsSet(pErrInfo)) +- RTErrInfoSetF(pErrInfo, rc, "RTLdrGetBits failed"); ++ AssertMsgFailed(("failed to allocated %u bytes for SUPLDRLOAD_IN structure!\n", SUP_IOCTL_LDR_LOAD_SIZE(cbImageWithEverything))); ++ rc = RTErrInfoSetF(pErrInfo, VERR_NO_TMP_MEMORY, "Failed to allocate %u bytes for the load request", ++ SUP_IOCTL_LDR_LOAD_SIZE(cbImageWithEverything)); + } +- RTMemTmpFree(pLoadReq); + } +- else ++ /* ++ * Already loaded? ++ */ ++ else if (RT_SUCCESS(rc)) + { +- AssertMsgFailed(("failed to allocated %u bytes for SUPLDRLOAD_IN structure!\n", SUP_IOCTL_LDR_LOAD_SIZE(cbImageWithTabs))); +- rc = VERR_NO_TMP_MEMORY; +- RTErrInfoSetF(pErrInfo, rc, "Failed to allocate %u bytes for the load request", SUP_IOCTL_LDR_LOAD_SIZE(cbImageWithTabs)); +- } +- } +- /* +- * Already loaded? +- */ +- else if (RT_SUCCESS(rc)) +- { +- if (fIsVMMR0) +- g_pvVMMR0 = OpenReq.u.Out.pvImageBase; +- LogRel(("SUP: Opened %s (%s) at %#RKv%s.\n", pszModule, pszFilename, OpenReq.u.Out.pvImageBase, +- OpenReq.u.Out.fNativeLoader ? " loaded by the native ring-0 loader" : "")); ++ if (fIsVMMR0) ++ g_pvVMMR0 = OpenReq.u.Out.pvImageBase; ++ LogRel(("SUP: Opened %s (%s) at %#RKv%s.\n", pszModule, pszFilename, OpenReq.u.Out.pvImageBase, ++ OpenReq.u.Out.fNativeLoader ? " loaded by the native ring-0 loader" : "")); + #ifdef RT_OS_WINDOWS +- LogRel(("SUP: windbg> .reload /f %s=%#RKv\n", pszFilename, OpenReq.u.Out.pvImageBase)); ++ LogRel(("SUP: windbg> .reload /f %s=%#RKv\n", pszFilename, OpenReq.u.Out.pvImageBase)); + #endif ++ } ++ /* ++ * No, failed. ++ */ ++ else ++ RTErrInfoSet(pErrInfo, rc, "SUP_IOCTL_LDR_OPEN failed"); + } +- /* +- * No, failed. +- */ +- else +- RTErrInfoSet(pErrInfo, rc, "SUP_IOCTL_LDR_OPEN failed"); ++ else if (!RTErrInfoIsSet(pErrInfo) && pErrInfo) ++ RTErrInfoSetF(pErrInfo, rc, "RTLdrEnumSegments #1 failed"); + } + else + RTErrInfoSetF(pErrInfo, rc, "RTLdrEnumSymbols #1 failed"); +@@ -682,10 +928,10 @@ SUPR3DECL(int) SUPR3GetSymbolR0(void *pv + } + + +-SUPR3DECL(int) SUPR3LoadVMM(const char *pszFilename) ++SUPR3DECL(int) SUPR3LoadVMM(const char *pszFilename, PRTERRINFO pErrInfo) + { + void *pvImageBase; +- return SUPR3LoadModule(pszFilename, "VMMR0.r0", &pvImageBase, NULL /*pErrInfo*/); ++ return SUPR3LoadModule(pszFilename, "VMMR0.r0", &pvImageBase, pErrInfo); + } + + +--- a/src/VBox/HostDrivers/Support/testcase/tstInt.cpp ++++ b/src/VBox/HostDrivers/Support/testcase/tstInt.cpp +@@ -76,7 +76,8 @@ int main(int argc, char **argv) + /* + * Load VMM code. + */ +- rc = SUPR3LoadVMM(szAbsFile); ++ RTERRINFOSTATIC ErrInfo; ++ rc = SUPR3LoadVMM(szAbsFile, RTErrInfoInitStatic(&ErrInfo)); + if (RT_SUCCESS(rc)) + { + /* +@@ -208,7 +209,7 @@ int main(int argc, char **argv) + } + else + { +- RTPrintf("tstInt: SUPR3LoadVMM failed with rc=%Rrc\n", rc); ++ RTPrintf("tstInt: SUPR3LoadVMM failed with rc=%Rrc%#RTeim\n", rc, &ErrInfo.Core); + rcRet++; + } + +--- a/src/VBox/Devices/Makefile.kmk ++++ b/src/VBox/Devices/Makefile.kmk +@@ -52,7 +52,7 @@ if !defined(VBOX_ONLY_EXTPACKS) + if1of ($(KBUILD_TARGET_ARCH), $(VBOX_SUPPORTED_HOST_ARCHS)) + LIBRARIES += ServicesR0 + DLLS += VBoxDDU VBoxDD VBoxDD2 +- SYSMODS += VBoxDDR0 ++ $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += VBoxDDR0 + ifdef VBOX_WITH_RAW_MODE + SYSMODS += VBoxDDRC + endif +@@ -1370,7 +1370,7 @@ if defined(VBOX_WITH_EXTPACK) && defined + USB/DevXHCI.cpp + $(call VBOX_SET_VER_INFO_DLL,VBoxEhciR3,PUEL Extension Pack - EHCI Device) + +- SYSMODS += VBoxEhciR0 ++ $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += VBoxEhciR0 + VBoxEhciR0_TEMPLATE = VBoxR0ExtPackPuel + VBoxEhciR0_SOURCES = \ + USB/DevEHCI.cpp \ +@@ -1406,7 +1406,7 @@ if defined(VBOX_WITH_EXTPACK) && defined + VBoxPciRawDrv_SOURCES = Bus/DrvPciRaw.cpp + $(call VBOX_SET_VER_INFO_DLL,VBoxPciRawDrv,PUEL Extension Pack - PCI Passthrough Driver) + +- SYSMODS += VBoxPciRawR0 ++ $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += VBoxPciRawR0 + VBoxPciRawR0_TEMPLATE = VBoxR0ExtPackPuel + VBoxPciRawR0_SOURCES = Bus/DevPciRaw.cpp + $(call VBOX_SET_VER_INFO_R0,VBoxPciRawR0,PUEL Extension Pack - PCI Passthrough Driver$(COMMA) ring-0) +@@ -1424,7 +1424,7 @@ if defined(VBOX_WITH_EXTPACK) && defined + Storage/DevNVMe.cpp + $(call VBOX_SET_VER_INFO_DLL,VBoxNvmeR3,PUEL Extension Pack - NVMe Device) + +- SYSMODS += VBoxNvmeR0 ++ $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += VBoxNvmeR0 + VBoxNvmeR0_TEMPLATE = VBoxR0ExtPackPuel + VBoxNvmeR0_SOURCES = \ + Storage/DevNVMe.cpp +--- a/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk ++++ b/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk +@@ -242,7 +242,7 @@ if defined(VBOX_WITH_EXTPACK_VBOXDTRACE) + # The ring-0 part of VBoxDTrace. + # + ifneq ($(KBUILD_TARGET),solaris) # disabled on solaris - neiter needed nor currently able to build it here. +- SYSMODS += VBoxDTraceR0 ++ $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += VBoxDTraceR0 + endif + VBoxDTraceR0_TEMPLATE = VBoxR0ExtPackDTrace + VBoxDTraceR0_DEFS = IN_VBOXDTRACE_R0 IN_RT_R0 +--- a/src/VBox/ExtPacks/BusMouseSample/Makefile.kmk ++++ b/src/VBox/ExtPacks/BusMouseSample/Makefile.kmk +@@ -83,7 +83,7 @@ DLLS += VBoxBusMouseR3 + VBoxBusMouseR3_TEMPLATE = VBoxR3ExtPackBusMouse + VBoxBusMouseR3_SOURCES = DevBusMouse.cpp + +-SYSMODS += VBoxBusMouseR0 ++$(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += VBoxBusMouseR0 + VBoxBusMouseR0_TEMPLATE = VBoxR0ExtPackBusMouse + VBoxBusMouseR0_SOURCES = DevBusMouse.cpp + +--- a/src/VBox/Runtime/testcase/Makefile.kmk ++++ b/src/VBox/Runtime/testcase/Makefile.kmk +@@ -210,13 +210,13 @@ if1of ($(KBUILD_TARGET_ARCH), amd64 x86) + tstRTR0ThreadDriver + endif + if1of ($(KBUILD_TARGET_ARCH), $(VBOX_SUPPORTED_HOST_ARCHS)) +- SYSMODS += \ ++ $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += \ + tstLdrObjR0 + ifdef VBOX_WITH_RAW_MODE + SYSMODS += tstLdrObj + endif + endif +- SYSMODS += \ ++ $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += \ + tstRTR0MemUserKernel \ + tstRTR0SemMutex \ + tstRTR0Timer \ +@@ -224,7 +224,7 @@ if1of ($(KBUILD_TARGET_ARCH), amd64 x86) + tstRTR0Thread + if1of ($(KBUILD_TARGET), solaris darwin) + PROGRAMS += tstRTR0DbgKrnlInfoDriver +- SYSMODS += tstRTR0DbgKrnlInfo ++ $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += tstRTR0DbgKrnlInfo + endif # VBOX_SUPPORTED_HOST_ARCHS only + + endif +--- a/src/VBox/VMM/Makefile.kmk ++++ b/src/VBox/VMM/Makefile.kmk +@@ -435,7 +435,7 @@ ifndef VBOX_ONLY_EXTPACKS + # + # VMMR0.r0 + # +-SYSMODS += VMMR0 ++$(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += VMMR0 + VMMR0_TEMPLATE = VBoxR0 + VMMR0_SYSSUFF = .r0 + +--- a/src/VBox/ValidationKit/utils/misc/Makefile.kmk ++++ b/src/VBox/ValidationKit/utils/misc/Makefile.kmk +@@ -31,7 +31,7 @@ PROGRAMS += LoadGenerator + LoadGenerator_TEMPLATE = VBoxValidationKitR3Host + LoadGenerator_SOURCES = loadgenerator.cpp + +-SYSMODS += loadgeneratorR0 ++$(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += loadgeneratorR0 + loadgeneratorR0_TEMPLATE = VBoxValidationKitR0 + loadgeneratorR0_SOURCES = loadgeneratorR0.cpp + +--- a/src/VBox/HostDrivers/Support/SUPLib.cpp ++++ b/src/VBox/HostDrivers/Support/SUPLib.cpp +@@ -275,9 +275,9 @@ SUPR3DECL(int) SUPR3InitEx(bool fUnrestr + CookieReq.Hdr.rc = VERR_INTERNAL_ERROR; + strcpy(CookieReq.u.In.szMagic, SUPCOOKIE_MAGIC); + CookieReq.u.In.u32ReqVersion = SUPDRV_IOC_VERSION; +- const uint32_t uMinVersion = (SUPDRV_IOC_VERSION & 0xffff0000) == 0x002d0000 ++ const uint32_t uMinVersion = /*(SUPDRV_IOC_VERSION & 0xffff0000) == 0x002d0000 + ? 0x002d0001 +- : SUPDRV_IOC_VERSION & 0xffff0000; ++ :*/ SUPDRV_IOC_VERSION & 0xffff0000; + CookieReq.u.In.u32MinVersion = uMinVersion; + rc = suplibOsIOCtl(&g_supLibData, SUP_IOCTL_COOKIE, &CookieReq, SUP_IOCTL_COOKIE_SIZE); + if ( RT_SUCCESS(rc) +--- a/src/VBox/HostDrivers/Support/SUPDrvIOC.h ++++ b/src/VBox/HostDrivers/Support/SUPDrvIOC.h +@@ -220,9 +220,10 @@ typedef SUPREQHDR *PSUPREQHDR; + * -# When increment the major number, execute all pending work. + * + * @todo Pending work on next major version change: +- * - Move SUP_IOCTL_FAST_DO_NOP and SUP_VMMR0_DO_NEM_RUN after NEM. ++ * - Nothing. ++ * @note 0x002f0000 is used by 6.0. The next version number must be 0x00300000. + */ +-#define SUPDRV_IOC_VERSION 0x002d0001 ++#define SUPDRV_IOC_VERSION 0x002e0000 + + /** SUP_IOCTL_COOKIE. */ + typedef struct SUPCOOKIE +@@ -314,8 +315,8 @@ typedef struct SUPLDROPEN + { + struct + { +- /** Size of the image we'll be loading (including tables). */ +- uint32_t cbImageWithTabs; ++ /** Size of the image we'll be loading (including all tables). */ ++ uint32_t cbImageWithEverything; + /** The size of the image bits. (Less or equal to cbImageWithTabs.) */ + uint32_t cbImageBits; + /** Image name. +@@ -390,6 +391,29 @@ typedef SUPLDRSYM *PSUPLDRSYM; + /** Pointer to a const symbol table entry. */ + typedef SUPLDRSYM const *PCSUPLDRSYM; + ++#define SUPLDR_PROT_READ 1 /**< Grant read access (RTMEM_PROT_READ). */ ++#define SUPLDR_PROT_WRITE 2 /**< Grant write access (RTMEM_PROT_WRITE). */ ++#define SUPLDR_PROT_EXEC 4 /**< Grant execute access (RTMEM_PROT_EXEC). */ ++ ++/** ++ * A segment table entry - chiefly for conveying memory protection. ++ */ ++typedef struct SUPLDRSEG ++{ ++ /** The RVA of the segment. */ ++ uint32_t off; ++ /** The size of the segment. */ ++ uint32_t cb : 28; ++ /** The segment protection (SUPLDR_PROT_XXX). */ ++ uint32_t fProt : 3; ++ /** MBZ. */ ++ uint32_t fUnused; ++} SUPLDRSEG; ++/** Pointer to a segment table entry. */ ++typedef SUPLDRSEG *PSUPLDRSEG; ++/** Pointer to a const segment table entry. */ ++typedef SUPLDRSEG const *PCSUPLDRSEG; ++ + /** + * SUPLDRLOAD::u::In::EP type. + */ +@@ -443,7 +467,7 @@ typedef struct SUPLDRLOAD + /** The size of the image bits (starting at offset 0 and + * approaching offSymbols). */ + uint32_t cbImageBits; +- /** The offset of the symbol table. */ ++ /** The offset of the symbol table (SUPLDRSYM array). */ + uint32_t offSymbols; + /** The number of entries in the symbol table. */ + uint32_t cSymbols; +@@ -451,8 +475,12 @@ typedef struct SUPLDRLOAD + uint32_t offStrTab; + /** Size of the string table. */ + uint32_t cbStrTab; ++ /** Offset to the segment table (SUPLDRSEG array). */ ++ uint32_t offSegments; ++ /** Number of segments. */ ++ uint32_t cSegments; + /** Size of image data in achImage. */ +- uint32_t cbImageWithTabs; ++ uint32_t cbImageWithEverything; + /** The image data. */ + uint8_t abImage[1]; + } In; +--- a/src/VBox/HostDrivers/Support/SUPDrvInternal.h ++++ b/src/VBox/HostDrivers/Support/SUPDrvInternal.h +@@ -145,6 +145,12 @@ + # define SUPDRV_USE_MUTEX_FOR_GIP + #endif + ++#if defined(RT_OS_LINUX) /** @todo make everyone do this */ ++/** Use the RTR0MemObj API rather than the RTMemExecAlloc for the images. ++ * This is a good idea in general, but a necessity for @bugref{9801}. */ ++# define SUPDRV_USE_MEMOBJ_FOR_LDR_IMAGE ++#endif ++ + + /** + * OS debug print macro. +@@ -326,15 +332,20 @@ typedef struct SUPDRVLDRIMAGE + struct SUPDRVLDRIMAGE * volatile pNext; + /** Pointer to the image. */ + void *pvImage; ++#ifdef SUPDRV_USE_MEMOBJ_FOR_LDR_IMAGE ++ /** The memory object for the module allocation. */ ++ RTR0MEMOBJ hMemObjImage; ++#else + /** Pointer to the allocated image buffer. + * pvImage is 32-byte aligned or it may governed by the native loader (this + * member is NULL then). */ + void *pvImageAlloc; ++#endif + /** Magic value (SUPDRVLDRIMAGE_MAGIC). */ + uint32_t uMagic; + /** Size of the image including the tables. This is mainly for verification + * of the load request. */ +- uint32_t cbImageWithTabs; ++ uint32_t cbImageWithEverything; + /** Size of the image. */ + uint32_t cbImageBits; + /** The number of entries in the symbol table. */ +@@ -345,6 +356,10 @@ typedef struct SUPDRVLDRIMAGE + char *pachStrTab; + /** Size of the string table. */ + uint32_t cbStrTab; ++ /** Number of segments. */ ++ uint32_t cSegments; ++ /** Segments (for memory protection). */ ++ PSUPLDRSEG paSegments; + /** Pointer to the optional module initialization callback. */ + PFNR0MODULEINIT pfnModuleInit; + /** Pointer to the optional module termination callback. */ +--- a/src/VBox/HostDrivers/Support/SUPDrv.cpp ++++ b/src/VBox/HostDrivers/Support/SUPDrv.cpp +@@ -1734,11 +1734,10 @@ static int supdrvIOCtlInnerUnrestricted( + /* validate */ + PSUPLDROPEN pReq = (PSUPLDROPEN)pReqHdr; + REQ_CHECK_SIZES(SUP_IOCTL_LDR_OPEN); +- REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, pReq->u.In.cbImageWithTabs > 0); +- REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, pReq->u.In.cbImageWithTabs < 16*_1M); ++ REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, pReq->u.In.cbImageWithEverything > 0); ++ REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, pReq->u.In.cbImageWithEverything < 16*_1M); + REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, pReq->u.In.cbImageBits > 0); +- REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, pReq->u.In.cbImageBits > 0); +- REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, pReq->u.In.cbImageBits < pReq->u.In.cbImageWithTabs); ++ REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, pReq->u.In.cbImageBits < pReq->u.In.cbImageWithEverything); + REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, pReq->u.In.szName[0]); + REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, RTStrEnd(pReq->u.In.szName, sizeof(pReq->u.In.szName))); + REQ_CHECK_EXPR(SUP_IOCTL_LDR_OPEN, supdrvIsLdrModuleNameValid(pReq->u.In.szName)); +@@ -1754,19 +1753,29 @@ static int supdrvIOCtlInnerUnrestricted( + /* validate */ + PSUPLDRLOAD pReq = (PSUPLDRLOAD)pReqHdr; + REQ_CHECK_EXPR(Name, pReq->Hdr.cbIn >= SUP_IOCTL_LDR_LOAD_SIZE_IN(32)); +- REQ_CHECK_SIZES_EX(SUP_IOCTL_LDR_LOAD, SUP_IOCTL_LDR_LOAD_SIZE_IN(pReq->u.In.cbImageWithTabs), SUP_IOCTL_LDR_LOAD_SIZE_OUT); +- REQ_CHECK_EXPR(SUP_IOCTL_LDR_LOAD, pReq->u.In.cSymbols <= 16384); ++ REQ_CHECK_SIZES_EX(SUP_IOCTL_LDR_LOAD, SUP_IOCTL_LDR_LOAD_SIZE_IN(pReq->u.In.cbImageWithEverything), SUP_IOCTL_LDR_LOAD_SIZE_OUT); + REQ_CHECK_EXPR_FMT( !pReq->u.In.cSymbols +- || ( pReq->u.In.offSymbols < pReq->u.In.cbImageWithTabs +- && pReq->u.In.offSymbols + pReq->u.In.cSymbols * sizeof(SUPLDRSYM) <= pReq->u.In.cbImageWithTabs), +- ("SUP_IOCTL_LDR_LOAD: offSymbols=%#lx cSymbols=%#lx cbImageWithTabs=%#lx\n", (long)pReq->u.In.offSymbols, +- (long)pReq->u.In.cSymbols, (long)pReq->u.In.cbImageWithTabs)); ++ || ( pReq->u.In.cSymbols <= 16384 ++ && pReq->u.In.offSymbols >= pReq->u.In.cbImageBits ++ && pReq->u.In.offSymbols < pReq->u.In.cbImageWithEverything ++ && pReq->u.In.offSymbols + pReq->u.In.cSymbols * sizeof(SUPLDRSYM) <= pReq->u.In.cbImageWithEverything), ++ ("SUP_IOCTL_LDR_LOAD: offSymbols=%#lx cSymbols=%#lx cbImageWithEverything=%#lx\n", (long)pReq->u.In.offSymbols, ++ (long)pReq->u.In.cSymbols, (long)pReq->u.In.cbImageWithEverything)); + REQ_CHECK_EXPR_FMT( !pReq->u.In.cbStrTab +- || ( pReq->u.In.offStrTab < pReq->u.In.cbImageWithTabs +- && pReq->u.In.offStrTab + pReq->u.In.cbStrTab <= pReq->u.In.cbImageWithTabs +- && pReq->u.In.cbStrTab <= pReq->u.In.cbImageWithTabs), +- ("SUP_IOCTL_LDR_LOAD: offStrTab=%#lx cbStrTab=%#lx cbImageWithTabs=%#lx\n", (long)pReq->u.In.offStrTab, +- (long)pReq->u.In.cbStrTab, (long)pReq->u.In.cbImageWithTabs)); ++ || ( pReq->u.In.offStrTab < pReq->u.In.cbImageWithEverything ++ && pReq->u.In.offStrTab >= pReq->u.In.cbImageBits ++ && pReq->u.In.offStrTab + pReq->u.In.cbStrTab <= pReq->u.In.cbImageWithEverything ++ && pReq->u.In.cbStrTab <= pReq->u.In.cbImageWithEverything), ++ ("SUP_IOCTL_LDR_LOAD: offStrTab=%#lx cbStrTab=%#lx cbImageWithEverything=%#lx\n", (long)pReq->u.In.offStrTab, ++ (long)pReq->u.In.cbStrTab, (long)pReq->u.In.cbImageWithEverything)); ++ REQ_CHECK_EXPR_FMT( pReq->u.In.cSegments >= 1 ++ && pReq->u.In.cSegments <= 128 ++ && pReq->u.In.cSegments <= pReq->u.In.cbImageBits / PAGE_SIZE ++ && pReq->u.In.offSegments >= pReq->u.In.cbImageBits ++ && pReq->u.In.offSegments < pReq->u.In.cbImageWithEverything ++ && pReq->u.In.offSegments + pReq->u.In.cSegments * sizeof(SUPLDRSEG) <= pReq->u.In.cbImageWithEverything, ++ ("SUP_IOCTL_LDR_LOAD: offSegments=%#lx cSegments=%#lx cbImageWithEverything=%#lx\n", (long)pReq->u.In.offSegments, ++ (long)pReq->u.In.cSegments, (long)pReq->u.In.cbImageWithEverything)); + + if (pReq->u.In.cSymbols) + { +@@ -1774,15 +1783,37 @@ static int supdrvIOCtlInnerUnrestricted( + PSUPLDRSYM paSyms = (PSUPLDRSYM)&pReq->u.In.abImage[pReq->u.In.offSymbols]; + for (i = 0; i < pReq->u.In.cSymbols; i++) + { +- REQ_CHECK_EXPR_FMT(paSyms[i].offSymbol < pReq->u.In.cbImageWithTabs, +- ("SUP_IOCTL_LDR_LOAD: sym #%ld: symb off %#lx (max=%#lx)\n", (long)i, (long)paSyms[i].offSymbol, (long)pReq->u.In.cbImageWithTabs)); ++ REQ_CHECK_EXPR_FMT(paSyms[i].offSymbol < pReq->u.In.cbImageWithEverything, ++ ("SUP_IOCTL_LDR_LOAD: sym #%ld: symb off %#lx (max=%#lx)\n", (long)i, (long)paSyms[i].offSymbol, (long)pReq->u.In.cbImageWithEverything)); + REQ_CHECK_EXPR_FMT(paSyms[i].offName < pReq->u.In.cbStrTab, +- ("SUP_IOCTL_LDR_LOAD: sym #%ld: name off %#lx (max=%#lx)\n", (long)i, (long)paSyms[i].offName, (long)pReq->u.In.cbImageWithTabs)); ++ ("SUP_IOCTL_LDR_LOAD: sym #%ld: name off %#lx (max=%#lx)\n", (long)i, (long)paSyms[i].offName, (long)pReq->u.In.cbImageWithEverything)); + REQ_CHECK_EXPR_FMT(RTStrEnd((char const *)&pReq->u.In.abImage[pReq->u.In.offStrTab + paSyms[i].offName], + pReq->u.In.cbStrTab - paSyms[i].offName), +- ("SUP_IOCTL_LDR_LOAD: sym #%ld: unterminated name! (%#lx / %#lx)\n", (long)i, (long)paSyms[i].offName, (long)pReq->u.In.cbImageWithTabs)); ++ ("SUP_IOCTL_LDR_LOAD: sym #%ld: unterminated name! (%#lx / %#lx)\n", (long)i, (long)paSyms[i].offName, (long)pReq->u.In.cbImageWithEverything)); + } + } ++ { ++ uint32_t i; ++ uint32_t offPrevEnd = 0; ++ PSUPLDRSEG paSegs = (PSUPLDRSEG)&pReq->u.In.abImage[pReq->u.In.offSegments]; ++ for (i = 0; i < pReq->u.In.cSegments; i++) ++ { ++ REQ_CHECK_EXPR_FMT(paSegs[i].off < pReq->u.In.cbImageBits && !(paSegs[i].off & PAGE_OFFSET_MASK), ++ ("SUP_IOCTL_LDR_LOAD: seg #%ld: off %#lx (max=%#lx)\n", (long)i, (long)paSegs[i].off, (long)pReq->u.In.cbImageBits)); ++ REQ_CHECK_EXPR_FMT(paSegs[i].cb <= pReq->u.In.cbImageBits, ++ ("SUP_IOCTL_LDR_LOAD: seg #%ld: cb %#lx (max=%#lx)\n", (long)i, (long)paSegs[i].cb, (long)pReq->u.In.cbImageBits)); ++ REQ_CHECK_EXPR_FMT(paSegs[i].off + paSegs[i].cb <= pReq->u.In.cbImageBits, ++ ("SUP_IOCTL_LDR_LOAD: seg #%ld: off %#lx + cb %#lx = %#lx (max=%#lx)\n", (long)i, (long)paSegs[i].off, (long)paSegs[i].cb, (long)(paSegs[i].off + paSegs[i].cb), (long)pReq->u.In.cbImageBits)); ++ REQ_CHECK_EXPR_FMT(paSegs[i].fProt != 0, ++ ("SUP_IOCTL_LDR_LOAD: seg #%ld: off %#lx + cb %#lx\n", (long)i, (long)paSegs[i].off, (long)paSegs[i].cb)); ++ REQ_CHECK_EXPR_FMT(paSegs[i].fUnused == 0, ("SUP_IOCTL_LDR_LOAD: seg #%ld: fUnused=1\n", (long)i)); ++ REQ_CHECK_EXPR_FMT(offPrevEnd == paSegs[i].off, ++ ("SUP_IOCTL_LDR_LOAD: seg #%ld: off %#lx offPrevEnd %#lx\n", (long)i, (long)paSegs[i].off, (long)offPrevEnd)); ++ offPrevEnd = paSegs[i].off + paSegs[i].cb; ++ } ++ REQ_CHECK_EXPR_FMT(offPrevEnd == pReq->u.In.cbImageBits, ++ ("SUP_IOCTL_LDR_LOAD: offPrevEnd %#lx cbImageBits %#lx\n", (long)i, (long)offPrevEnd, (long)pReq->u.In.cbImageBits)); ++ } + + /* execute */ + pReq->Hdr.rc = supdrvIOCtl_LdrLoad(pDevExt, pSession, pReq); +@@ -5021,7 +5052,7 @@ static int supdrvIOCtl_LdrOpen(PSUPDRVDE + size_t cchName = strlen(pReq->u.In.szName); /* (caller checked < 32). */ + SUPDRV_CHECK_SMAP_SETUP(); + SUPDRV_CHECK_SMAP_CHECK(pDevExt, RT_NOTHING); +- LogFlow(("supdrvIOCtl_LdrOpen: szName=%s cbImageWithTabs=%d\n", pReq->u.In.szName, pReq->u.In.cbImageWithTabs)); ++ LogFlow(("supdrvIOCtl_LdrOpen: szName=%s cbImageWithEverything=%d\n", pReq->u.In.szName, pReq->u.In.cbImageWithEverything)); + + /* + * Check if we got an instance of the image already. +@@ -5035,7 +5066,8 @@ static int supdrvIOCtl_LdrOpen(PSUPDRVDE + { + if (RT_LIKELY(pImage->cUsage < UINT32_MAX / 2U)) + { +- /** @todo check cbImageBits and cbImageWithTabs here, if they differs that indicates that the images are different. */ ++ /** @todo check cbImageBits and cbImageWithEverything here, if they differs ++ * that indicates that the images are different. */ + pImage->cUsage++; + pReq->u.Out.pvImageBase = pImage->pvImage; + pReq->u.Out.fNeedsLoading = pImage->uState == SUP_IOCTL_LDR_OPEN; +@@ -5078,13 +5110,19 @@ static int supdrvIOCtl_LdrOpen(PSUPDRVDE + */ + pImage = (PSUPDRVLDRIMAGE)pv; + pImage->pvImage = NULL; ++#ifdef SUPDRV_USE_MEMOBJ_FOR_LDR_IMAGE ++ pImage->hMemObjImage = NIL_RTR0MEMOBJ; ++#else + pImage->pvImageAlloc = NULL; +- pImage->cbImageWithTabs = pReq->u.In.cbImageWithTabs; ++#endif ++ pImage->cbImageWithEverything = pReq->u.In.cbImageWithEverything; + pImage->cbImageBits = pReq->u.In.cbImageBits; + pImage->cSymbols = 0; + pImage->paSymbols = NULL; + pImage->pachStrTab = NULL; + pImage->cbStrTab = 0; ++ pImage->cSegments = 0; ++ pImage->paSegments = NULL; + pImage->pfnModuleInit = NULL; + pImage->pfnModuleTerm = NULL; + pImage->pfnServiceReqHandler = NULL; +@@ -5102,10 +5140,19 @@ static int supdrvIOCtl_LdrOpen(PSUPDRVDE + rc = supdrvOSLdrOpen(pDevExt, pImage, pReq->u.In.szFilename); + if (rc == VERR_NOT_SUPPORTED) + { ++#ifdef SUPDRV_USE_MEMOBJ_FOR_LDR_IMAGE ++ rc = RTR0MemObjAllocPage(&pImage->hMemObjImage, pImage->cbImageBits, true /*fExecutable*/); ++ if (RT_SUCCESS(rc)) ++ { ++ pImage->pvImage = RTR0MemObjAddress(pImage->hMemObjImage); ++ pImage->fNative = false; ++ } ++#else + pImage->pvImageAlloc = RTMemExecAlloc(pImage->cbImageBits + 31); + pImage->pvImage = RT_ALIGN_P(pImage->pvImageAlloc, 32); + pImage->fNative = false; + rc = pImage->pvImageAlloc ? VINF_SUCCESS : VERR_NO_EXEC_MEMORY; ++#endif + SUPDRV_CHECK_SMAP_CHECK(pDevExt, RT_NOTHING); + } + if (RT_FAILURE(rc)) +@@ -5138,41 +5185,90 @@ static int supdrvIOCtl_LdrOpen(PSUPDRVDE + + + /** ++ * Formats a load error message. ++ * ++ * @returns @a rc ++ * @param rc Return code. ++ * @param pReq The request. ++ * @param pszFormat The error message format string. ++ * @param ... Argument to the format string. ++ */ ++int VBOXCALL supdrvLdrLoadError(int rc, PSUPLDRLOAD pReq, const char *pszFormat, ...) ++{ ++ va_list va; ++ va_start(va, pszFormat); ++ pReq->u.Out.uErrorMagic = SUPLDRLOAD_ERROR_MAGIC; ++ RTStrPrintfV(pReq->u.Out.szError, sizeof(pReq->u.Out.szError), pszFormat, va); ++ va_end(va); ++ Log(("SUP_IOCTL_LDR_LOAD: %s [rc=%Rrc]\n", pReq->u.Out.szError, rc)); ++ return rc; ++} ++ ++ ++/** + * Worker that validates a pointer to an image entrypoint. + * ++ * Calls supdrvLdrLoadError on error. ++ * + * @returns IPRT status code. + * @param pDevExt The device globals. + * @param pImage The loader image. + * @param pv The pointer into the image. + * @param fMayBeNull Whether it may be NULL. +- * @param fCheckNative Whether to check with the native loaders. +- * @param pszSymbol The entrypoint name or log name. If the symbol ++ * @param pszSymbol The entrypoint name or log name. If the symbol is + * capitalized it signifies a specific symbol, otherwise it + * for logging. + * @param pbImageBits The image bits prepared by ring-3. ++ * @param pReq The request for passing to supdrvLdrLoadError. + * +- * @remarks Will leave the lock on failure. ++ * @note Will leave the loader lock on failure! + */ + static int supdrvLdrValidatePointer(PSUPDRVDEVEXT pDevExt, PSUPDRVLDRIMAGE pImage, void *pv, bool fMayBeNull, +- bool fCheckNative, const uint8_t *pbImageBits, const char *pszSymbol) ++ const uint8_t *pbImageBits, const char *pszSymbol, PSUPLDRLOAD pReq) + { + if (!fMayBeNull || pv) + { +- if ((uintptr_t)pv - (uintptr_t)pImage->pvImage >= pImage->cbImageBits) ++ uint32_t iSeg; ++ ++ /* Must be within the image bits: */ ++ uintptr_t const uRva = (uintptr_t)pv - (uintptr_t)pImage->pvImage; ++ if (uRva >= pImage->cbImageBits) + { + supdrvLdrUnlock(pDevExt); +- Log(("Out of range (%p LB %#x): %s=%p\n", pImage->pvImage, pImage->cbImageBits, pszSymbol, pv)); +- return VERR_INVALID_PARAMETER; ++ return supdrvLdrLoadError(VERR_INVALID_PARAMETER, pReq, ++ "Invalid entry point address %p given for %s: RVA %#zx, image size %#zx", ++ pv, pszSymbol, uRva, pImage->cbImageBits); + } + +- if (pImage->fNative && fCheckNative) ++ /* Must be in an executable segment: */ ++ for (iSeg = 0; iSeg < pImage->cSegments; iSeg++) ++ if (uRva - pImage->paSegments[iSeg].off < (uintptr_t)pImage->paSegments[iSeg].cb) ++ { ++ if (pImage->paSegments[iSeg].fProt & SUPLDR_PROT_EXEC) ++ break; ++ supdrvLdrUnlock(pDevExt); ++ return supdrvLdrLoadError(VERR_INVALID_PARAMETER, pReq, ++ "Bad entry point %p given for %s: not executable (seg #%u: %#RX32 LB %#RX32 prot %#x)", ++ pv, pszSymbol, iSeg, pImage->paSegments[iSeg].off, pImage->paSegments[iSeg].cb, ++ pImage->paSegments[iSeg].fProt); ++ } ++ if (iSeg >= pImage->cSegments) + { ++ supdrvLdrUnlock(pDevExt); ++ return supdrvLdrLoadError(VERR_INVALID_PARAMETER, pReq, ++ "Bad entry point %p given for %s: no matching segment found (RVA %#zx)!", ++ pv, pszSymbol, uRva); ++ } ++ ++ if (pImage->fNative) ++ { ++ /** @todo pass pReq along to the native code. */ + int rc = supdrvOSLdrValidatePointer(pDevExt, pImage, pv, pbImageBits, pszSymbol); + if (RT_FAILURE(rc)) + { + supdrvLdrUnlock(pDevExt); +- Log(("Bad entry point address: %s=%p (rc=%Rrc)\n", pszSymbol, pv, rc)); +- return rc; ++ return supdrvLdrLoadError(VERR_INVALID_PARAMETER, pReq, ++ "Bad entry point address %p for %s: rc=%Rrc\n", pv, pszSymbol, rc); + } + } + } +@@ -5223,27 +5319,6 @@ int VBOXCALL supdrvLdrLoadError(int rc, + + + /** +- * Formats a load error message. +- * +- * @returns @a rc +- * @param rc Return code. +- * @param pReq The request. +- * @param pszFormat The error message format string. +- * @param ... Argument to the format string. +- */ +-int VBOXCALL supdrvLdrLoadError(int rc, PSUPLDRLOAD pReq, const char *pszFormat, ...) +-{ +- va_list va; +- va_start(va, pszFormat); +- pReq->u.Out.uErrorMagic = SUPLDRLOAD_ERROR_MAGIC; +- RTStrPrintfV(pReq->u.Out.szError, sizeof(pReq->u.Out.szError), pszFormat, va); +- va_end(va); +- Log(("SUP_IOCTL_LDR_LOAD: %s [rc=%Rrc]\n", pReq->u.Out.szError, rc)); +- return rc; +-} +- +- +-/** + * Loads the image bits. + * + * This is the 2nd step of the loading. +@@ -5259,7 +5334,7 @@ static int supdrvIOCtl_LdrLoad(PSUPDRVDE + PSUPDRVLDRIMAGE pImage; + int rc; + SUPDRV_CHECK_SMAP_SETUP(); +- LogFlow(("supdrvIOCtl_LdrLoad: pvImageBase=%p cbImageWithBits=%d\n", pReq->u.In.pvImageBase, pReq->u.In.cbImageWithTabs)); ++ LogFlow(("supdrvIOCtl_LdrLoad: pvImageBase=%p cbImageWithEverything=%d\n", pReq->u.In.pvImageBase, pReq->u.In.cbImageWithEverything)); + SUPDRV_CHECK_SMAP_CHECK(pDevExt, RT_NOTHING); + + /* +@@ -5281,12 +5356,12 @@ static int supdrvIOCtl_LdrLoad(PSUPDRVDE + /* + * Validate input. + */ +- if ( pImage->cbImageWithTabs != pReq->u.In.cbImageWithTabs +- || pImage->cbImageBits != pReq->u.In.cbImageBits) ++ if ( pImage->cbImageWithEverything != pReq->u.In.cbImageWithEverything ++ || pImage->cbImageBits != pReq->u.In.cbImageBits) + { + supdrvLdrUnlock(pDevExt); +- return supdrvLdrLoadError(VERR_INVALID_HANDLE, pReq, "Image size mismatch found: %d(prep) != %d(load) or %d != %d", +- pImage->cbImageWithTabs, pReq->u.In.cbImageWithTabs, pImage->cbImageBits, pReq->u.In.cbImageBits); ++ return supdrvLdrLoadError(VERR_INVALID_HANDLE, pReq, "Image size mismatch found: %u(prep) != %u(load) or %u != %u", ++ pImage->cbImageWithEverything, pReq->u.In.cbImageWithEverything, pImage->cbImageBits, pReq->u.In.cbImageBits); + } + + if (pImage->uState != SUP_IOCTL_LDR_OPEN) +@@ -5306,35 +5381,56 @@ static int supdrvIOCtl_LdrLoad(PSUPDRVDE + return supdrvLdrLoadError(VERR_PERMISSION_DENIED, pReq, "Loader is locked down"); + } + ++ /* ++ * Copy the segments before we start using supdrvLdrValidatePointer for entrypoint validation. ++ */ ++ pImage->cSegments = pReq->u.In.cSegments; ++ { ++ size_t cbSegments = pImage->cSegments * sizeof(SUPLDRSEG); ++ pImage->paSegments = (PSUPLDRSEG)RTMemDup(&pReq->u.In.abImage[pReq->u.In.offSegments], cbSegments); ++ if (pImage->paSegments) /* Align the last segment size to avoid upsetting RTR0MemObjProtect. */ /** @todo relax RTR0MemObjProtect */ ++ pImage->paSegments[pImage->cSegments - 1].cb = RT_ALIGN_32(pImage->paSegments[pImage->cSegments - 1].cb, PAGE_SIZE); ++ else ++ { ++ supdrvLdrUnlock(pDevExt); ++ return supdrvLdrLoadError(VERR_NO_MEMORY, pReq, "Out of memory for segment table: %#x", cbSegments); ++ } ++ SUPDRV_CHECK_SMAP_CHECK(pDevExt, RT_NOTHING); ++ } ++ ++ /* ++ * Validate entrypoints. ++ */ + switch (pReq->u.In.eEPType) + { + case SUPLDRLOADEP_NOTHING: + break; + + case SUPLDRLOADEP_VMMR0: +- rc = supdrvLdrValidatePointer( pDevExt, pImage, pReq->u.In.EP.VMMR0.pvVMMR0, false, false, pReq->u.In.abImage, "pvVMMR0"); +- if (RT_SUCCESS(rc)) +- rc = supdrvLdrValidatePointer(pDevExt, pImage, pReq->u.In.EP.VMMR0.pvVMMR0EntryFast, false, true, pReq->u.In.abImage, "VMMR0EntryFast"); +- if (RT_SUCCESS(rc)) +- rc = supdrvLdrValidatePointer(pDevExt, pImage, pReq->u.In.EP.VMMR0.pvVMMR0EntryEx, false, true, pReq->u.In.abImage, "VMMR0EntryEx"); ++ if (pReq->u.In.EP.VMMR0.pvVMMR0 != pImage->pvImage) ++ { ++ supdrvLdrUnlock(pDevExt); ++ return supdrvLdrLoadError(VERR_INVALID_PARAMETER, pReq, "Invalid pvVMMR0 pointer: %p, expected %p", pReq->u.In.EP.VMMR0.pvVMMR0, pImage->pvImage); ++ } ++ rc = supdrvLdrValidatePointer(pDevExt, pImage, pReq->u.In.EP.VMMR0.pvVMMR0EntryFast, false, pReq->u.In.abImage, "VMMR0EntryFast", pReq); ++ if (RT_FAILURE(rc)) ++ return rc; ++ rc = supdrvLdrValidatePointer(pDevExt, pImage, pReq->u.In.EP.VMMR0.pvVMMR0EntryEx, false, pReq->u.In.abImage, "VMMR0EntryEx", pReq); + if (RT_FAILURE(rc)) +- return supdrvLdrLoadError(rc, pReq, "Invalid VMMR0 pointer"); ++ return rc; + break; + + case SUPLDRLOADEP_SERVICE: +- rc = supdrvLdrValidatePointer(pDevExt, pImage, pReq->u.In.EP.Service.pfnServiceReq, false, true, pReq->u.In.abImage, "pfnServiceReq"); ++ rc = supdrvLdrValidatePointer(pDevExt, pImage, pReq->u.In.EP.Service.pfnServiceReq, false, pReq->u.In.abImage, "pfnServiceReq", pReq); + if (RT_FAILURE(rc)) +- return supdrvLdrLoadError(rc, pReq, "Invalid pfnServiceReq pointer: %p", pReq->u.In.EP.Service.pfnServiceReq); ++ return rc; + if ( pReq->u.In.EP.Service.apvReserved[0] != NIL_RTR0PTR + || pReq->u.In.EP.Service.apvReserved[1] != NIL_RTR0PTR + || pReq->u.In.EP.Service.apvReserved[2] != NIL_RTR0PTR) + { + supdrvLdrUnlock(pDevExt); +- return supdrvLdrLoadError(VERR_INVALID_PARAMETER, pReq, +- "Out of range (%p LB %#x): apvReserved={%p,%p,%p} MBZ!", +- pImage->pvImage, pReq->u.In.cbImageWithTabs, +- pReq->u.In.EP.Service.apvReserved[0], +- pReq->u.In.EP.Service.apvReserved[1], ++ return supdrvLdrLoadError(VERR_INVALID_PARAMETER, pReq, "apvReserved={%p,%p,%p} MBZ!", ++ pReq->u.In.EP.Service.apvReserved[0], pReq->u.In.EP.Service.apvReserved[1], + pReq->u.In.EP.Service.apvReserved[2]); + } + break; +@@ -5344,12 +5440,12 @@ static int supdrvIOCtl_LdrLoad(PSUPDRVDE + return supdrvLdrLoadError(VERR_INVALID_PARAMETER, pReq, "Invalid eEPType=%d", pReq->u.In.eEPType); + } + +- rc = supdrvLdrValidatePointer(pDevExt, pImage, pReq->u.In.pfnModuleInit, true, true, pReq->u.In.abImage, "ModuleInit"); ++ rc = supdrvLdrValidatePointer(pDevExt, pImage, pReq->u.In.pfnModuleInit, true, pReq->u.In.abImage, "ModuleInit", pReq); + if (RT_FAILURE(rc)) +- return supdrvLdrLoadError(rc, pReq, "Invalid pfnModuleInit pointer: %p", pReq->u.In.pfnModuleInit); +- rc = supdrvLdrValidatePointer(pDevExt, pImage, pReq->u.In.pfnModuleTerm, true, true, pReq->u.In.abImage, "ModuleTerm"); ++ return rc; ++ rc = supdrvLdrValidatePointer(pDevExt, pImage, pReq->u.In.pfnModuleTerm, true, pReq->u.In.abImage, "ModuleTerm", pReq); + if (RT_FAILURE(rc)) +- return supdrvLdrLoadError(rc, pReq, "Invalid pfnModuleTerm pointer: %p", pReq->u.In.pfnModuleTerm); ++ return rc; + SUPDRV_CHECK_SMAP_CHECK(pDevExt, RT_NOTHING); + + /* +@@ -5361,10 +5457,8 @@ static int supdrvIOCtl_LdrLoad(PSUPDRVDE + pImage->cbStrTab = pReq->u.In.cbStrTab; + if (pImage->cbStrTab) + { +- pImage->pachStrTab = (char *)RTMemAlloc(pImage->cbStrTab); +- if (pImage->pachStrTab) +- memcpy(pImage->pachStrTab, &pReq->u.In.abImage[pReq->u.In.offStrTab], pImage->cbStrTab); +- else ++ pImage->pachStrTab = (char *)RTMemDup(&pReq->u.In.abImage[pReq->u.In.offStrTab], pImage->cbStrTab); ++ if (!pImage->pachStrTab) + rc = supdrvLdrLoadError(VERR_NO_MEMORY, pReq, "Out of memory for string table: %#x", pImage->cbStrTab); + SUPDRV_CHECK_SMAP_CHECK(pDevExt, RT_NOTHING); + } +@@ -5373,17 +5467,15 @@ static int supdrvIOCtl_LdrLoad(PSUPDRVDE + if (RT_SUCCESS(rc) && pImage->cSymbols) + { + size_t cbSymbols = pImage->cSymbols * sizeof(SUPLDRSYM); +- pImage->paSymbols = (PSUPLDRSYM)RTMemAlloc(cbSymbols); +- if (pImage->paSymbols) +- memcpy(pImage->paSymbols, &pReq->u.In.abImage[pReq->u.In.offSymbols], cbSymbols); +- else ++ pImage->paSymbols = (PSUPLDRSYM)RTMemDup(&pReq->u.In.abImage[pReq->u.In.offSymbols], cbSymbols); ++ if (!pImage->paSymbols) + rc = supdrvLdrLoadError(VERR_NO_MEMORY, pReq, "Out of memory for symbol table: %#x", cbSymbols); + SUPDRV_CHECK_SMAP_CHECK(pDevExt, RT_NOTHING); + } + } + + /* +- * Copy the bits / complete native loading. ++ * Copy the bits and apply permissions / complete native loading. + */ + if (RT_SUCCESS(rc)) + { +@@ -5395,7 +5487,26 @@ static int supdrvIOCtl_LdrLoad(PSUPDRVDE + rc = supdrvOSLdrLoad(pDevExt, pImage, pReq->u.In.abImage, pReq); + else + { ++#ifdef SUPDRV_USE_MEMOBJ_FOR_LDR_IMAGE ++ uint32_t i; + memcpy(pImage->pvImage, &pReq->u.In.abImage[0], pImage->cbImageBits); ++ ++ for (i = 0; i < pImage->cSegments; i++) ++ { ++ rc = RTR0MemObjProtect(pImage->hMemObjImage, pImage->paSegments[i].off, pImage->paSegments[i].cb, ++ pImage->paSegments[i].fProt); ++ if (RT_SUCCESS(rc)) ++ continue; ++ if (rc == VERR_NOT_SUPPORTED) ++ rc = VINF_SUCCESS; ++ else ++ rc = supdrvLdrLoadError(rc, pReq, "RTR0MemObjProtect failed on seg#%u %#RX32 LB %#RX32 fProt=%#x", ++ i, pImage->paSegments[i].off, pImage->paSegments[i].cb, pImage->paSegments[i].fProt); ++ break; ++ } ++#else ++ memcpy(pImage->pvImage, &pReq->u.In.abImage[0], pImage->cbImageBits); ++#endif + Log(("vboxdrv: Loaded '%s' at %p\n", pImage->szName, pImage->pvImage)); + } + SUPDRV_CHECK_SMAP_CHECK(pDevExt, RT_NOTHING); +@@ -5990,12 +6101,20 @@ static void supdrvLdrFree(PSUPDRVDEVEXT + pImage->pDevExt = NULL; + pImage->pNext = NULL; + pImage->uState = SUP_IOCTL_LDR_FREE; ++#ifdef SUPDRV_USE_MEMOBJ_FOR_LDR_IMAGE ++ RTR0MemObjFree(pImage->hMemObjImage, true /*fMappings*/); ++ pImage->hMemObjImage = NIL_RTR0MEMOBJ; ++#else + RTMemExecFree(pImage->pvImageAlloc, pImage->cbImageBits + 31); + pImage->pvImageAlloc = NULL; ++#endif ++ pImage->pvImage = NULL; + RTMemFree(pImage->pachStrTab); + pImage->pachStrTab = NULL; + RTMemFree(pImage->paSymbols); + pImage->paSymbols = NULL; ++ RTMemFree(pImage->paSegments); ++ pImage->paSegments = NULL; + RTMemFree(pImage); + } + +--- a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h ++++ b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h +@@ -176,6 +176,11 @@ + # include + #endif + ++/* for __flush_tlb_all() */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28) && (defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86)) ++# include ++#endif ++ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0) + # include + #else diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.8-4.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.8-4.patch deleted file mode 100644 index cb4148fc7..000000000 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.8-4.patch +++ /dev/null @@ -1,19 +0,0 @@ -Description: Fix kernel 5.8 forbidding use of vermagic.h header file -Author: Gianfranco Costamagna -Origin: https://www.virtualbox.org/ticket/19644 -Bug-Ubuntu: https://launchpad.net/bugs/1884652 -Last-Update: 2020-08-10 - ---- virtualbox-6.1.12-dfsg.orig/src/VBox/Additions/linux/sharedfolders/vfsmod.c -+++ virtualbox-6.1.12-dfsg/src/VBox/Additions/linux/sharedfolders/vfsmod.c -@@ -53,7 +53,9 @@ - #include - #include - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 62) --# include -+# if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) -+# include -+# endif - #endif - #include - #include diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.12.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.12.bb index e57df58d6..6c036d403 100644 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.12.bb +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.12.bb @@ -12,10 +12,7 @@ COMPATIBLE_MACHINE = "(qemux86|qemux86-64)" VBOX_NAME = "VirtualBox-${PV}" SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ - file://0001-fixes_for_mm_struct.patch \ - file://0002-fixes_for_module_memory.patch \ - file://0003-fixes_for_changes_in_cpu_tlbstate.patch \ - file://kernel-5.8-4.patch \ + file://021-linux-5-8.patch \ file://Makefile.utils \ " SRC_URI[md5sum] = "3c351f7fd6376e0bb3c8489505a9450c" diff --git a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.30.bb b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.30.bb index 20c7b2d37..93b0d6a67 100644 --- a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.30.bb +++ b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.30.bb @@ -32,7 +32,7 @@ inherit autotools-brokensep ptest pkgconfig PACKAGECONFIG ??= "gnutls libgcrypt nss openssl des" PACKAGECONFIG[gnutls] = ",,gnutls" PACKAGECONFIG[libgcrypt] = ",,libgcrypt" -PACKAGECONFIG[nss] = "--with-nss=${STAGING_DIR_HOST} --with-nspr=${STAGING_DIR_HOST},,nss nspr" +PACKAGECONFIG[nss] = "--with-nss=${STAGING_DIR_HOST} --with-nspr=${STAGING_DIR_HOST},--with-nss=no --with-nspr=no,nss nspr" PACKAGECONFIG[openssl] = ",,openssl" PACKAGECONFIG[des] = ",--disable-des,," diff --git a/meta-openembedded/meta-oe/recipes-test/cukinia/cukinia_0.5.1.bb b/meta-openembedded/meta-oe/recipes-test/cukinia/cukinia_0.5.1.bb new file mode 100644 index 000000000..34dd8c868 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-test/cukinia/cukinia_0.5.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "Linux firmware validation framework" +DESCRIPTION = "Cukinia is designed to help Linux-based embedded firmware \ +developers run simple system-level validation tests on their firmware." +HOMEPAGE = "https://github.com/savoirfairelinux/cukinia" +LICENSE = "GPLv3 & Apache-2.0" + +LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ + file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +SRC_URI = "git://github.com/savoirfairelinux/cukinia.git;protocol=https;branch=master" + +SRCREV = "ea934c5393ad99c37bec3c621a364122720cce02" + +S = "${WORKDIR}/git" + +do_install () { + install -d ${D}${sbindir} + install -m 0755 ${S}/cukinia ${D}${sbindir} +} diff --git a/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb b/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb index c10d20a64..b8d3a76e6 100644 --- a/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb +++ b/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb @@ -2,4 +2,4 @@ require meta-perl-base.bb SUMMARY = "meta-perl build test image" -IMAGE_INSTALL += "packagegroup-meta-perl" +IMAGE_INSTALL += "packagegroup-meta-perl packagegroup-meta-perl-extended" diff --git a/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb b/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb index 3b776f814..a9b4cc3c7 100644 --- a/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb +++ b/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb @@ -2,4 +2,8 @@ require meta-perl-base.bb SUMMARY = "meta-perl build ptest image" +inherit features_check + +REQUIRED_DISTRO_FEATURES += "ptest" + IMAGE_INSTALL += "packagegroup-meta-perl-ptest" diff --git a/meta-openembedded/meta-perl/recipes-perl/libdata/libdata-hexdump-perl_0.02.bb b/meta-openembedded/meta-perl/recipes-perl/libdata/libdata-hexdump-perl_0.02.bb index 6ab5a4204..44c651c4c 100644 --- a/meta-openembedded/meta-perl/recipes-perl/libdata/libdata-hexdump-perl_0.02.bb +++ b/meta-openembedded/meta-perl/recipes-perl/libdata/libdata-hexdump-perl_0.02.bb @@ -23,7 +23,7 @@ SRC_URI[sha256sum] = "1a9d843e7f667c1c6f77c67af5d77e7462ff23b41937cb17454d03535c S = "${WORKDIR}/Data-HexDump-${PV}" -inherit cpan ptest +inherit cpan ptest update-alternatives do_install_ptest () { install -d ${D}${PTEST_PATH}/t @@ -31,3 +31,8 @@ do_install_ptest () { } BBCLASSEXTEND = "native" + +ALTERNATIVES_PRIORITY = "100" +ALTERNATIVE_${PN} = "hexdump" +ALTERNATIVE_LINK_NAME[hexdump] = "${bindir}/hexdump" + diff --git a/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.64.bb b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.64.bb deleted file mode 100644 index 468add972..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.64.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "A Perl DBI driver for SQLite" -DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \ -thing in the distribution. So in order to get a fast transaction capable \ -RDBMS working for your perl project you simply have to install this \ -module, and nothing else. \ -" -HOMEPAGE = "https://metacpan.org/release/DBD-SQLite" - -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360" - -SRC_URI = "${CPAN_MIRROR}/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \ - file://sqlite-perl-test.pl \ -" - -SRC_URI[md5sum] = "10796495b52927eb2e1df34c86924027" -SRC_URI[sha256sum] = "f4ae8f7b50842305566aadd90f7bfd12a9e32b6c603a9b1c1529e73eb82aff01" - -UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P(\d+\.\d+))(?!_\d+).tar" - -S = "${WORKDIR}/DBD-SQLite-${PV}" - -DEPENDS += "libdbi-perl-native" - -inherit cpan ptest-perl - -RDEPENDS_${PN} += "libdbi-perl \ - sqlite3 \ - perl-module-constant \ - perl-module-locale \ - perl-module-tie-hash \ -" - -do_install_append() { - if [ ${PERL_DBM_TEST} = "1" ]; then - install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl - fi -} - -do_install_ptest() { - cp -r ${B}/MANIFEST ${D}${PTEST_PATH} - chown -R root:root ${D}${PTEST_PATH} -} - -RDEPENDS_${PN}-ptest += " \ - libtest-nowarnings-perl \ - perl-module-lib \ - perl-module-encode \ - perl-module-file-spec \ - perl-module-file-spec-functions \ - perl-module-findbin \ - perl-module-test-more \ - " - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.66.bb b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.66.bb new file mode 100644 index 000000000..aef1d348c --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.66.bb @@ -0,0 +1,56 @@ +SUMMARY = "A Perl DBI driver for SQLite" +DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \ +thing in the distribution. So in order to get a fast transaction capable \ +RDBMS working for your perl project you simply have to install this \ +module, and nothing else. \ +" +HOMEPAGE = "https://metacpan.org/release/DBD-SQLite" + +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360" + +SRC_URI = "${CPAN_MIRROR}/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \ + file://sqlite-perl-test.pl \ +" + +SRC_URI[md5sum] = "38581209de5c981f0e79840c8937fa16" +SRC_URI[sha256sum] = "89e75dff9f66c273e0e459d51f151f88960eb7d82e2821e6902f18688ba592fe" + +UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P(\d+\.\d+))(?!_\d+).tar" + +S = "${WORKDIR}/DBD-SQLite-${PV}" + +DEPENDS += "libdbi-perl-native" + +inherit cpan ptest-perl + +RDEPENDS_${PN} += "libdbi-perl \ + sqlite3 \ + perl-module-constant \ + perl-module-locale \ + perl-module-tie-hash \ +" + +do_install_append() { + if [ ${PERL_DBM_TEST} = "1" ]; then + install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl + fi +} + +do_install_ptest() { + cp -r ${B}/MANIFEST ${D}${PTEST_PATH} + chown -R root:root ${D}${PTEST_PATH} +} + +RDEPENDS_${PN}-ptest += " \ + libtest-nowarnings-perl \ + perl-module-lib \ + perl-module-encode \ + perl-module-file-spec \ + perl-module-file-spec-functions \ + perl-module-findbin \ + perl-module-test-more \ + " + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.06.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.06.bb deleted file mode 100644 index 24bde2163..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.06.bb +++ /dev/null @@ -1,106 +0,0 @@ -# NOTE: -# You should use perl-module-encode rather than this package -# unless you specifically need a version newer than what is -# provided by perl. - -SUMMARY = "Encode - character encodings" -DESCRIPTION = "The \"Encode\" module provides the interfaces between \ -Perl's strings and the rest of the system. Perl strings are sequences \ -of characters." - -AUTHOR = "Dan Kogai " -HOMEPAGE = "https://metacpan.org/release/Encode" -SECTION = "lib" -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5" - -SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz" -SRC_URI[md5sum] = "d2e51a37b4e1d5b16816604f02363637" -SRC_URI[sha256sum] = "5b2dcd6861287880584e63b2e518840d483aa38da70194cf64d9957282851eea" - -UPSTREAM_CHECK_REGEX = "Encode\-(?P(\d+\.\d+))(?!_\d+).tar" - -S = "${WORKDIR}/Encode-${PV}" - -inherit cpan ptest-perl - -do_install_prepend() { - # Requires "-T" (taint) option on command line - rm -rf ${B}/t/taint.t - # Circular dependency of perl-module-open on perl-module-encode - # and we cannot load perl-module-encode because we are providing - # an alternative - rm -rf ${B}/t/use-Encode-Alias.t -} - -do_install_ptest() { - mkdir ${D}${PTEST_PATH}/bin - cp -r ${B}/bin/piconv ${D}${PTEST_PATH}/bin - cp -r ${B}/blib ${D}${PTEST_PATH} - chown -R root:root ${D}${PTEST_PATH} -} - -# file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 -# file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 -# file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 -RCONFLICTS_${PN} = "perl-misc perl-module-encode" - -RDEPENDS_${PN} += " \ - perl-module-bytes \ - perl-module-constant \ - perl-module-parent \ - perl-module-storable \ - perl-module-xsloader \ - " - -RPROVIDES_${PN} += " \ - libencode-alias-perl \ - libencode-byte-perl \ - libencode-cjkconstants-perl \ - libencode-cn-perl \ - libencode-cn-hz-perl \ - libencode-config-perl \ - libencode-ebcdic-perl \ - libencode-encoder-perl \ - libencode-encoding-perl \ - libencode-gsm0338-perl \ - libencode-guess-perl \ - libencode-jp-perl \ - libencode-jp-h2z-perl \ - libencode-jp-jis7-perl \ - libencode-kr-perl \ - libencode-kr-2022_kr-perl \ - libencode-mime-header-perl \ - libencode-mime-name-perl \ - libencode-symbol-perl \ - libencode-tw-perl \ - libencode-unicode-perl \ - libencode-unicode-utf7-perl \ - libencoding-perl \ - libencode-internal-perl \ - libencode-mime-header-iso_2022_jp-perl \ - libencode-utf8-perl \ - libencode-utf_ebcdic-perl \ - " - -RDEPENDS_${PN}-ptest += " \ - perl-module-blib \ - perl-module-charnames \ - perl-module-file-compare \ - perl-module-file-copy \ - perl-module-filehandle \ - perl-module-findbin \ - perl-module-integer \ - perl-module-io-select \ - perl-module-ipc-open3 \ - perl-module-mime-base64 \ - perl-module-perlio \ - perl-module-perlio-encoding \ - perl-module-perlio-scalar \ - perl-module-test-more \ - perl-module-tie-scalar \ - perl-module-unicore \ - perl-module-utf8 \ - " - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.07.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.07.bb new file mode 100644 index 000000000..4b0c1d873 --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.07.bb @@ -0,0 +1,106 @@ +# NOTE: +# You should use perl-module-encode rather than this package +# unless you specifically need a version newer than what is +# provided by perl. + +SUMMARY = "Encode - character encodings" +DESCRIPTION = "The \"Encode\" module provides the interfaces between \ +Perl's strings and the rest of the system. Perl strings are sequences \ +of characters." + +AUTHOR = "Dan Kogai " +HOMEPAGE = "https://metacpan.org/release/Encode" +SECTION = "lib" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5" + +SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz" +SRC_URI[md5sum] = "a63fa96cbe236b2f7bb5a5e9fd740837" +SRC_URI[sha256sum] = "34a4ec9b574b7a6c6132c4ab3ded490fd600bc7ce382124aeda58bb1e112910f" + +UPSTREAM_CHECK_REGEX = "Encode\-(?P(\d+\.\d+))(?!_\d+).tar" + +S = "${WORKDIR}/Encode-${PV}" + +inherit cpan ptest-perl + +do_install_prepend() { + # Requires "-T" (taint) option on command line + rm -rf ${B}/t/taint.t + # Circular dependency of perl-module-open on perl-module-encode + # and we cannot load perl-module-encode because we are providing + # an alternative + rm -rf ${B}/t/use-Encode-Alias.t +} + +do_install_ptest() { + mkdir ${D}${PTEST_PATH}/bin + cp -r ${B}/bin/piconv ${D}${PTEST_PATH}/bin + cp -r ${B}/blib ${D}${PTEST_PATH} + chown -R root:root ${D}${PTEST_PATH} +} + +# file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 +# file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 +# file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 +RCONFLICTS_${PN} = "perl-misc perl-module-encode" + +RDEPENDS_${PN} += " \ + perl-module-bytes \ + perl-module-constant \ + perl-module-parent \ + perl-module-storable \ + perl-module-xsloader \ + " + +RPROVIDES_${PN} += " \ + libencode-alias-perl \ + libencode-byte-perl \ + libencode-cjkconstants-perl \ + libencode-cn-perl \ + libencode-cn-hz-perl \ + libencode-config-perl \ + libencode-ebcdic-perl \ + libencode-encoder-perl \ + libencode-encoding-perl \ + libencode-gsm0338-perl \ + libencode-guess-perl \ + libencode-jp-perl \ + libencode-jp-h2z-perl \ + libencode-jp-jis7-perl \ + libencode-kr-perl \ + libencode-kr-2022_kr-perl \ + libencode-mime-header-perl \ + libencode-mime-name-perl \ + libencode-symbol-perl \ + libencode-tw-perl \ + libencode-unicode-perl \ + libencode-unicode-utf7-perl \ + libencoding-perl \ + libencode-internal-perl \ + libencode-mime-header-iso_2022_jp-perl \ + libencode-utf8-perl \ + libencode-utf_ebcdic-perl \ + " + +RDEPENDS_${PN}-ptest += " \ + perl-module-blib \ + perl-module-charnames \ + perl-module-file-compare \ + perl-module-file-copy \ + perl-module-filehandle \ + perl-module-findbin \ + perl-module-integer \ + perl-module-io-select \ + perl-module-ipc-open3 \ + perl-module-mime-base64 \ + perl-module-perlio \ + perl-module-perlio-encoding \ + perl-module-perlio-scalar \ + perl-module-test-more \ + perl-module-tie-scalar \ + perl-module-unicore \ + perl-module-utf8 \ + " + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.25.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.25.bb deleted file mode 100644 index bda6ec1eb..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.25.bb +++ /dev/null @@ -1,66 +0,0 @@ -DESCRIPTION = "This package contains the DNS.pm module with friends." -HOMEPAGE = "http://www.net-dns.org/" -SECTION = "libs" -LICENSE = "MIT" - -LIC_FILES_CHKSUM = "file://README;beginline=252;endline=269;md5=27db37b42cd1a5173a53922d67072bcb" - -DEPENDS += "perl" - -SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz" - -SRC_URI[md5sum] = "5c0d1a6de317993e146ce6d37c897be5" -SRC_URI[sha256sum] = "10931927d32d771817f9cd7d5502794f245a86cb403310db33656e493f67ff25" - -UPSTREAM_CHECK_REGEX = "Net\-DNS\-(?P(\d+\.\d+))(?!_\d+).tar" - -S = "${WORKDIR}/Net-DNS-${PV}" - -EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" - -inherit cpan ptest-perl - -RDEPENDS_${PN} = " \ - libdigest-hmac-perl \ - perl-module-base \ - perl-module-constant \ - perl-module-digest-md5 \ - perl-module-digest-sha \ - perl-module-file-spec \ - perl-module-integer \ - perl-module-io-file \ - perl-module-io-select \ - perl-module-io-socket \ - perl-module-io-socket-ip \ - perl-module-mime-base64 \ - perl-module-scalar-util \ - perl-module-test-more \ - perl-module-time-local \ -" - -RRECOMMENDS_${PN} += " \ - libnet-dns-sec-perl \ -" - -RDEPENDS_${PN}-ptest += " \ - perl-module-encode \ - perl-module-encode-byte \ - perl-module-extutils-mm \ - perl-module-extutils-mm-unix \ - perl-module-overload \ -" - -python __anonymous () { - # rather than use "find" to determine libc-*.so, - # statically export the known paths for glibc and musl - import os - if d.getVar('TCLIBC') == "glibc": - os.environ["LIBC"] = "${STAGING_BASELIBDIR}/libc.so.6" - elif d.getVar('TCLIBC') == "musl": - os.environ["LIBC"] = "${STAGING_LIBDIR}/libc.so" - else: - raise bb.parse.SkipRecipe("incompatible with %s C library" % - d.getVar('TCLIBC')) -} - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.26.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.26.bb new file mode 100644 index 000000000..3b960778c --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.26.bb @@ -0,0 +1,66 @@ +DESCRIPTION = "This package contains the DNS.pm module with friends." +HOMEPAGE = "http://www.net-dns.org/" +SECTION = "libs" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://README;beginline=252;endline=269;md5=27db37b42cd1a5173a53922d67072bcb" + +DEPENDS += "perl" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz" + +SRC_URI[md5sum] = "6db2562b6c42619e9c7d7e62422af8c4" +SRC_URI[sha256sum] = "eabaecd0fdb3e6adef8c9e016e8509319f19caa8c76836253f7db72bafe56498" + +UPSTREAM_CHECK_REGEX = "Net\-DNS\-(?P(\d+\.\d+))(?!_\d+).tar" + +S = "${WORKDIR}/Net-DNS-${PV}" + +EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" + +inherit cpan ptest-perl + +RDEPENDS_${PN} = " \ + libdigest-hmac-perl \ + perl-module-base \ + perl-module-constant \ + perl-module-digest-md5 \ + perl-module-digest-sha \ + perl-module-file-spec \ + perl-module-integer \ + perl-module-io-file \ + perl-module-io-select \ + perl-module-io-socket \ + perl-module-io-socket-ip \ + perl-module-mime-base64 \ + perl-module-scalar-util \ + perl-module-test-more \ + perl-module-time-local \ +" + +RRECOMMENDS_${PN} += " \ + libnet-dns-sec-perl \ +" + +RDEPENDS_${PN}-ptest += " \ + perl-module-encode \ + perl-module-encode-byte \ + perl-module-extutils-mm \ + perl-module-extutils-mm-unix \ + perl-module-overload \ +" + +python __anonymous () { + # rather than use "find" to determine libc-*.so, + # statically export the known paths for glibc and musl + import os + if d.getVar('TCLIBC') == "glibc": + os.environ["LIBC"] = "${STAGING_BASELIBDIR}/libc.so.6" + elif d.getVar('TCLIBC') == "musl": + os.environ["LIBC"] = "${STAGING_LIBDIR}/libc.so" + else: + raise bb.parse.SkipRecipe("incompatible with %s C library" % + d.getVar('TCLIBC')) +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb b/meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb index 9b2406ba6..3fa56d439 100644 --- a/meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb +++ b/meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb @@ -3,40 +3,87 @@ SUMMARY = "Meta-perl packagegroup" inherit packagegroup PROVIDES = "${PACKAGES}" -PACKAGES = ' \ +PACKAGES = "\ packagegroup-meta-perl \ packagegroup-meta-perl-extended \ -' + ${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-meta-perl-ptest-packages", "", d)} \ +" RDEPENDS_packagegroup-meta-perl = "\ - libproc-waitstat-perl libmoo-perl libterm-readkey-perl \ - libunicode-linebreak-perl libcurses-perl libmime-types-perl \ - libmime-charset-perl libio-socket-ssl-perl libio-stringy-perl \ - libtext-iconv-perl libtext-charwidth-perl libtext-diff-perl \ - libtext-wrapi18n-perl liblocale-gettext-perl libdata-hexdump-perl \ - libextutils-installpaths-perl libextutils-helpers-perl libextutils-parsexs-perl \ - libextutils-config-perl libextutils-cppguess-perl libimport-into-perl \ - libcrypt-openssl-rsa-perl libcrypt-openssl-guess-perl libcrypt-openssl-random-perl \ - libxml-sax-writer-perl libxml-libxml-perl libxml-filter-buffertext-perl \ adduser \ - libauthen-sasl-perl libnet-ldap-perl libnet-dns-perl \ - libnet-dns-sec-perl libnet-libidn-perl libnet-ssleay-perl \ - libnet-telnet-perl libdevel-globaldestruction-perl libipc-signal-perl \ - librole-tiny-perl libencode-perl libencode-locale-perl \ - libfile-slurp-perl libcapture-tiny-perl \ + libalgorithm-diff-perl \ + libauthen-sasl-perl \ + libauthen-radius-perl \ + libcapture-tiny-perl \ + libcgi-perl \ + libdbd-sqlite-perl \ + libclass-method-modifiers-perl \ + libdigest-hmac-perl \ + libdigest-sha1-perl \ + libconfig-autoconf-perl \ + libcrypt-openssl-guess-perl \ + libcrypt-openssl-random-perl \ + libcrypt-openssl-rsa-perl \ + libhtml-parser-perl \ + libhtml-tree-perl \ + libhtml-tagset-perl \ + libimport-into-perl \ + libio-socket-ssl-perl \ + libio-stringy-perl \ + libipc-signal-perl \ + libcurses-perl \ + libmime-charset-perl \ + libmime-types-perl \ + libmodule-pluggable-perl \ + libmodule-runtime-perl \ + libmodule-build-tiny-perl \ + libdata-hexdump-perl \ + libnet-dns-perl \ + libnet-libidn-perl \ + libnet-dns-sec-perl \ + libnet-ldap-perl \ + libnet-ssleay-perl \ + libnet-telnet-perl \ + libproc-waitstat-perl \ + libdevel-globaldestruction-perl \ + libenv-perl \ + libfile-slurp-perl \ + libfile-slurper-perl \ + libtext-iconv-perl \ + libtext-diff-perl \ + libtext-charwidth-perl \ + libtext-wrapi18n-perl \ + libxml-libxml-perl \ + libxml-filter-buffertext-perl \ + libxml-sax-writer-perl \ + libextutils-config-perl \ + libextutils-cppguess-perl \ + libextutils-helpers-perl \ + libextutils-installpaths-perl \ + libextutils-parsexs-perl \ + liblocale-gettext-perl \ + libmoo-perl \ + librole-tiny-perl \ + libunix-statgrab \ + libstrictures-perl \ + libsub-exporter-progressive-perl \ + libsub-uplevel-perl \ + libterm-readkey-perl \ + libtest-deep-perl \ + libtest-harness-perl \ + libtest-nowarnings-perl \ + libtest-warn-perl \ + libtest-warnings-perl \ + libunicode-linebreak-perl \ po4a \ - libstrictures-perl libtest-harness-perl libsub-exporter-progressive-perl \ - libclass-method-modifiers-perl libhtml-parser-perl libhtml-tree-perl \ - libmodule-pluggable-perl libmodule-build-perl libmodule-runtime-perl \ - libmodule-build-tiny-perl libcgi-perl libalgorithm-diff-perl \ - libdbd-sqlite-perl libdigest-sha1-perl libdigest-hmac-perl \ - " +" RDEPENDS_packagegroup-meta-perl-extended = "\ - logcheck mime-construct \ - " + logcheck \ + mime-construct \ +" -RDEPENDS_packagegroup-meta-perl-ptest = "\ +RDEPENDS_packagegroup-meta-perl-ptest-packages = "\ libmime-types-perl-ptest \ libio-socket-ssl-perl-ptest \ libdata-hexdump-perl-ptest \ @@ -47,6 +94,9 @@ RDEPENDS_packagegroup-meta-perl-ptest = "\ libtest-harness-perl-ptest \ libdigest-sha1-perl-ptest \ libdigest-hmac-perl-ptest \ - " +" EXCLUDE_FROM_WORLD = "1" + +# perl-module-encode is preferred over libencode-perl +# libencode-locale-perl depends on libencode-perl diff --git a/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb b/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb index 5db5b8f8b..1b3aca561 100644 --- a/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb +++ b/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb @@ -6,7 +6,7 @@ HOMEPAGE = "https://po4a.alioth.debian.org" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=a96fc9b4cc36d80659e694ea109f0325" -SRC_URI = "git://alioth.debian.org/anonscm/git/po4a/po4a.git;protocol=https" +SRC_URI = "git://github.com/mquinson/po4a.git;protocol=https" # v0.49 SRCREV = "79ed87a577a543538fe39c7b60079981f5997072" diff --git a/meta-openembedded/meta-python/licenses/WTFPL b/meta-openembedded/meta-python/licenses/WTFPL new file mode 100644 index 000000000..5a8e33254 --- /dev/null +++ b/meta-openembedded/meta-python/licenses/WTFPL @@ -0,0 +1,14 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool.inc b/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool.inc deleted file mode 100644 index 11971dc4a..000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool.inc +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "A simple connection pool for gevent" -DESCRIPTION = "creates a pool of connections that can be used with gevent" -HOMEPAGE = "https://github.com/studio-ousia/gsocketpool" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4ba825394aec026b5f94edca44426859" -DEPENDS += "${PYTHON_PN}-gevent" -RDEPENDS_${PN} += "${PYTHON_PN}-gevent" - -SRC_URI[md5sum] = "49f5f292ef1b60944ae92ca426a5e550" -SRC_URI[sha256sum] = "f2e2749aceadce6b27ca52e2b0a64af99797746a8681e1a2963f72007c14cb14" - -inherit pypi diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python3-gsocketpool_0.1.6.bb b/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python3-gsocketpool_0.1.6.bb index 883621e21..d3e7d48da 100644 --- a/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python3-gsocketpool_0.1.6.bb +++ b/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python3-gsocketpool_0.1.6.bb @@ -1,2 +1,12 @@ -require python-gsocketpool.inc -inherit setuptools3 +SUMMARY = "A simple connection pool for gevent" +DESCRIPTION = "creates a pool of connections that can be used with gevent" +HOMEPAGE = "https://github.com/studio-ousia/gsocketpool" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4ba825394aec026b5f94edca44426859" +DEPENDS += "${PYTHON_PN}-gevent" +RDEPENDS_${PN} += "${PYTHON_PN}-gevent" + +SRC_URI[md5sum] = "49f5f292ef1b60944ae92ca426a5e550" +SRC_URI[sha256sum] = "f2e2749aceadce6b27ca52e2b0a64af99797746a8681e1a2963f72007c14cb14" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python-hpack.inc b/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python-hpack.inc deleted file mode 100644 index eccfa8c56..000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python-hpack.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Pure-Python HPACK header compression" -HOMEPAGE = "https://github.com/python-hyper/hpack" -LICENSE = "MIT" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=5bf1c68e73fbaec2b1687b7e71514393" - -SRC_URI[md5sum] = "556b0ae66180f54c2ce8029a0952088b" -SRC_URI[sha256sum] = "8eec9c1f4bfae3408a3f30500261f7e6a65912dc138526ea054f9ad98892e9d2" - -inherit pypi diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_3.0.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_3.0.0.bb deleted file mode 100644 index e196c55b3..000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_3.0.0.bb +++ /dev/null @@ -1,3 +0,0 @@ -require python-hpack.inc - -inherit setuptools3 diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_4.0.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_4.0.0.bb new file mode 100644 index 000000000..afba98e4b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_4.0.0.bb @@ -0,0 +1,10 @@ +DESCRIPTION = "Pure-Python HPACK header compression" +HOMEPAGE = "https://github.com/python-hyper/hpack" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=5bf1c68e73fbaec2b1687b7e71514393" + +SRC_URI[md5sum] = "27e01514ef06dc9fa0798d3dcb7de47c" +SRC_URI[sha256sum] = "fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python-hyperframe.inc b/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python-hyperframe.inc deleted file mode 100644 index 0066bf8e6..000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python-hyperframe.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "HTTP/2 framing layer for Python" -HOMEPAGE = "https://github.com/python-hyper/hyperframe" -LICENSE = "MIT" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=5bf1c68e73fbaec2b1687b7e71514393" - -SRC_URI[md5sum] = "6919183242feb26d8bce3b4cba81defd" -SRC_URI[sha256sum] = "a9f5c17f2cc3c719b917c4f33ed1c61bd1f8dfac4b1bd23b7c80b3400971b41f" - -inherit pypi diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_5.2.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_5.2.0.bb deleted file mode 100644 index f10fb6df1..000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_5.2.0.bb +++ /dev/null @@ -1,3 +0,0 @@ -require python-hyperframe.inc - -inherit setuptools3 diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.0.bb new file mode 100644 index 000000000..4a936b49a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.0.bb @@ -0,0 +1,10 @@ +DESCRIPTION = "HTTP/2 framing layer for Python" +HOMEPAGE = "https://github.com/python-hyper/hyperframe" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=5bf1c68e73fbaec2b1687b7e71514393" + +SRC_URI[md5sum] = "30136a712e092b1a45ae3cad3ae93131" +SRC_URI[sha256sum] = "742d2a4bc3152a340a49d59f32e33ec420aa8e7054c1444ef5c7efff255842f1" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc b/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc deleted file mode 100644 index e9eebe84a..000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "A gevent based messagpack rpc library" -DESCRIPTION = "mprpc is a fast implementation of the messagepack rpc protocol for python. \ -It is based on gevent for handling connections and enabling concurrent connections." -HOMEPAGE = "https://github.com/studio-ousia/mprpc" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4ba825394aec026b5f94edca44426859" -DEPENDS += "${PYTHON_PN}-gevent" -RDEPENDS_${PN} += "${PYTHON_PN}-gevent ${PYTHON_PN}-msgpack ${PYTHON_PN}-gsocketpool" - -SRC_URI[md5sum] = "8d97961051422f3de315613434982d3b" -SRC_URI[sha256sum] = "3589fd127482e291b1ec314d6f0e55cc13311c12932ace356d6178ea1ca28f6a" - -inherit pypi diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.17.bb b/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.17.bb index 837d604ed..14eef9691 100644 --- a/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.17.bb +++ b/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.17.bb @@ -1,2 +1,13 @@ -require python-mprpc.inc -inherit setuptools3 +SUMMARY = "A gevent based messagpack rpc library" +DESCRIPTION = "mprpc is a fast implementation of the messagepack rpc protocol for python. \ +It is based on gevent for handling connections and enabling concurrent connections." +HOMEPAGE = "https://github.com/studio-ousia/mprpc" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4ba825394aec026b5f94edca44426859" +DEPENDS += "${PYTHON_PN}-gevent" +RDEPENDS_${PN} += "${PYTHON_PN}-gevent ${PYTHON_PN}-msgpack ${PYTHON_PN}-gsocketpool" + +SRC_URI[md5sum] = "8d97961051422f3de315613434982d3b" +SRC_URI[sha256sum] = "3589fd127482e291b1ec314d6f0e55cc13311c12932ace356d6178ea1ca28f6a" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-priority/python-priority.inc b/meta-openembedded/meta-python/recipes-connectivity/python-priority/python-priority.inc deleted file mode 100644 index aa93819bc..000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-priority/python-priority.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "A pure-Python implementation of the HTTP/2 priority tree" -HOMEPAGE = "https://github.com/python-hyper/priority" -LICENSE = "MIT" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=ae57d8a09fc8b6b164d7357339619045" - -SRC_URI[md5sum] = "4f1ff52f7fa448e9d9cb46337ae86d1e" -SRC_URI[sha256sum] = "6bc1961a6d7fcacbfc337769f1a382c8e746566aaa365e78047abe9f66b2ffbe" - -inherit pypi diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-priority/python3-priority_1.3.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-priority/python3-priority_1.3.0.bb index fe756b56b..5d84571f9 100644 --- a/meta-openembedded/meta-python/recipes-connectivity/python-priority/python3-priority_1.3.0.bb +++ b/meta-openembedded/meta-python/recipes-connectivity/python-priority/python3-priority_1.3.0.bb @@ -1,3 +1,10 @@ -require python-priority.inc +DESCRIPTION = "A pure-Python implementation of the HTTP/2 priority tree" +HOMEPAGE = "https://github.com/python-hyper/priority" +LICENSE = "MIT" -inherit setuptools3 +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae57d8a09fc8b6b164d7357339619045" + +SRC_URI[md5sum] = "4f1ff52f7fa448e9d9cb46337ae86d1e" +SRC_URI[sha256sum] = "6bc1961a6d7fcacbfc337769f1a382c8e746566aaa365e78047abe9f66b2ffbe" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb b/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb index cc75fe6e4..6353d389b 100644 --- a/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb +++ b/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb @@ -2,5 +2,4 @@ require meta-python-image-base.bb SUMMARY = "meta-python build test image" -IMAGE_INSTALL += "packagegroup-meta-python \ - packagegroup-meta-python3" +IMAGE_INSTALL += "packagegroup-meta-python3" diff --git a/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb b/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb index 7ee15354a..d497016d4 100644 --- a/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb +++ b/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb @@ -2,4 +2,4 @@ require meta-python-image-base.bb SUMMARY = "meta-python ptest test image" -IMAGE_INSTALL += "packagegroup-meta-python-ptest" +IMAGE_INSTALL += "packagegroup-meta-python3-ptest" diff --git a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb index c03f610da..61623ac98 100644 --- a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb +++ b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb @@ -1,4 +1,4 @@ -SUMMARY = "Meta-oe ptest packagegroups" +SUMMARY = "Meta-python ptest packagegroups" inherit packagegroup @@ -13,62 +13,447 @@ RDEPENDS_packagegroup-meta-python3 = "\ " RDEPENDS_packagegroup-meta-python3 = "\ - python3-pyserial python3-gevent python3-alembic python3-robotframework-seriallibrary \ - python3-rfc3987 python3-xlrd python3-bandit python3-constantly python3-inflection \ - python3-javaobj-py3 python3-sh python3-pycrypto python3-pyasn1 python3-pydbus python3-wtforms \ - python3-pybluez python3-babel python3-parse-type python3-bitarray python3-django-south \ - python3-pyusb python3-prctl python3-jinja2 python3-werkzeug python3-pyjks python3-requests-ftp \ - python3-behave python3-pyyaml python3-tzlocal python3-pretend python3-stevedore \ - python3-sijax python3-langtable python3-requests-file python3-crcmod python3-robotframework \ - python3-pint python3-coverage python3-iso8601 python3-ndg-httpsclient python3-yappi python3-twofish \ - python3-speaklater python3-smbus python3-djangorestframework python3-msgpack python3-jsonpointer \ - python3-flask-script python3-cassandra-driver python3-ujson python3-aws-iot-device-sdk-python \ - python3-pytest-runner python3-pyiface python3-flask-login python3-markupsafe python3-setuptools-scm \ - python3-semver python3-sdnotify python3-flask-user python3-tornado python3-jsonpatch python3-pexpect \ - python3-progress python3-jsonschema python3-xstatic python3-pyroute2 python3-idna python3-sqlalchemy \ - python3-urllib3 python3-flask-mail python3-asn1crypto python3-pyinotify python3-intervals python3-pyperclip \ - python3-flask-bootstrap python3-pyudev python3-decorator python3-pybind11 python3-pluggy python3-redis \ - python3-pycryptodome python3-passlib python3-dominate python3-ply python3-ntplib python3-serpent python3-wrapt \ - python3-attrs python3-appdirs python3-isort python3-evdev python3-incremental python3-click python3-flask-nav \ - python3-webcolors python3-dateutil python3-blinker python3-hyperlink python3-lxml python3-pylint \ - python3-flask-migrate python3-pytest-tempdir python3-flask-restful python3-feedformatter \ - python3-pyasn1-modules python3-scapy python3-html5lib python3-dnspython python3-automat \ - python3-itsdangerous python3-pandas python3-pyfirmata python3-protobuf \ - python3-flask-babel python3-anyjson python3-flask-xstatic python3-multidict python3-prompt-toolkit \ - python3-periphery python3-greenlet python3-pytz python3-pyexpect python3-zopeinterface \ - python3-bcrypt python3-xstatic-font-awesome python3-m2crypto python3-parse python3-attr \ - python3-beautifulsoup4 python3-pycodestyle python3-oauthlib python3-grpcio python3-scrypt \ - python3-pyjwt python3-astroid python3-flask-pymongo python3-wcwidth python3-lazy-object-proxy \ - python3-websockets python3-pyzmq python3-pytest python3-chardet python3-vcversioner python3-whoosh \ - python3-pymisp python3-certifi python3-psutil python3-flask-sqlalchemy python3-humanize \ - python3-grpcio-tools python3-configparser python3-strict-rfc3339 python3-paho-mqtt \ - python3-pytest-helpers-namespace python3-flask python3-flask-wtf python3-visitor python3-pynetlinux \ - python3-requests python3-cryptography-vectors python3-spidev python3-pid python3-pymongo \ - python3-future python3-django python3-unidiff python3-webencodings python3-can python3-pyalsaaudio \ - python3-flask-sijax python3-cryptography python3-twisted python3-netaddr python3-pycparser \ - python3-flask-uploads python3-pysocks python3-cffi python3-editor python3-ptyprocess \ - python3-pyopenssl python3-ordered-set python3-simplejson python3-py \ + pamela \ + pyrtm \ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "python3-systemd", "", d)} \ + python3-bcrypt \ + python3-flask-mail \ + python3-editor \ + python3-flask-pymongo \ + python3-cffi \ + python3-pillow \ + python3-markupsafe \ + python3-flask-nav \ + python3-asciitree \ + python3-flask-sqlalchemy \ + python3-gevent \ + python3-attrs \ + python3-aenum \ + python3-gast \ + python3-blinker \ + python3-prettytable \ + python3-cmd2 \ + python3-aiofiles \ + python3-anyjson \ + python3-isodate \ + python3-incremental \ + python3-aiohttp-jinja2 \ + python3-aiohttp \ + python3-alembic \ + python3-ansi2html \ + python3-ansicolors \ + python3-argexec \ + python3-appdirs \ + python3-apply-defaults \ + python3-argh \ + python3-ply \ + python3-astroid \ + python3-ndg-httpsclient \ + python3-arpeggio \ + python3-astor \ + python3-pika \ + python3-asn1crypto \ + python3-async-timeout \ + python3-absl \ + python3-atomicwrites \ + python3-attr \ + python3-flask \ + python3-autobahn \ + python3-babel \ + python3-pretend \ + python3-automat \ + python3-ptyprocess \ + python3-aws-iot-device-sdk-python \ + python3-bandit \ + python3-backcall \ + python3-backports-functools-lru-cache \ + python3-beautifulsoup4 \ + python3-betamax \ + python3-behave \ + python3-jsonpointer \ + python3-bitarray \ + python3-bitstring \ + python3-bitstruct \ + python3-cachecontrol \ + python3-booleanpy \ + python3-cachetools \ + python3-can \ + python3-cantools \ + python3-cassandra-driver \ + python3-cbor2 \ + python3-chardet \ + python3-certifi \ + python3-isort \ + python3-colorama \ + python3-cheetah \ + python3-click \ + python3-huey \ + python3-coloredlogs \ + python3-colorlog \ + python3-wheel \ + python3-configshell-fb \ + python3-constantly \ + python3-contextlib2 \ + python3-configargparse \ + python3-crcmod \ + python3-configobj \ + python3-configparser \ + python3-cppy \ + python3-dbussy \ + python3-dateutil \ + python3-distro \ + python3-click-repl \ + python3-redis \ + python3-dominate \ + python3-et-xmlfile \ + python3-feedformatter \ + python3-flask-jsonpify \ + python3-flask-jwt \ + python3-flask-migrate \ + python3-pyinotify \ + python3-flask-restful \ + python3-flask-socketio \ + python3-gmqtt \ + python3-dateparser \ + python3-defusedxml \ + python3-rsa \ + python3-django-south \ + python3-grpcio \ + python3-pybind11-json \ + python3-google-api-python-client \ + python3-h5py \ + python3-dt-schema \ + python3-haversine \ + python3-fasteners \ + python3-flask-bootstrap \ + python3-dbus-next \ + python3-dnspython \ + python3-traitlets \ + python3-pybind11 \ + python3-flask-script \ + python3-flask-sijax \ + python3-html2text \ + python3-html5lib \ + python3-intervals \ + python3-ipy \ + python3-ipaddress \ + python3-iso8601 \ + python3-humanfriendly \ + python3-lrparsing \ + python3-itsdangerous \ + python3-hyperlink \ + python3-idna-ssl \ + python3-jdcal \ + python3-greenstalk \ + python3-icu \ + python3-jsonschema \ + python3-keras-applications \ + python3-idna \ + python3-sympy \ + python3-importlib-metadata \ + python3-langtable \ + python3-lockfile \ + python3-nmap \ + python3-jdatetime \ + python3-monotonic \ + python3-mpmath \ + python3-jedi \ + python3-jsonpatch \ + python3-jsonrpcserver \ + python3-libconf \ + python3-netifaces \ + python3-msm \ + python3-nocaselist \ + python3-keras-preprocessing \ + python3-flask-babel \ + python3-lorem \ + python3-javaobj-py3 \ + python3-passlib \ + python3-pathlib2 \ + python3-pexpect \ + python3-luma-oled \ + python3-pluggy \ + python3-lxml \ + python3-precise-runner \ + python3-padaos \ + python3-progress \ + python3-sqlalchemy \ + python3-sh \ + python3-petact \ + python3-mock \ + python3-msgpack \ + python3-pyasn1 \ + python3-msk \ + python3-openpyxl \ + python3-prctl \ + python3-pyatspi \ + python3-multidict \ + python3-netaddr \ + python3-parse \ + python3-oauthlib \ + python3-pyfirmata \ + python3-pandas \ + python3-padatious \ + python3-prompt-toolkit \ + python3-parse-type \ + python3-cycler \ + python3-decorator \ + python3-django \ + python3-croniter \ + python3-flask-user \ + python3-twitter \ + python3-evdev \ + python3-dynamic-dispatch \ + python3-click-spinner \ + python3-future \ + python3-geojson \ + python3-gunicorn \ + python3-engineio \ + python3-gmpy2 \ + python3-coverage \ + python3-fastnumbers \ + python3-fann2 \ + python3-gnupg \ + python3-flask-login \ + python3-pyzmq \ + python3-cryptography-vectors \ + python3-flask-uploads \ + python3-ecdsa \ + python3-networkx \ + python3-flask-xstatic \ + python3-pint \ + python3-iso3166 \ + python3-imageio \ + python3-mccabe \ + python3-kconfiglib \ + python3-grpcio-tools \ + python3-jinja2 \ + python3-jsmin \ + python3-greenlet \ + python3-idna \ + python3-flask-versioned \ + python3-httplib2 \ + python3-ipython-genutils \ + python3-kiwisolver \ + python3-lz4 \ + python3-obd \ + python3-markdown \ + python3-m2crypto \ + python3-paho-mqtt \ + python3-graphviz \ + python3-pyaudio \ + python3-pako \ + python3-meld3 \ + python3-parallax \ + python3-lazy-object-proxy \ + python3-license-expression \ + python3-luma-core \ + python3-natsort \ + python3-polyline \ + python3-ordered-set \ + python3-packaging \ + python3-parso \ + python3-pycparser \ + python3-pycrypto \ + python3-pydbus \ + python3-pathtools3 \ + python3-periphery \ + python3-pyiface \ + python3-pyjwt \ + python3-pykwalify \ + python3-pylint \ + python3-pynetlinux \ + python3-pickleshare \ + python3-pyopenssl \ + python3-protobuf \ + python3-py \ + python3-pyasn1-modules \ + python3-pyscaffold \ + python3-pyserial \ + python3-pysocks \ + python3-pytoml \ + python3-pytest-helpers-namespace \ + python3-more-itertools \ + python3-pytest-tempdir \ + python3-pyflakes \ + python3-pyrad \ + python3-pyusb \ + python3-pyhamcrest \ + python3-custom-inherit \ + python3-pymysql \ + python3-pyperclip \ + python3-rfc3339-validator \ + python3-pytz \ + python3-scrypt \ + python3-rdflib \ + python3-sijax \ + python3-regex \ + python3-slip-dbus \ + python3-smbus2 \ + python3-pytest-metadata \ + python3-term \ + python3-pystache \ + python3-pep8 \ + python3-pytest-runner \ + python3-pybluez \ + python3-rfc3986-validator \ + python3-pocketsphinx \ + python3-sdnotify \ + python3-pycodestyle \ + python3-pytest \ + python3-speaklater \ + python3-wtforms \ + python3-speedtest-cli \ + python3-pyudev \ + python3-sqlparse \ + python3-pyexpect \ + python3-pytest-html \ + python3-uritemplate \ + python3-cryptography \ + python3-requests \ + python3-test-generator \ + python3-whoosh \ + python3-xstatic-font-awesome \ + python3-tqdm \ + python3-vcversioner \ + python3-semver \ + python3-serpent \ + python3-spidev \ + python3-sqlsoup \ + python3-tornado \ + python3-trafaret \ + python3-urllib3 \ + python3-yappi \ + python3-zipp \ + python3-texttable \ + python3-humanize \ + python3-strict-rfc3339 \ + python3-supervisor \ + python3-toml \ + python3-diskcache \ + python3-requests-futures \ + python3-matplotlib \ + python3-sentry-sdk \ + python3-xlrd \ + python3-xstatic \ + python3-tzlocal \ + python3-wcwidth \ + python3-ntplib \ + python3-u-msgpack-python \ + python3-python-vlc \ + python3-xlsxwriter \ + python3-inflection \ + python3-tabulate \ + python3-typing-extensions \ + python3-pystemd \ + python3-pid \ + python3-pkgconfig \ + python3-pylyrics \ + python3-pyyaml \ + python3-raven \ + python3-stevedore \ + python3-requests-oauthlib \ + python3-rfc3987 \ + python3-psutil \ + python3-robotframework-seriallibrary \ + python3-pulsectl \ + python3-py-ubjson \ + python3-pyalsaaudio \ + python3-simpleeval \ + python3-smbus \ + python3-pychromecast \ + python3-pyjks \ + python3-pymongo \ + python3-spidev \ + python3-pynacl \ + python3-termcolor \ + python3-pyperf \ + python3-qrcode \ + python3-visitor \ + python3-pyroute2 \ + python3-webencodings \ + python3-pyrsistent \ + python3-werkzeug \ + python3-pydicti \ + python3-xmlrunner \ + python3-smpplib \ + python3-pymisp \ + python3-requests-file \ + python3-requests-toolbelt \ + python3-ruamel-yaml \ + python3-setuptools-scm \ + python3-socketio \ + python3-soupsieve \ + python3-textparser \ + python3-tinyrecord \ + python3-twine \ + python3-unidiff \ + python3-watchdog \ + python3-webcolors \ + python3-robotframework \ + python3-xxhash \ + python3-yarl \ + python3-zopeinterface \ + python3-requests-ftp \ + python3-scapy \ + python3-paramiko \ + python3-twofish \ + python3-simplejson \ + python3-snappy \ + python3-versiontools \ + python3-flask-wtf \ + python3-websockets \ + python3-werkzeug \ + python3-wrapt \ + python3-xmltodict \ + python3-trafaret-config \ + python3-twisted \ + python3-txaio \ + python3-typeguard \ + python3-pytest-timeout \ + python3-ujson \ + python3-waitress \ + python3-websocket-client \ + python3-xmodem \ + python3-djangorestframework \ + python3-pytest-asyncio \ + python3-nocasedict \ + python3-yamlloader \ + python3-ipython \ + python3-pycurl \ + gyp \ + python3-jsonref \ " RDEPENDS_packagegroup-meta-python3-extended = "\ - python3-pykickstart \ - python3-meh \ python3-blivet \ - python3-pywbem \ - python3-pyparted \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "python3-blivetgui", "", d)} \ + python3-cson \ + python3-meh \ + python3-pyephem \ + python3-pykickstart \ + python3-pyparted \ + python3-pywbem \ + python3-pywbemtools \ " RDEPENDS_packagegroup-meta-python3-connectivity = "\ - python3-pytun \ + python3-gsocketpool \ + python3-h2 \ + python3-hpack \ + python3-hyperframe \ python3-mprpc \ + python3-priority \ python3-pyconnman \ - python3-gsocketpool \ + python3-pyro4 \ + python3-thrift \ + python3-txws \ + python3-pytun \ + telepathy-python3 \ " RDEPENDS_packagegroup-meta-python3-ptest = "\ - python3-cryptography \ + python3-cryptography-ptest \ " EXCLUDE_FROM_WORLD = "1" diff --git a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp.inc b/meta-openembedded/meta-python/recipes-devtools/gyp/gyp.inc deleted file mode 100644 index 98ed42cc9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp.inc +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "GYP is a Meta-Build system: a build system that generates other build systems." -HOMEPAGE = "https://gyp.gsrc.io/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ab828cb8ce4c62ee82945a11247b6bbd" -SECTION = "devel" - -SRC_URI = "git://chromium.googlesource.com/external/gyp;protocol=https" -SRCREV = "fcd686f1880fa52a1ee78d3e98af1b88cb334528" - -S = "${WORKDIR}/git" -PV = "0.1+git${SRCPV}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb b/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb index 8e48a27fa..d668d1ca1 100644 --- a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb +++ b/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb @@ -1,2 +1,15 @@ +DESCRIPTION = "GYP is a Meta-Build system: a build system that generates other build systems." +HOMEPAGE = "https://gyp.gsrc.io/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ab828cb8ce4c62ee82945a11247b6bbd" +SECTION = "devel" + +SRC_URI = "git://chromium.googlesource.com/external/gyp;protocol=https" +SRCREV = "caa60026e223fc501e8b337fd5086ece4028b1c6" + +S = "${WORKDIR}/git" +PV = "0.1+git${SRCPV}" + inherit setuptools3 -require gyp.inc + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-fann2.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-fann2.inc deleted file mode 100644 index c415b35a9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-fann2.inc +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "Python bindings for Fast Artificial Neural Networks 2.2.0 (FANN >= 2.2.0)" -SECTION = "devel/python" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c73b943dc75f6f65e007c56ac6515c8f" - -SRC_URI[md5sum] = "0b85b418018746d63ed66b55465697a9" -SRC_URI[sha256sum] = "cdca0a65ad48e08320672affe38c3dd4ea15e27821e5e1db9fa2b34299bdd41e" - -DEPENDS += "swig-native libfann" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc deleted file mode 100644 index 0df276d15..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Flask extension for sending email" -DESCRIPTION = "A Flask extension for sending email" -HOMEPAGE = " https://github.com/rduplain/flask-email" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5b16dfa6d3f275ace5985bb92949f770" - -SRC_URI[md5sum] = "04b35a42a44ec7aa724ec8ce55e2e08e" -SRC_URI[sha256sum] = "22e5eb9a940bf407bcf30410ecc3708f3c56cc44b29c34e1726fe85006935f41" - -PYPI_PACKAGE = "Flask-Mail" - -RDEPENDS_${PN} = "${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc deleted file mode 100644 index 5202f8be0..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alembic" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85" - -SRC_URI[md5sum] = "bedeb0366740fda6912fea683be11968" -SRC_URI[sha256sum] = "a96ff1875a49a40bd3e8ac04fce73fdb0870b9211e6168608cbafa4eb839d502" - -PYPI_PACKAGE = "Flask-Migrate" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-flask-sqlalchemy \ - ${PYTHON_PN}-alembic \ - ${PYTHON_PN}-flask \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav.inc deleted file mode 100644 index 932ccdf4a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav.inc +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "Easily create navigation for Flask applications." -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=2729ee82259d601d90d28b0574d12416" - -SRC_URI[md5sum] = "4d51cfd06d58f8d0fe85775a6696c0e5" -SRC_URI[sha256sum] = "44e40b755380a1e68ab521a2f9174de259a2c94ddcdaabf36b3aca2e110a33f4" - -PYPI_PACKAGE = "flask-nav" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-blinker \ - ${PYTHON_PN}-flask \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc deleted file mode 100644 index 5fc35c193..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "PyMongo support for Flask applications" -DESCRIPTION = "PyMongo support for Flask applications." -HOMEPAGE = "https://github.com/mitsuhiko/flask/" -SECTION = "devel/python" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;beginline=1;endline=24;md5=424c4e1047d28e01b4e4634a069c019d" - -SRC_URI[md5sum] = "94df71e6800b1d7915cc91a74b70f959" -SRC_URI[sha256sum] = "620eb02dc8808a5fcb90f26cab6cba9d6bf497b15032ae3ca99df80366e33314" - -PYPI_PACKAGE = "Flask-PyMongo" - -DEPENDS = "${PYTHON_PN}-vcversioner ${PYTHON_PN}-vcversioner-native" - -RDEPENDS_${PN} = "${PYTHON_PN}-pymongo ${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc deleted file mode 100644 index dcbcd0d76..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Simple framework for creating REST APIs" -DESCRIPTION = "\ -Flask-RESTful is an extension for Flask that adds support for quickly building \ -REST APIs" -HOMEPAGE = "https://github.com/flask-restful/flask-restful" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=685bb55ed99a366bb431995f5eef2783" - -SRC_URI[md5sum] = "a7217ef1159be38af5faf61aa09aabef" -SRC_URI[sha256sum] = "f8240ec12349afe8df1db168ea7c336c4e5b0271a36982bff7394f93275f2ca9" - -inherit pypi - -PYPI_PACKAGE = "Flask-RESTful" - -RDEPENDS_${PN} = "${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-socketio.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-socketio.inc deleted file mode 100644 index 8d778d4bf..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-socketio.inc +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Socket.IO integration for Flask applications" -HOMEPAGE = "https://github.com/miguelgrinberg/Flask-SocketIO/" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=38cc21254909604298ce763a6e4440a0" - -inherit pypi - -PYPI_PACKAGE = "Flask-SocketIO" - -SRC_URI[md5sum] = "b23222fb7dd2f0676d78bbe24153fd80" -SRC_URI[sha256sum] = "2172dff1e42415ba480cee02c30c2fc833671ff326f1598ee3d69aa02cf768ec" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-flask \ - ${PYTHON_PN}-socketio \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc deleted file mode 100644 index 86ba9dda5..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Adds SQLAlchemy support to your Flask application." -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" - -SRC_URI[md5sum] = "1f5781cf3e1a2b1aabda47a5b20d2073" -SRC_URI[sha256sum] = "6974785d913666587949f7c2946f7001e4fa2cb2d19f4e69ead02e4b8f50b33d" - -PYPI_PACKAGE = "Flask-SQLAlchemy" - -RDEPENDS_${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc deleted file mode 100644 index adef32cc8..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Customizable user account management for Flask" -DESCRIPTION = "Customizable User Account Management for Flask; Register \ -Confirm email, Login, Change username, Change password, Forgot Password \ -and more." -HOMEPAGE = " https://github.com/lingthio/Flask-User" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=97de97cd9d6e23c88129d884588ce71a" - -SRC_URI[md5sum] = "f7965e66ca139c8436896da07e66c21f" -SRC_URI[sha256sum] = "601abcc0343dfbae0c56273d98362d5cdc266ac84d20b3f65a212e4a2c83b302" - -PYPI_PACKAGE = "Flask-User" - -RDEPENDS_${PN} = "${PYTHON_PN}-flask \ - ${PYTHON_PN}-flask-login \ - ${PYTHON_PN}-flask-mail \ - ${PYTHON_PN}-babel" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc deleted file mode 100644 index 863671153..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "Simple integration of Flask and WTForms." -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3ca6bb31670492f791e6a9f2fb9f8a80" - -SRC_URI[md5sum] = "586f50f233926cade42e3d744aca3e8f" -SRC_URI[sha256sum] = "5d14d55cfd35f613d99ee7cba0fc3fbbe63ba02f544d349158c14ca15561cc36" - -PYPI_PACKAGE = "Flask-WTF" - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-flask \ - ${PYTHON_PN}-itsdangerous \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-wtforms \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc deleted file mode 100644 index 1263383da..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "A microframework based on Werkzeug, Jinja2 and good intentions" -DESCRIPTION = "\ -Flask is a microframework for Python based on Werkzeug, Jinja 2 and good \ -intentions. And before you ask: It’s BSD licensed!" -HOMEPAGE = "https://github.com/mitsuhiko/flask/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" - -SRC_URI[md5sum] = "0e3ed44ece1c489ed835d1b7047e349c" -SRC_URI[sha256sum] = "13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52" - -CLEANBROKEN = "1" - -PYPI_PACKAGE = "Flask" - -RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous ${PYTHON_PN}-click" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc deleted file mode 100644 index bc89d104a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "A coroutine-based Python networking library" -DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \ -a high-level synchronous API on top of the libevent event loop." -HOMEPAGE = "http://www.gevent.org" -LICENSE = "MIT & Python-2.0 & BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4de99aac27b470c29c6c309e0c279b65 \ - file://NOTICE;md5=18108df3583462cafd457f024b9b09b5 \ - file://deps/libev/LICENSE;md5=d6ad416afd040c90698edcdf1cbee347 \ - " -DEPENDS += "libevent" -DEPENDS += "${PYTHON_PN}-greenlet" -RDEPENDS_${PN} = "${PYTHON_PN}-greenlet \ - ${PYTHON_PN}-mime \ - ${PYTHON_PN}-pprint \ - " - -FILESEXTRAPATHS_prepend := "${THISDIR}/python-gevent:" - -SRC_URI_append = " \ - file://libev-conf.patch;patch=1;pnum=1 \ - file://0002-setup.py-do-not-query-for-include-dir.patch \ -" - -SRC_URI[md5sum] = "6b9dd98917061803d9158e5258b8f412" -SRC_URI[sha256sum] = "1eb7fa3b9bd9174dfe9c3b59b7a09b768ecd496debfc4976a9530a3e15c990d1" - -# The python-gevent has no autoreconf ability -# and the logic for detecting a cross compile is flawed -# so always force a cross compile -do_configure_append() { - sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/libev/configure - sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/c-ares/configure -} - -inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch deleted file mode 100644 index 7536b71a6..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a53ed6b2f967a5f95e69d51cad3f8c120d7df65b Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 7 Feb 2019 15:21:15 +0100 -Subject: [PATCH] setup.py: do not query for include dir - -As this will return the native python directory erroneously. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 86d6c5a..5d22291 100755 ---- a/setup.py -+++ b/setup.py -@@ -52,7 +52,7 @@ from _setupares import ARES - # Get access to the greenlet header file. - # The sysconfig dir is not enough if we're in a virtualenv - # See https://github.com/pypa/pip/issues/4610 --include_dirs = [sysconfig.get_path("include")] -+include_dirs = [] - venv_include_dir = os.path.join(sys.prefix, 'include', 'site', - 'python' + sysconfig.get_python_version()) - venv_include_dir = os.path.abspath(venv_include_dir) diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc deleted file mode 100644 index b14f82501..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Python interface for libsystemd" -HOMEPAGE = "https://github.com/systemd/python-systemd" -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c" - -PYPI_PACKAGE = "systemd-python" -DEPENDS += "systemd (<=234)" -RDEPENDS_${PN} += "systemd ${PYTHON_PN}-syslog ${PYTHON_PN}-logging" -REQUIRED_DISTRO_FEATURES = "systemd" -inherit pypi features_check - -SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d" -SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7" - -# allow for common patches for python- and python3-systemd -FILESEXTRAPATHS_prepend := "${THISDIR}/python-systemd:" - -SRC_URI += "file://endian.patch" - -SRC_URI_append_libc-musl = " file://0001-Provide-implementation-of-strndupa-for-musl.patch" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.10.0.bb new file mode 100644 index 000000000..5be00ccb4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.10.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Abseil Python Common Libraries" +HOMEPAGE = "https://github.com/abseil/abseil-py" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI[md5sum] = "9cb38ddf7a2f000e2c92e5d9dfa36ffa" +SRC_URI[sha256sum] = "b20f504a7871a580be5268a18fbad48af4203df5d33dbc9272426cb806245a45" + +PYPI_PACKAGE = "absl-py" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.9.0.bb deleted file mode 100644 index a8f47ba4c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.9.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Abseil Python Common Libraries" -HOMEPAGE = "https://github.com/abseil/abseil-py" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI = "git://github.com/abseil/abseil-py.git" -SRCREV ?= "06edd9c20592cec39178b94240b5e86f32e19768" - -inherit setuptools3 - -S = "${WORKDIR}/git" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.2.bb deleted file mode 100644 index 22630604b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "A database migration tool for SQLAlchemy" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bd64aba1b968c2bfbc2b525a181ce85c" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "1d67bdbd3abd33f0319afcd29bc59686" -SRC_URI[sha256sum] = "035ab00497217628bf5d0be82d664d8713ab13d37b630084da8e1f98facf4dbf" - -PYPI_PACKAGE = "alembic" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-dateutil \ - ${PYTHON_PN}-editor \ - ${PYTHON_PN}-mako \ - ${PYTHON_PN}-sqlalchemy \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.3.bb new file mode 100644 index 000000000..0e7f629d4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.3.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "A database migration tool for SQLAlchemy" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bd64aba1b968c2bfbc2b525a181ce85c" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "6051576d8e25e3d4a9fd818d79531bad" +SRC_URI[sha256sum] = "5334f32314fb2a56d86b4c4dd1ae34b08c03cae4cb888bc699942104d66bc245" + +PYPI_PACKAGE = "alembic" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-dateutil \ + ${PYTHON_PN}-editor \ + ${PYTHON_PN}-mako \ + ${PYTHON_PN}-sqlalchemy \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asciitree_0.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asciitree_0.3.3.bb new file mode 100644 index 000000000..833732bd4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asciitree_0.3.3.bb @@ -0,0 +1,9 @@ +SUMMARY = "Draws ASCII trees." +HOMEPAGE = "http://github.com/mbr/asciitree" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a985ccb0df374f2a8cab75010bf8db73" + +SRC_URI[md5sum] = "2570b31e563b69da1aff54509db8ac6a" +SRC_URI[sha256sum] = "4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.3.0.bb deleted file mode 100644 index 7ff8049e5..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.3.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "Classes Without Boilerplate" -HOMEPAGE = "http://www.attrs.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff" - -SRC_URI[sha256sum] = "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72" -SRC_URI[md5sum] = "5b2db50fcc31be34d32798183c9bd062" - -inherit pypi setuptools3 - -RDEPENDS_${PN}_class-target += " \ - ${PYTHON_PN}-crypt \ - ${PYTHON_PN}-ctypes \ -" -RDEPENDS_${PN}_class-nativesdk += " \ - ${PYTHON_PN}-crypt \ - ${PYTHON_PN}-ctypes \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_20.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_20.2.0.bb new file mode 100644 index 000000000..c2a5b9051 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_20.2.0.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Classes Without Boilerplate" +HOMEPAGE = "http://www.attrs.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff" + +SRC_URI[sha256sum] = "26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594" +SRC_URI[md5sum] = "7be95e1b35e9385d71a0017a48217efc" + +inherit pypi setuptools3 + +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-crypt \ + ${PYTHON_PN}-ctypes \ +" +RDEPENDS_${PN}_class-nativesdk += " \ + ${PYTHON_PN}-crypt \ + ${PYTHON_PN}-ctypes \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.5.2.bb deleted file mode 100644 index 15393001a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.5.2.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" -HOMEPAGE = "https://github.com/ilanschnell/bitarray" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" - -SRC_URI[md5sum] = "ccd872c5effef77bf4028c67c0619f6c" -SRC_URI[sha256sum] = "38fe66d5f7720835703a07fe8d0a4b5eda87f692f3cf4fb01543407b79857edf" - -inherit setuptools3 pypi - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.5.3.bb new file mode 100644 index 000000000..e36a17027 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.5.3.bb @@ -0,0 +1,11 @@ +SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" +HOMEPAGE = "https://github.com/ilanschnell/bitarray" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" + +SRC_URI[md5sum] = "7cfa242b99351646fab0d76b05aab747" +SRC_URI[sha256sum] = "567631fc922b1c2c528c376795f18dcc0604d18702e0b8b50e8e35f0474214a5" + +inherit setuptools3 pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.2.bb deleted file mode 100644 index 57c28954a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.2.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Foreign Function Interface for Python calling C code" -HOMEPAGE = "http://cffi.readthedocs.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf" -DEPENDS += "libffi ${PYTHON_PN}-pycparser" - -SRC_URI[md5sum] = "3cc2f1daf62dd66eda79b4d6281cebfc" -SRC_URI[sha256sum] = "ae8f34d50af2c2154035984b8b5fc5d9ed63f32fe615646ab435b05b132ca91b" - -inherit pypi setuptools3 - -RDEPENDS_${PN}_class-target = " \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-pycparser \ - ${PYTHON_PN}-shell \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.3.bb new file mode 100644 index 000000000..dbdd16f66 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.3.bb @@ -0,0 +1,19 @@ +SUMMARY = "Foreign Function Interface for Python calling C code" +HOMEPAGE = "http://cffi.readthedocs.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf" +DEPENDS += "libffi ${PYTHON_PN}-pycparser" + +SRC_URI[md5sum] = "c2a47ffd5d183b193ac8ed3414dcfd07" +SRC_URI[sha256sum] = "f92f789e4f9241cd262ad7a555ca2c648a98178a953af117ef7fad46aa1d5591" + +inherit pypi setuptools3 + +RDEPENDS_${PN}_class-target = " \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-pycparser \ + ${PYTHON_PN}-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.1.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.1.6.bb new file mode 100644 index 000000000..fce9f9805 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.1.6.bb @@ -0,0 +1,9 @@ +SUMMARY = "REPL plugin for Click" +HOMEPAGE = "https://github.com/untitaker/click-repl" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fee2943fdd4d8afbac9ccc1c8ac137d5" + +SRC_URI[md5sum] = "2d5f4d42cbd1da9a50a49dff4d6087ca" +SRC_URI[sha256sum] = "b9f29d52abc4d6059f8e276132a111ab8d94980afe6a5432b9d996544afa95d5" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner_0.1.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner_0.1.10.bb new file mode 100644 index 000000000..418f8a32a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-spinner_0.1.10.bb @@ -0,0 +1,9 @@ +SUMMARY = "Spinner for Click" +HOMEPAGE = "https://github.com/click-contrib/click-spinner" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" + +SRC_URI[md5sum] = "ab68ed404401421819c81cc6c0677a87" +SRC_URI[sha256sum] = "87eacf9d7298973a25d7615ef57d4782aebf913a532bba4b28a37e366e975daf" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_1.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_1.3.3.bb deleted file mode 100644 index a44f02f00..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_1.3.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Extra features for standard library's cmd module" -HOMEPAGE = "https://github.com/python-cmd2/cmd2" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9791cd24ca7d1807388ccd55cd066def" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -SRC_URI[md5sum] = "c8ffa926c50673f00fd8ff8533e9f959" -SRC_URI[sha256sum] = "38015008ff4639edfd66591063a0e9bb75a62dccb14ee3ec7bf3a6cb130de5cf" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-attrs \ - ${PYTHON_PN}-colorama \ - ${PYTHON_PN}-pyperclip \ - ${PYTHON_PN}-wcwidth \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_1.3.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_1.3.9.bb new file mode 100644 index 000000000..e677a6962 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_1.3.9.bb @@ -0,0 +1,20 @@ +SUMMARY = "Extra features for standard library's cmd module" +HOMEPAGE = "https://github.com/python-cmd2/cmd2" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9791cd24ca7d1807388ccd55cd066def" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +SRC_URI[md5sum] = "f5fbd528e7b5977ad71466947af61f99" +SRC_URI[sha256sum] = "7f8035faafda15d26098bf2ffe16aaba1c78511ce13e0815d2efe58ba392b501" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-attrs \ + ${PYTHON_PN}-colorama \ + ${PYTHON_PN}-pyperclip \ + ${PYTHON_PN}-wcwidth \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.2.1.bb deleted file mode 100644 index 48e352c1d..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.2.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Code coverage measurement for Python" -HOMEPAGE = "https://coverage.readthedocs.io" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93" - -SRC_URI[md5sum] = "9e6165146b9bda60a779953c79e8ca54" -SRC_URI[sha256sum] = "a34cb28e0747ea15e82d13e14de606747e9e484fb28d63c999483f5d5188e89b" - -inherit pypi setuptools3 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.3.bb new file mode 100644 index 000000000..2354c5e73 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.3.bb @@ -0,0 +1,10 @@ +SUMMARY = "Code coverage measurement for Python" +HOMEPAGE = "https://coverage.readthedocs.io" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93" + +SRC_URI[md5sum] = "c2faf2ccc498ce16fd48cc9201c520d7" +SRC_URI[sha256sum] = "280baa8ec489c4f542f8940f9c4c2181f0306a8ee1a54eceba071a449fb870a0" + +inherit pypi setuptools3 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.9.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.9.2.bb deleted file mode 100644 index 60316fc74..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.9.2.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Test vectors for the cryptography package." -HOMEPAGE = "https://cryptography.io/" -SECTION = "devel/python" -LICENSE = "Apache-2.0 | BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4" - -SRC_URI[md5sum] = "657349b8de73959fc49ba15fd7346b58" -SRC_URI[sha256sum] = "99ac91c4d89572399b097240809af1b8f67f4bedf43398d290c9b2b3d9f491b4" - -PYPI_PACKAGE = "cryptography_vectors" - -inherit pypi setuptools3 - -DEPENDS += " \ - ${PYTHON_PN}-cryptography \ -" - -BBCLASSEXTEND = "native nativesdk" - -UPSTREAM_CHECK_REGEX = "" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_3.1.bb new file mode 100644 index 000000000..59347c94e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_3.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "Test vectors for the cryptography package." +HOMEPAGE = "https://cryptography.io/" +SECTION = "devel/python" +LICENSE = "Apache-2.0 | BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4" + +SRC_URI[md5sum] = "1ba5b0743e2876e909f7cfc28b744f27" +SRC_URI[sha256sum] = "2660bc3a720d3955341803195ae5352a236c5f26e01a178c44fc5ee1f0ef1182" + +PYPI_PACKAGE = "cryptography_vectors" + +inherit pypi setuptools3 + +DEPENDS += " \ + ${PYTHON_PN}-cryptography \ +" + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_REGEX = "" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.0.bb deleted file mode 100644 index 05a2350e3..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.0.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "Provides cryptographic recipes and primitives to python developers" -HOMEPAGE = "https://cryptography.io/" -SECTION = "devel/python" -LICENSE = "Apache-2.0 | BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=097f805837700cfac572ac274cd38124" - -LDSHARED += "-pthread" - -SRC_URI[md5sum] = "163608a7cb838c6b39360e1e64377d54" -SRC_URI[sha256sum] = "8e924dbc025206e97756e8903039662aa58aa9ba357d8e1d8fc29e3092322053" - -SRC_URI += " \ - file://run-ptest \ - file://h-test.patch \ -" - -inherit pypi setuptools3 - -DEPENDS += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-cffi-native \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-six \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ -" - -RDEPENDS_${PN}_class-target += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-threading \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PN} \ - ${PYTHON_PN}-cryptography-vectors \ - ${PYTHON_PN}-iso8601 \ - ${PYTHON_PN}-pretend \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-pytz \ -" - -inherit ptest - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ - install -d ${D}${PTEST_PATH}/tests/hazmat - cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ -} - -FILES_${PN}-dbg += " \ - ${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.1.bb new file mode 100644 index 000000000..9ac23cda4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.1.bb @@ -0,0 +1,66 @@ +SUMMARY = "Provides cryptographic recipes and primitives to python developers" +HOMEPAGE = "https://cryptography.io/" +SECTION = "devel/python" +LICENSE = "Apache-2.0 | BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=097f805837700cfac572ac274cd38124" + +LDSHARED += "-pthread" + +SRC_URI[md5sum] = "aa91e4974981b29e99b863c54034c361" +SRC_URI[sha256sum] = "26409a473cc6278e4c90f782cd5968ebad04d3911ed1c402fc86908c17633e08" + +SRC_URI += " \ + file://run-ptest \ + file://h-test.patch \ +" + +inherit pypi setuptools3 + +DEPENDS += " \ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-cffi-native \ + ${PYTHON_PN}-asn1crypto \ + ${PYTHON_PN}-six \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-asn1crypto \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ +" + +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-asn1crypto \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-threading \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PN} \ + ${PYTHON_PN}-cryptography-vectors \ + ${PYTHON_PN}-iso8601 \ + ${PYTHON_PN}-pretend \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-pytz \ +" + +inherit ptest + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + install -d ${D}${PTEST_PATH}/tests/hazmat + cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ +} + +FILES_${PN}-dbg += " \ + ${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-custom-inherit_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-custom-inherit_2.3.0.bb new file mode 100644 index 000000000..489e71984 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-custom-inherit_2.3.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "A Python package that provides customized docstring inheritance schemes between derived classes and their parents." +HOMEPAGE = "https://github.com/rsokl/custom_inherit" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=adc1f231c76ee2f1f36025d56926ba2c" + +PYPI_PACKAGE = "custom_inherit" +PYPI_SRC_URI = "https://files.pythonhosted.org/packages/0e/82/c5bb7ec49a7892a2c583e1017597e3921c59171f10602086ca93c8a83baa/custom_inherit-${PV}.tar.gz" + +SRC_URI[md5sum] = "adf2850dc0e488df959821a5d4c16cbd" +SRC_URI[sha256sum] = "1609d283c2cffce3a58baf7c0c22b655c55f85e1ec39c4717a4423d34610723a" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.3.bb deleted file mode 100644 index 4da4be81b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.3.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "A zero-dependency DBus library for Python with asyncio support" -HOMEPAGE = "https://github.com/acrisci/python-dbus-next" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=94e750c96e56788499b56c81de91431c" - -SRC_URI[md5sum] = "a823270b11c8dd7932c12adc6b2fadbb" -SRC_URI[sha256sum] = "4dd9097778224c69228f7f2a0f52e9b13ec2c75e87974ad312525c927835e8fb" - -PYPI_PACKAGE = "dbus_next" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.4.bb new file mode 100644 index 000000000..0a5f19974 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.4.bb @@ -0,0 +1,13 @@ +SUMMARY = "A zero-dependency DBus library for Python with asyncio support" +HOMEPAGE = "https://github.com/acrisci/python-dbus-next" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=94e750c96e56788499b56c81de91431c" + +SRC_URI[md5sum] = "0d44e12e8689637a0c048ec7bb51d842" +SRC_URI[sha256sum] = "1b1942bffcc8c9a5bd6834257df227a55ee28e07dd413ead82ddd23115652363" + +PYPI_PACKAGE = "dbus_next" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_4.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_4.1.0.bb deleted file mode 100644 index 91cff0cd1..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_4.1.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "Disk Cache -- Disk and file backed persistent cache." -HOMEPAGE = "http://www.grantjenks.com/docs/diskcache/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9e046ce8fae71087134866418f646ec3" - -SRC_URI[md5sum] = "21c9945e7707799e1c64956f8a54d4c3" -SRC_URI[sha256sum] = "bcee5a59f9c264e2809e58d01be6569a3bbb1e36a1e0fb83f7ef9b2075f95ce0" - -PYPI_PACKAGE = "diskcache" - -inherit pypi setuptools3 - -CLEANBROKEN = "1" - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.0.3.bb new file mode 100644 index 000000000..7e89fa68a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.0.3.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Disk Cache -- Disk and file backed persistent cache." +HOMEPAGE = "http://www.grantjenks.com/docs/diskcache/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c985b6a9269e57a1073d5f142d68eb68" + +SRC_URI[md5sum] = "86fb97b0ff87cc5f1b31654ee0d341a1" +SRC_URI[sha256sum] = "5f4bc2018d653a1d7bbdcdecce45ea12061bf8d3b5f0323b7a5402054a285c52" + +PYPI_PACKAGE = "diskcache" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.13.bb deleted file mode 100644 index 55eacdff2..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.13.bb +++ /dev/null @@ -1,9 +0,0 @@ -require python-django.inc -inherit setuptools3 - -SRC_URI[md5sum] = "30c688af9b63c4800ef9b044e0dd4145" -SRC_URI[sha256sum] = "84f370f6acedbe1f3c41e1a02de44ac206efda3355e427139ecb785b5f596d80" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-sqlparse \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.16.bb new file mode 100644 index 000000000..0715abbd4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.16.bb @@ -0,0 +1,9 @@ +require python-django.inc +inherit setuptools3 + +SRC_URI[md5sum] = "93faf5bbd54a19ea49f4932a813b9758" +SRC_URI[sha256sum] = "62cf45e5ee425c52e411c0742e641a6588b7e8af0d2c274a27940931b2786594" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-sqlparse \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.1.bb new file mode 100644 index 000000000..ed6513d0c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.1.bb @@ -0,0 +1,14 @@ +require python-django.inc +inherit setuptools3 + +SRC_URI[md5sum] = "d5e894fb3c46064e84e9dc68a08a46d0" +SRC_URI[sha256sum] = "59c8125ca873ed3bdae9c12b146fbbd6ed8d0f743e4cf5f5817af50c51f1fc2f" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-sqlparse \ +" + +# Set DEFAULT_PREFERENCE so that the LTS version of django is built by +# default. To build the 3.x branch, +# PREFERRED_VERSION_python3-django = "3.1.1" can be added to local.conf +DEFAULT_PREFERENCE = "-1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.1.bb deleted file mode 100644 index 75dd4ef9f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.1.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API." -LICENSE = "LGPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b52f2d57d10c4f7ee67a7eb9615d5d24" - -SRC_URI[md5sum] = "35eeb6b5587c8c9a51cd22c83e07ac49" -SRC_URI[sha256sum] = "9b05481605ea8c0afd0a98c0156a9fb78d9c406368d66b3e6fedf36920fb9d78" - -inherit pypi setuptools3 ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-threading \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.2.bb new file mode 100644 index 000000000..204433894 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.2.bb @@ -0,0 +1,26 @@ +SUMMARY = "Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API." +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b52f2d57d10c4f7ee67a7eb9615d5d24" + +SRC_URI[md5sum] = "4a249c71cb009815923e9a47fa03ca08" +SRC_URI[sha256sum] = "456facce7a7ccfd9363948109cf1e978d48c58e46a46b01c71b4c0adc73b1928" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-threading \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.15.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.15.bb deleted file mode 100644 index aba62f3ef..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.15.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "ECDSA cryptographic signature library (pure python)" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=66ffc5e30f76cbb5358fe54b645e5a1d" - -DEPENDS += "python3-pip python3-pbr" - -PYPI_PACKAGE = "ecdsa" -SRC_URI[sha256sum] = "8f12ac317f8a1318efa75757ef0a651abe12e51fc1af8838fb91079445227277" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "python3-six python3-gmpy2 python3-pbr" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.16.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.16.0.bb new file mode 100644 index 000000000..36bb246fd --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.16.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "ECDSA cryptographic signature library (pure python)" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=66ffc5e30f76cbb5358fe54b645e5a1d" + +DEPENDS += "python3-pip python3-pbr" + +PYPI_PACKAGE = "ecdsa" +SRC_URI[md5sum] = "d593df1ab57da611dca76f7328c47b21" +SRC_URI[sha256sum] = "494c6a853e9ed2e9be33d160b41d47afc50a6629b993d2b9c5ad7bb226add892" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "python3-six python3-gmpy2 python3-pbr" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb index a04c961f4..3fdc1363c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb @@ -1,4 +1,13 @@ -require python-fann2.inc -inherit pypi setuptools3 +SUMMARY = "Python bindings for Fast Artificial Neural Networks 2.2.0 (FANN >= 2.2.0)" +SECTION = "devel/python" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c73b943dc75f6f65e007c56ac6515c8f" + +SRC_URI[md5sum] = "0b85b418018746d63ed66b55465697a9" +SRC_URI[sha256sum] = "cdca0a65ad48e08320672affe38c3dd4ea15e27821e5e1db9fa2b34299bdd41e" SRC_URI += " file://0001-setup.py-Don-t-hardcode-swig-and-fann2-binary-locati.patch" + +inherit pypi setuptools3 + +DEPENDS += "swig-native libfann" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_1.0.0.bb deleted file mode 100644 index d968be3ee..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_1.0.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "i18n and l10n support for Flask based on babel and pytz" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=51917f3e8e858f5ae295a7d0e2eb3cc9" - -SRC_URI[sha256sum] = "d6a70468f9a8919d59fba2a291a003da3a05ff884275dddbd965f3b98b09ab3e" - -PYPI_PACKAGE = "Flask-Babel" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-speaklater \ - ${PYTHON_PN}-babel \ - ${PYTHON_PN}-flask \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_2.0.0.bb new file mode 100644 index 000000000..8a01b49b4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_2.0.0.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "i18n and l10n support for Flask based on babel and pytz" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=51917f3e8e858f5ae295a7d0e2eb3cc9" + +SRC_URI[md5sum] = "50d5e92d96ef58787bf85b5a1b0a5567" +SRC_URI[sha256sum] = "f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d" + +PYPI_PACKAGE = "Flask-Babel" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-speaklater \ + ${PYTHON_PN}-babel \ + ${PYTHON_PN}-flask \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-mail_0.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-mail_0.9.1.bb index 0b963be56..7a89cac9d 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-mail_0.9.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-mail_0.9.1.bb @@ -1,2 +1,14 @@ +SUMMARY = "Flask extension for sending email" +DESCRIPTION = "A Flask extension for sending email" +HOMEPAGE = " https://github.com/rduplain/flask-email" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5b16dfa6d3f275ace5985bb92949f770" + +SRC_URI[md5sum] = "04b35a42a44ec7aa724ec8ce55e2e08e" +SRC_URI[sha256sum] = "22e5eb9a940bf407bcf30410ecc3708f3c56cc44b29c34e1726fe85006935f41" + +PYPI_PACKAGE = "Flask-Mail" + inherit pypi setuptools3 -require python-flask-mail.inc + +RDEPENDS_${PN} = "${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.2.bb deleted file mode 100644 index c98cbfddb..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-flask-migrate.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.3.bb new file mode 100644 index 000000000..54fa1dd97 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.3.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alembic" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85" + +SRC_URI[md5sum] = "707d4a5fd4e11d3113a1228aa7793176" +SRC_URI[sha256sum] = "a69d508c2e09d289f6e55a417b3b8c7bfe70e640f53d2d9deb0d056a384f37ee" + +PYPI_PACKAGE = "Flask-Migrate" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-flask-sqlalchemy \ + ${PYTHON_PN}-alembic \ + ${PYTHON_PN}-flask \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-nav_0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-nav_0.6.bb index d25115251..77735e325 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-nav_0.6.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-nav_0.6.bb @@ -1,2 +1,15 @@ +DESCRIPTION = "Easily create navigation for Flask applications." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=2729ee82259d601d90d28b0574d12416" + +SRC_URI[md5sum] = "4d51cfd06d58f8d0fe85775a6696c0e5" +SRC_URI[sha256sum] = "44e40b755380a1e68ab521a2f9174de259a2c94ddcdaabf36b3aca2e110a33f4" + +PYPI_PACKAGE = "flask-nav" + inherit pypi setuptools3 -require python-flask-nav.inc + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-blinker \ + ${PYTHON_PN}-flask \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb index 2102554b6..e3c744d92 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb @@ -1,2 +1,17 @@ +SUMMARY = "PyMongo support for Flask applications" +DESCRIPTION = "PyMongo support for Flask applications." +HOMEPAGE = "https://github.com/mitsuhiko/flask/" +SECTION = "devel/python" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;beginline=1;endline=24;md5=424c4e1047d28e01b4e4634a069c019d" + +SRC_URI[md5sum] = "94df71e6800b1d7915cc91a74b70f959" +SRC_URI[sha256sum] = "620eb02dc8808a5fcb90f26cab6cba9d6bf497b15032ae3ca99df80366e33314" + +PYPI_PACKAGE = "Flask-PyMongo" + inherit pypi setuptools3 -require python-flask-pymongo.inc + +DEPENDS = "${PYTHON_PN}-vcversioner ${PYTHON_PN}-vcversioner-native" + +RDEPENDS_${PN} = "${PYTHON_PN}-pymongo ${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.7.bb deleted file mode 100644 index 6bff59a56..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.7.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-flask-restful.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.8.bb new file mode 100644 index 000000000..3de916afd --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.8.bb @@ -0,0 +1,16 @@ +SUMMARY = "Simple framework for creating REST APIs" +DESCRIPTION = "\ +Flask-RESTful is an extension for Flask that adds support for quickly building \ +REST APIs" +HOMEPAGE = "https://github.com/flask-restful/flask-restful" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=685bb55ed99a366bb431995f5eef2783" + +SRC_URI[md5sum] = "e8051ff104ab4b3b867ba18d28953fae" +SRC_URI[sha256sum] = "5ea9a5991abf2cb69b4aac19793faac6c032300505b325687d7c305ffaa76915" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "Flask-RESTful" + +RDEPENDS_${PN} = "${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.2.1.bb deleted file mode 100644 index ffc4aa7fd..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.2.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-flask-socketio.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.3.1.bb new file mode 100644 index 000000000..b8631bf50 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.3.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "Socket.IO integration for Flask applications" +HOMEPAGE = "https://github.com/miguelgrinberg/Flask-SocketIO/" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=38cc21254909604298ce763a6e4440a0" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "Flask-SocketIO" + +SRC_URI[md5sum] = "d7992b0b4aaf473b7eff21fc14e8d1b2" +SRC_URI[sha256sum] = "36c1d5765010d1f4e4f05b4cc9c20c289d9dc70698c88d1addd0afcfedc5b062" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-flask \ + ${PYTHON_PN}-socketio \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.1.bb deleted file mode 100644 index 07f45bcff..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-flask-sqlalchemy.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.4.bb new file mode 100644 index 000000000..2755c7d6b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.4.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "Adds SQLAlchemy support to your Flask application." +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" + +SRC_URI[md5sum] = "63a522cb82a75292dc8bc77b6d26187a" +SRC_URI[sha256sum] = "bfc7150eaf809b1c283879302f04c42791136060c6eeb12c0c6674fb1291fae5" + +PYPI_PACKAGE = "Flask-SQLAlchemy" + +inherit pypi setuptools3 + +RDEPENDS_${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-user_0.6.19.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-user_0.6.19.bb index 251017f81..a59019af8 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-user_0.6.19.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-user_0.6.19.bb @@ -1,2 +1,19 @@ +SUMMARY = "Customizable user account management for Flask" +DESCRIPTION = "Customizable User Account Management for Flask; Register \ +Confirm email, Login, Change username, Change password, Forgot Password \ +and more." +HOMEPAGE = " https://github.com/lingthio/Flask-User" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=97de97cd9d6e23c88129d884588ce71a" + +SRC_URI[md5sum] = "f7965e66ca139c8436896da07e66c21f" +SRC_URI[sha256sum] = "601abcc0343dfbae0c56273d98362d5cdc266ac84d20b3f65a212e4a2c83b302" + +PYPI_PACKAGE = "Flask-User" + inherit pypi setuptools3 -require python-flask-user.inc + +RDEPENDS_${PN} = "${PYTHON_PN}-flask \ + ${PYTHON_PN}-flask-login \ + ${PYTHON_PN}-flask-mail \ + ${PYTHON_PN}-babel" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.2.bb deleted file mode 100644 index 52362a865..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-flask-wtf.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.3.bb new file mode 100644 index 000000000..213a0b58b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.3.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Simple integration of Flask and WTForms." +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3ca6bb31670492f791e6a9f2fb9f8a80" + +SRC_URI[md5sum] = "1b60b7dd1245b0d0173c21123717af61" +SRC_URI[sha256sum] = "d417e3a0008b5ba583da1763e4db0f55a1269d9dd91dcc3eb3c026d3c5dbd720" + +PYPI_PACKAGE = "Flask-WTF" + +inherit pypi setuptools3 + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-flask \ + ${PYTHON_PN}-itsdangerous \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-wtforms \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.1.bb deleted file mode 100644 index cd439900c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-flask.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.2.bb new file mode 100644 index 000000000..23799617f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.2.bb @@ -0,0 +1,18 @@ +SUMMARY = "A microframework based on Werkzeug, Jinja2 and good intentions" +DESCRIPTION = "\ +Flask is a microframework for Python based on Werkzeug, Jinja 2 and good \ +intentions. And before you ask: It’s BSD licensed!" +HOMEPAGE = "https://github.com/mitsuhiko/flask/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" + +SRC_URI[md5sum] = "0da4145d172993cd28a6c619630cc19c" +SRC_URI[sha256sum] = "4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060" + +PYPI_PACKAGE = "Flask" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + +RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous ${PYTHON_PN}-click" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb deleted file mode 100644 index df688e424..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -require python-gevent.inc -inherit setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_20.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_20.6.2.bb new file mode 100644 index 000000000..dbeb3a60c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_20.6.2.bb @@ -0,0 +1,34 @@ +SUMMARY = "A coroutine-based Python networking library" +DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \ +a high-level synchronous API on top of the libevent event loop." +HOMEPAGE = "http://www.gevent.org" +LICENSE = "MIT & Python-2.0 & BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4de99aac27b470c29c6c309e0c279b65 \ + file://NOTICE;md5=18108df3583462cafd457f024b9b09b5 \ + file://deps/libev/LICENSE;md5=d6ad416afd040c90698edcdf1cbee347 \ + " +DEPENDS += "libevent" +DEPENDS += "${PYTHON_PN}-greenlet" +RDEPENDS_${PN} = "${PYTHON_PN}-greenlet \ + ${PYTHON_PN}-mime \ + ${PYTHON_PN}-pprint \ + " + +FILESEXTRAPATHS_prepend := "${THISDIR}/python-gevent:" + +SRC_URI_append = " \ + file://libev-conf.patch;patch=1;pnum=1 \ +" + +SRC_URI[md5sum] = "27b07fe9fdfff2d75e3d140e890489b1" +SRC_URI[sha256sum] = "a23c2abf08e851c988723f6a2996d495f513a2c0dc70f9956af03af8debdb5d1" + +# The python-gevent has no autoreconf ability +# and the logic for detecting a cross compile is flawed +# so always force a cross compile +do_configure_append() { + sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/libev/configure + sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/c-ares/configure +} + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.10.0.bb deleted file mode 100644 index 37b6fc621..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.10.0.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, Moderator, and many other Google APIs." -HOMEPAGE = "https://github.com/googleapis/google-api-python-client" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=94023d14f6b58272fd885e4e3f2f08b3" - -SRC_URI[md5sum] = "a0064953388af9f9c61d8347f1e2ae0c" -SRC_URI[sha256sum] = "fa24f07f6124ff2e91ee9b7550e240481bcb31b8f77a75e8d481be1c44a6ff07" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.12.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.12.1.bb new file mode 100644 index 000000000..d79ac3c39 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.12.1.bb @@ -0,0 +1,9 @@ +SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, Moderator, and many other Google APIs." +HOMEPAGE = "https://github.com/googleapis/google-api-python-client" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=94023d14f6b58272fd885e4e3f2f08b3" + +SRC_URI[md5sum] = "92106822131f76ca77b77009674e78e4" +SRC_URI[sha256sum] = "ddadc243ce627512c2a27e11d369f5ddf658ef80dbffb247787499486ef1ea98" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenstalk_1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenstalk_1.0.1.bb new file mode 100644 index 000000000..9447c1836 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenstalk_1.0.1.bb @@ -0,0 +1,12 @@ +SUMMARY = "A Python 3 client for the beanstalkd work queue" +HOMEPAGE = "https://github.com/mayhewj/greenstalk" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8f98432ba1fce3933c556430fd47298f" + +SRC_URI[md5sum] = "3374649586a8016fecaf0ce5ecf9985d" +SRC_URI[sha256sum] = "0c9f2af79ac8ea526891ae8d7e9500341a0f657465a541d6eaedb35ff70f4fe3" + +RDEPENDS_${PN} += "python3-io python3-core" + +inherit pypi +inherit setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.2.0.bb deleted file mode 100644 index fc2cc7d6f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.2.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Calculate the distance between 2 points on Earth" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -SRC_URI[md5sum] = "6b1badeb63aac6214c978d07a4ecd171" -SRC_URI[sha256sum] = "b710aaf32c442a6d04aa89678be55e3f6c11f9752fc01c216e89b13120b36269" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "python3-numpy" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.0.bb new file mode 100644 index 000000000..6e02fcf71 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "Calculate the distance between 2 points on Earth" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI[md5sum] = "ff2d43a74195ec00c42ccd5da2a3f3de" +SRC_URI[sha256sum] = "72c76855ac25e6ad054c7ed380e95c1a96803185f005dd11f40ccaa9620b551f" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "python3-numpy" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.0.bb deleted file mode 100644 index 0a3b7734c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "A port of Ruby on Rails' inflection to Python." -HOMEPAGE = "https://pypi.org/project/inflection" -LICENSE = "MIT" -SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2fb6fa1a6f1792d78de19ad1bb653c31" - -SRC_URI[md5sum] = "87b2ab6ffdd6e15aa31d109ce5ff10bb" -SRC_URI[sha256sum] = "f576e85132d34f5bf7df5183c2c6f94cfb32e528f53065345cf71329ba0b8924" - -inherit pypi setuptools3 ptest - -SRC_URI +=" \ - file://run-ptest \ -" - -RDEPENDS_${PN}_ptest +=" \ - ${PYTHON_PN}_pytest \ -" - -do_install_ptest() { - cp -f ${S}/test_inflection.py ${D}${PTEST_PATH}/ -} - - -RDEPENDS_${PN} += "${PYTHON_PN}-pytest" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.1.bb new file mode 100644 index 000000000..b5cde669f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "A port of Ruby on Rails' inflection to Python." +HOMEPAGE = "https://pypi.org/project/inflection" +LICENSE = "MIT" +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2fb6fa1a6f1792d78de19ad1bb653c31" + +SRC_URI[md5sum] = "c3287d4f0e3bdf625a52d655cc514403" +SRC_URI[sha256sum] = "1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417" + +inherit pypi setuptools3 ptest + +SRC_URI +=" \ + file://run-ptest \ +" + +RDEPENDS_${PN}_ptest +=" \ + ${PYTHON_PN}_pytest \ +" + +do_install_ptest() { + cp -f ${S}/test_inflection.py ${D}${PTEST_PATH}/ +} + + +RDEPENDS_${PN} += "${PYTHON_PN}-pytest" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.17.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.17.0.bb deleted file mode 100644 index ddcddd60b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.17.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "IPython: Productive Interactive Computing" -HOMEPAGE = "https://ipython.org" -AUTHOR = "The IPython Development Team " -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" - -PYPI_PACKAGE = "ipython" - -SRC_URI[md5sum] = "1f2257d771de9d2fb40d9e3cfcea429d" -SRC_URI[sha256sum] = "b70974aaa2674b05eb86a910c02ed09956a33f2dd6c71afc60f0b128a77e7f28" - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-jedi \ - ${PYTHON_PN}-decorator \ - ${PYTHON_PN}-pickleshare \ - ${PYTHON_PN}-traitlets \ - ${PYTHON_PN}-prompt-toolkit \ - ${PYTHON_PN}-pygments \ - ${PYTHON_PN}-backcall \ - ${PYTHON_PN}-pydoc \ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-pexpect \ - ${PYTHON_PN}-unixadmin \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-sqlite3 \ -" - -inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.18.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.18.1.bb new file mode 100644 index 000000000..8ee92167d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.18.1.bb @@ -0,0 +1,29 @@ +SUMMARY = "IPython: Productive Interactive Computing" +HOMEPAGE = "https://ipython.org" +AUTHOR = "The IPython Development Team " +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" + +PYPI_PACKAGE = "ipython" + +SRC_URI[md5sum] = "f2db1158dc40d70a31b6bbef86e74789" +SRC_URI[sha256sum] = "a331e78086001931de9424940699691ad49dfb457cea31f5471eae7b78222d5e" + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-jedi \ + ${PYTHON_PN}-decorator \ + ${PYTHON_PN}-pickleshare \ + ${PYTHON_PN}-traitlets \ + ${PYTHON_PN}-prompt-toolkit \ + ${PYTHON_PN}-pygments \ + ${PYTHON_PN}-backcall \ + ${PYTHON_PN}-pydoc \ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-pexpect \ + ${PYTHON_PN}-unixadmin \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-sqlite3 \ +" + +inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.12.bb deleted file mode 100644 index 74b5bdcb8..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.12.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Simple module to parse ISO 8601 dates" -HOMEPAGE = "http://pyiso8601.readthedocs.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b05625f2336fa024e8d57e65c6595844" - -SRC_URI[md5sum] = "4de940f691c5ea759fb254384c8ddcf6" -SRC_URI[sha256sum] = "49c4b20e1f38aa5cf109ddcd39647ac419f928512c869dc01d5c7098eddede82" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-numbers \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.13.bb new file mode 100644 index 000000000..9e7494b3e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.13.bb @@ -0,0 +1,16 @@ +SUMMARY = "Simple module to parse ISO 8601 dates" +HOMEPAGE = "http://pyiso8601.readthedocs.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b05625f2336fa024e8d57e65c6595844" + +SRC_URI[md5sum] = "df6e924305fd799d90be63336b2ab8b3" +SRC_URI[sha256sum] = "f7dec22af52025d4526be94cc1303c7d8f5379b746a3f54a8c8446384392eeb1" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-numbers \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.4.2.bb deleted file mode 100644 index 6b1cee40d..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.4.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "A Python utility / library to sort Python imports." -HOMEPAGE = "https://pypi.python.org/pypi/isort" -LICENSE = "MIT" -SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=8227180126797a0148f94f483f3e1489" - -SRC_URI[md5sum] = "59592b6e14beba48149d651e900e3815" -SRC_URI[sha256sum] = "d488ba1c5a2db721669cc180180d5acf84ebdc5af7827f7aaeaa75f73cf0e2b8" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-shell \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.5.2.bb new file mode 100644 index 000000000..0d0415786 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.5.2.bb @@ -0,0 +1,17 @@ +SUMMARY = "A Python utility / library to sort Python imports." +HOMEPAGE = "https://pypi.python.org/pypi/isort" +LICENSE = "MIT" +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=8227180126797a0148f94f483f3e1489" + +SRC_URI[md5sum] = "844c49ad1bf16a957b490c27b3b9844f" +SRC_URI[sha256sum] = "171c5f365791073426b5ed3a156c2081a47f88c329161fd28228ff2da4c97ddb" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.51.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.51.bb deleted file mode 100644 index 8340382d1..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.51.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "langtable is used to guess reasonable defaults for locale,\ -keyboard, territory" -HOMEPAGE = "https://github.com/mike-fabian/langtable/" -LICENSE = "GPLv3+" -SECTION = "devel/python" - -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRC_URI[md5sum] = "5d28198fa933dac5c037108d8f5cf3bb" -SRC_URI[sha256sum] = "8d4615cc0bb0fa49faa05b55ff49b1f41122b8092ca18a5d10f1e1699d6d7b3c" - -inherit pypi setuptools3 python3native - -DISTUTILS_INSTALL_ARGS += " \ - --install-data=${datadir}/langtable" - -FILES_${PN} += "${datadir}/*" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-doctest \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-xml \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.52.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.52.bb new file mode 100644 index 000000000..e6ccd7b54 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.52.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "langtable is used to guess reasonable defaults for locale,\ +keyboard, territory" +HOMEPAGE = "https://github.com/mike-fabian/langtable/" +LICENSE = "GPLv3+" +SECTION = "devel/python" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI[md5sum] = "240a62b84ed29f6530ceae60609f7eff" +SRC_URI[sha256sum] = "a2c499704c91c0a23e5db92e80ad1d45e51466b82ffaee478e5bb781460b3db5" + +inherit pypi setuptools3 python3native + +DISTUTILS_INSTALL_ARGS += " \ + --install-data=${datadir}/langtable" + +FILES_${PN} += "${datadir}/*" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-doctest \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-xml \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.15.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.15.0.bb deleted file mode 100644 index 17445e727..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.15.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "A component library to support SBC display drivers" -DESCRIPTION = "A component library to support SBC display drivers" -HOMEPAGE = "https://github.com/rm-hull/luma.core" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=eda804060ba2312e41fe96b6fa334fd7" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "9c890fa8e387a035ff0d1ae96a0715f1" -SRC_URI[sha256sum] = "e0e14c762695fb8758e8b15cfd28cd4c1618bf2fd93157c8770a2e8e0e254ae5" - -CLEANBROKEN = "1" - -PYPI_PACKAGE = "luma.core" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-pillow \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-smbus2 \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.16.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.16.1.bb new file mode 100644 index 000000000..3428dbe9f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.16.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "A component library to support SBC display drivers" +DESCRIPTION = "A component library to support SBC display drivers" +HOMEPAGE = "https://github.com/rm-hull/luma.core" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=eda804060ba2312e41fe96b6fa334fd7" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "de7bda49c4146ba242923a88c587cd7a" +SRC_URI[sha256sum] = "2181a60906fea3104dcfa3923f9654928502cd7541ff9b4d76c6ae29c6a9d9fc" + +CLEANBROKEN = "1" + +PYPI_PACKAGE = "luma.core" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-pillow \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-smbus2 \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.3.1.bb deleted file mode 100644 index 6273ee2f2..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.3.1.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "matplotlib: plotting with Python" -DESCRIPTION = "\ -Matplotlib is a Python 2D plotting library which produces \ -publication-quality figures in a variety of hardcopy formats \ -and interactive environments across platforms." -HOMEPAGE = "https://github.com/matplotlib/matplotlib" -SECTION = "devel/python" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "\ - file://setup.py;beginline=251;endline=251;md5=e0ef37de7122ce842bcd1fb54482b353 \ - file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74 \ -" -DEPENDS = "\ - freetype \ - libpng \ - python3-numpy-native \ - python3-dateutil-native \ - python3-pytz-native \ - python3-certifi-native \ -" - -SRC_URI[md5sum] = "f3a405f340be5b151cb2042c4d8d16f7" -SRC_URI[sha256sum] = "87f53bcce90772f942c2db56736788b39332d552461a5cb13f05ff45c1680f0e" - -inherit pypi setuptools3 pkgconfig - -# LTO with clang needs lld -LDFLAGS_append_toolchain-clang = " -fuse-ld=lld" - -RDEPENDS_${PN} = "\ - freetype \ - libpng \ - python3-numpy \ - python3-pyparsing \ - python3-cycler \ - python3-dateutil \ - python3-kiwisolver \ - python3-pytz \ -" - -do_compile_prepend() { - echo [libs] > ${S}/setup.cfg - echo system_freetype = true >> ${S}/setup.cfg -} - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.3.2.bb new file mode 100644 index 000000000..a2e7074d7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.3.2.bb @@ -0,0 +1,46 @@ +SUMMARY = "matplotlib: plotting with Python" +DESCRIPTION = "\ +Matplotlib is a Python 2D plotting library which produces \ +publication-quality figures in a variety of hardcopy formats \ +and interactive environments across platforms." +HOMEPAGE = "https://github.com/matplotlib/matplotlib" +SECTION = "devel/python" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "\ + file://setup.py;beginline=259;endline=259;md5=e0ef37de7122ce842bcd1fb54482b353 \ + file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74 \ +" +DEPENDS = "\ + freetype \ + libpng \ + python3-numpy-native \ + python3-dateutil-native \ + python3-pytz-native \ + python3-certifi-native \ +" + +SRC_URI[md5sum] = "a85791908e78818bd425ba9ab38500fa" +SRC_URI[sha256sum] = "3d2edbf59367f03cd9daf42939ca06383a7d7803e3993eb5ff1bee8e8a3fbb6b" + +inherit pypi setuptools3 pkgconfig + +# LTO with clang needs lld +LDFLAGS_append_toolchain-clang = " -fuse-ld=lld" + +RDEPENDS_${PN} = "\ + freetype \ + libpng \ + python3-numpy \ + python3-pyparsing \ + python3-cycler \ + python3-dateutil \ + python3-kiwisolver \ + python3-pytz \ +" + +do_compile_prepend() { + echo [libs] > ${S}/setup.cfg + echo system_freetype = true >> ${S}/setup.cfg +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.2.1.bb deleted file mode 100644 index d3a9971e4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.2.1.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "McCabe checker, plugin for flake8" -HOMEPAGE = "https://github.com/dreamhost/cliff" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://README.rst;md5=aa0383f6aee4f5c20084a97cd13164c4" - -SRC_URI[md5sum] = "5a3f3fa6a4bad126c88aaaa7dab682f5" -SRC_URI[sha256sum] = "5a2a170e47de5593a6abfae1e9542bd2c3924ac62bbe4e6ed96c953c0352243a" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "${PYTHON_PN}-prettytable \ - ${PYTHON_PN}-cmd2 \ - ${PYTHON_PN}-pyparsing \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.6.1.bb new file mode 100644 index 000000000..63a9e35ac --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.6.1.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "McCabe checker, plugin for flake8" +HOMEPAGE = "https://github.com/dreamhost/cliff" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a489dc62bacbdad3335c0f160a974f0f" + +SRC_URI[md5sum] = "723df2f7b1737b8887475bac4c763e1e" +SRC_URI[sha256sum] = "dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-pytest-runner-native" + +RDEPENDS_${PN} += "${PYTHON_PN}-prettytable \ + ${PYTHON_PN}-cmd2 \ + ${PYTHON_PN}-pyparsing \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.4.0.bb deleted file mode 100644 index f040b1a97..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.4.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "More routines for operating on iterables, beyond itertools" -HOMEPAGE = "https://github.com/erikrose/more-itertools" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5" - -SRC_URI[md5sum] = "0912041c05148ed079984cff69af2e99" -SRC_URI[sha256sum] = "68c70cc7167bdf5c7c9d8f6954a7837089c6a36bf565383919bb595efb8a17e5" - -inherit pypi setuptools3 ptest - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.5.0.bb new file mode 100644 index 000000000..e924b0f73 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.5.0.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "More routines for operating on iterables, beyond itertools" +HOMEPAGE = "https://github.com/erikrose/more-itertools" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5" + +SRC_URI[md5sum] = "2588b5a7042576b99574779582be9292" +SRC_URI[sha256sum] = "6f83822ae94818eae2612063a5101a7311e68ae8002005b5e05f03fd74a86a20" + +inherit pypi setuptools3 ptest + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.15.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.15.bb deleted file mode 100644 index af011ccf8..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.15.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "A tool to help with creating, uploading, and upgrading Mycroft skills on the skills repo." -HOMEPAGE = "https://github.com/MycroftAI/mycroft-skills-kit" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://README.md;md5=2f90e43663eddf1c33087419fbb35e28" - -SRC_URI[md5sum] = "dcb286c489d24d8b0fb8413835f7478a" -SRC_URI[sha256sum] = "56d3557889ee2ceebc72284f979aa6ddd4c7fbe2af31142eb6f51404f14516d5" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "python3-git" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.16.bb new file mode 100644 index 000000000..a3206f79b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.16.bb @@ -0,0 +1,11 @@ +SUMMARY = "A tool to help with creating, uploading, and upgrading Mycroft skills on the skills repo." +HOMEPAGE = "https://github.com/MycroftAI/mycroft-skills-kit" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://README.md;md5=2f90e43663eddf1c33087419fbb35e28" + +SRC_URI[md5sum] = "8a4fc92a074544f81f482da2c21ef989" +SRC_URI[sha256sum] = "c6a717fc068f7c69ddc8cb21dbeeda7cfa97a4e9f41690459c9fbec68b16ee87" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "python3-git" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.7.bb deleted file mode 100644 index de930f934..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.7.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Mycroft Skill Manager, in python!" -HOMEPAGE = "https://github.com/MycroftAI/mycroft-skills-manager" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e23fadd6ceef8c618fc1c65191d846fa" - -SRC_URI[md5sum] = "16f755ea554c332cdb666dfc1109f7f2" -SRC_URI[sha256sum] = "9878eecbf7255d4907637700ecfeeacb9fe586409ee3ae05d406683ad18d7e5e" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - python3-pako \ - python3-monotonic \ - python3-appdirs \ -" - -do_install_append() { - # Stop this from being installed - rm -rf ${D}/usr/share -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.8.bb new file mode 100644 index 000000000..f5e3f59cd --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.8.bb @@ -0,0 +1,20 @@ +SUMMARY = "Mycroft Skill Manager, in python!" +HOMEPAGE = "https://github.com/MycroftAI/mycroft-skills-manager" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e23fadd6ceef8c618fc1c65191d846fa" + +SRC_URI[md5sum] = "cf1fc0d1d86af68003cae53c71ec6288" +SRC_URI[sha256sum] = "a502aee54917cd394217b31c977a1ba3d9541a0120e0a045c49fd77b328e4a29" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + python3-pako \ + python3-monotonic \ + python3-appdirs \ +" + +do_install_append() { + # Stop this from being installed + rm -rf ${D}/usr/share +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.4.bb deleted file mode 100644 index 5708e35b5..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.4.bb +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "Python package for creating and manipulating graphs and networks" -HOMEPAGE = "http://networkx.github.io/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b68290ee1026b204170a23bbdb27a4fd" - -SRC_URI[md5sum] = "63e3fdc9d3a46bcabc776acc5ea5fe48" -SRC_URI[sha256sum] = "f8f4ff0b6f96e4f9b16af6b84622597b5334bf9cae8cf9b2e42e7985d5c95c64" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-decorator \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.5.bb new file mode 100644 index 000000000..70573828b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.5.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "Python package for creating and manipulating graphs and networks" +HOMEPAGE = "http://networkx.github.io/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a24ea029adac8935699bf69b2e38c728" + +SRC_URI[md5sum] = "21f25be1f4373e19153a9beca63346e7" +SRC_URI[sha256sum] = "7978955423fbc9639c10498878be59caf99b44dc304c2286162fd24b458c1602" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-decorator \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.7.bb deleted file mode 100644 index 5ebd75711..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.7.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "python-nmap is a python library which helps in using nmap port scanner" -HOMEPAGE = "https://www.nmmapper.com/" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -DEPENDS += "${PYTHON_PN}-wheel-native" - -PYPI_PACKAGE = "python3-nmap" - -SRC_URI[md5sum] = "4dce15e7889b1e9bfa8e1e2e0904795c" -SRC_URI[sha256sum] = "127b7ad604a3fd34578a6ad848a603ccf1608c607577eb3bba097a1e2fc8f48a" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "nmap ${PYTHON_PN}-requests" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.8.bb new file mode 100644 index 000000000..2037d496a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.8.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "python-nmap is a python library which helps in using nmap port scanner" +HOMEPAGE = "https://www.nmmapper.com/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +DEPENDS += "${PYTHON_PN}-wheel-native" + +PYPI_PACKAGE = "python3-nmap" + +SRC_URI[md5sum] = "e7904b39b64a8a44f275388862659a0d" +SRC_URI[sha256sum] = "8d7da78142bee665289a243f71c5f48407d8ab7e5a02ee672ded05f339044759" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "nmap ${PYTHON_PN}-requests" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.0.bb new file mode 100644 index 000000000..dae1ebf30 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.0.bb @@ -0,0 +1,9 @@ +SUMMARY = "A case-insensitive ordered dictionary for Python" +HOMEPAGE = "https://github.com/pywbem/nocasedict" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742" + +SRC_URI[md5sum] = "14b405bf7ffe9d0f784aa9c3c39e277b" +SRC_URI[sha256sum] = "22840b434e40f20da6d2ccf0821baba54589e2476499b65420b6e4c2e669aa04" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.2.bb new file mode 100644 index 000000000..8509cd0c9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.2.bb @@ -0,0 +1,9 @@ +SUMMARY = "A case-insensitive list for Python" +HOMEPAGE = "https://nocaselist.readthedocs.io/en/latest/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI[md5sum] = "10e58542c1225aff3f057e89e9ae4394" +SRC_URI[sha256sum] = "3cfe964c436991cd6bd9f2cf23375c484ec7cf0c7488471381eff13a4fdac902" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb deleted file mode 100644 index ce2618b81..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "This module offers a simple interface to query NTP servers from Python." -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://ntplib.py;beginline=1;endline=23;md5=afa07338a9595257e94c205c3e72224d" - -SRCNAME = "ntplib" -SRC_URI[md5sum] = "c7cc8e9b09f40c84819859d70b7784ca" -SRC_URI[sha256sum] = "c4621b64d50be9461d9bd9a71ba0b4af06fbbf818bbd483752d95c1a4e273ede" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit setuptools3 python3native pypi - -RDEPENDS_${PN} += "${PYTHON_PN}-datetime ${PYTHON_PN}-io" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.4.bb new file mode 100644 index 000000000..ae4c10f38 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.4.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "This module offers a simple interface to query NTP servers from Python." +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://ntplib.py;beginline=1;endline=23;md5=afa07338a9595257e94c205c3e72224d" + +SRC_URI = "git://github.com/cf-natali/ntplib.git" +SRCREV ?= "aea7925c26152024ca8cf207e77f403f8127727a" + +S = "${WORKDIR}/git" + +inherit setuptools3 python3native + +RDEPENDS_${PN} += "${PYTHON_PN}-datetime ${PYTHON_PN}-io" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.4.bb deleted file mode 100644 index d0946e49a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.4.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "openpyxl is a Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files" -DESCRIPTION = "It was born from lack of existing library to read/write natively \ -from Python the Office Open XML format. All kudos to the PHPExcel team as openpyxl \ -was initially based on PHPExcel." - -HOMEPAGE = "http://www.python-excel.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "8491219f6bd83ca6ad8334bf77435cf5" -SRC_URI[sha256sum] = "d88dd1480668019684c66cfff3e52a5de4ed41e9df5dd52e008cbf27af0dbf87" - -RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-jdcal ${PYTHON_PN}-et-xmlfile" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.5.bb new file mode 100644 index 000000000..0aa9fb020 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.5.bb @@ -0,0 +1,15 @@ +SUMMARY = "openpyxl is a Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files" +DESCRIPTION = "It was born from lack of existing library to read/write natively \ +from Python the Office Open XML format. All kudos to the PHPExcel team as openpyxl \ +was initially based on PHPExcel." + +HOMEPAGE = "http://www.python-excel.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "526b7149538575d58e55df1bd37807c1" +SRC_URI[sha256sum] = "18e11f9a650128a12580a58e3daba14e00a11d9e907c554a17ea016bf1a2c71b" + +RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-jdcal ${PYTHON_PN}-et-xmlfile" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.1.0.bb deleted file mode 100644 index 7d65287cb..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.1.0.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "pandas library for high-performance data analysis tools" -DESCRIPTION = "pandas is an open source, BSD-licensed library providing \ -high-performance, easy-to-use data structures and data analysis tools for \ -the Python programming language." -HOMEPAGE = "http://pandas.pydata.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c2a8f987b2ce77c368c6b3e1b5b10774" - -SRC_URI[md5sum] = "512da48424b85bf198002bdbdf38af5a" -SRC_URI[sha256sum] = "b39508562ad0bb3f384b0db24da7d68a2608b9ddc85b1d931ccaaa92d5e45273" - -inherit pypi setuptools3 - -DEPENDS += " \ - ${PYTHON_PN}-numpy-native ${PYTHON_PN}-cython-native \ -" - -CFLAGS_append_toolchain-clang = " -Wno-error=deprecated-declarations" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-numpy \ - ${PYTHON_PN}-dateutil \ - ${PYTHON_PN}-pytz \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.1.2.bb new file mode 100644 index 000000000..1eade9884 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.1.2.bb @@ -0,0 +1,25 @@ +SUMMARY = "pandas library for high-performance data analysis tools" +DESCRIPTION = "pandas is an open source, BSD-licensed library providing \ +high-performance, easy-to-use data structures and data analysis tools for \ +the Python programming language." +HOMEPAGE = "http://pandas.pydata.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c2a8f987b2ce77c368c6b3e1b5b10774" + +SRC_URI[md5sum] = "b4ce7c64f549ed48b47877fc64281031" +SRC_URI[sha256sum] = "b64ffd87a2cfd31b40acd4b92cb72ea9a52a48165aec4c140e78fd69c45d1444" + +inherit pypi setuptools3 + +DEPENDS += " \ + ${PYTHON_PN}-numpy-native ${PYTHON_PN}-cython-native \ +" + +CFLAGS_append_toolchain-clang = " -Wno-error=deprecated-declarations" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-numpy \ + ${PYTHON_PN}-dateutil \ + ${PYTHON_PN}-pytz \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.7.1.bb deleted file mode 100644 index 0ead23608..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.7.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "The leading native Python SSHv2 protocol library." -HOMEPAGE = "https://github.com/paramiko/paramiko/" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5" - -SRC_URI[md5sum] = "bf8239dc820ca86dd3c3226f4281c35f" -SRC_URI[sha256sum] = "920492895db8013f6cc0179293147f830b8c7b21fdfc839b6bad760c27459d9f" - -PYPI_PACKAGE = "paramiko" - -inherit pypi setuptools3 - -CLEANBROKEN = "1" - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.7.2.bb new file mode 100644 index 000000000..324847c31 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.7.2.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "The leading native Python SSHv2 protocol library." +HOMEPAGE = "https://github.com/paramiko/paramiko/" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5" + +SRC_URI[md5sum] = "44136d79da4cd7619e368018ad022619" +SRC_URI[sha256sum] = "7f36f4ba2c0d81d219f4595e35f70d56cc94f9ac40a6acdf51d6ca210ce65035" + +PYPI_PACKAGE = "paramiko" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.16.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.16.0.bb deleted file mode 100644 index a1e945276..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.16.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Parse strings using a specification based on the Python format() syntax" -HOMEPAGE = "https://github.com/r1chardj0n3s/parse" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8ab458ad281b60e6f1b39b3feafbfc05" - -SRC_URI[md5sum] = "ba263b3143e9528ae960bbba4d56bf25" -SRC_URI[sha256sum] = "cd89e57aed38dcf3e0ff8253f53121a3b23e6181758993323658bffc048a5c19" - -inherit pypi setuptools3 ptest - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-logging \ - " - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - cp -f ${S}/test_parse.py ${D}${PTEST_PATH}/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.18.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.18.0.bb new file mode 100644 index 000000000..ed9204e3b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.18.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "Parse strings using a specification based on the Python format() syntax" +HOMEPAGE = "https://github.com/r1chardj0n3s/parse" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8ab458ad281b60e6f1b39b3feafbfc05" + +SRC_URI[md5sum] = "42ea0002cf36bfd2bd74f3c05bf25f60" +SRC_URI[sha256sum] = "91666032d6723dc5905248417ef0dc9e4c51df9526aaeef271eacad6491f06a4" + +inherit pypi setuptools3 ptest + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-logging \ + " + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + cp -f ${S}/test_parse.py ${D}${PTEST_PATH}/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch index 35aee4214..005fea5c6 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch @@ -1,6 +1,6 @@ -From 862a981ce462cd83a99e3db9faeeda1f8c64983f Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Mon, 18 Mar 2019 23:23:55 -0400 +From 27bfa4028453dc79a72569823e97da8fd1994ffc Mon Sep 17 00:00:00 2001 +From: Leon Anavi +Date: Tue, 1 Sep 2020 11:53:53 +0000 Subject: [PATCH] explicitly set compile options OE does not support to install egg package, so @@ -10,19 +10,19 @@ explicitly set build_ext options for oe-core's Upstream-Status: Inappropriate [oe specific] Signed-off-by: Hongxu Jia - +Signed-off-by: Leon Anavi --- setup.cfg | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/setup.cfg b/setup.cfg -index 1c6ebc84..1ccc3d69 100644 +index 19979cf7..ed27dfe1 100644 --- a/setup.cfg +++ b/setup.cfg -@@ -13,3 +13,15 @@ multi_line_output = 3 - +@@ -11,3 +11,15 @@ multi_line_output = 3 [tool:pytest] - addopts = -rs + addopts = -ra --color=yes + testpaths = Tests + +[build_ext] +disable-platform-guessing = 1 @@ -35,3 +35,6 @@ index 1c6ebc84..1ccc3d69 100644 +disable-webp = 1 +disable-webpmux = 1 +disable-imagequant = 1 +-- +2.17.1 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.2.1.bb deleted file mode 100644 index a383a3ff9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.2.1.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \ -Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \ -Contributors." -HOMEPAGE = "https://pillow.readthedocs.io" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=55c0f320370091249c1755c0d2b48e89" - -SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=6.2.x \ - file://0001-support-cross-compiling.patch \ - file://0001-explicitly-set-compile-options.patch \ -" -SRCREV ?= "6e0f07bbe38def22d36ee176b2efd9ea74b453a6" - - -inherit setuptools3 - -DEPENDS += " \ - zlib \ - jpeg \ - tiff \ - freetype \ - lcms \ - openjpeg \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-numbers \ -" - -CVE_PRODUCT = "pillow" - -S = "${WORKDIR}/git" - -RPROVIDES_${PN} += "python3-imaging" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_7.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_7.2.0.bb new file mode 100644 index 000000000..13cab4300 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_7.2.0.bb @@ -0,0 +1,38 @@ +SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \ +Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \ +Contributors." +HOMEPAGE = "https://pillow.readthedocs.io" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ea2dc3f5611e69058503d4b940049d03" + +SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=7.2.x \ + file://0001-support-cross-compiling.patch \ + file://0001-explicitly-set-compile-options.patch \ +" +SRCREV ?= "2bd74943fb9f320def6c066e732b701d1c15f677" + + +inherit setuptools3 + +DEPENDS += " \ + zlib \ + jpeg \ + tiff \ + freetype \ + lcms \ + openjpeg \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-numbers \ +" + +CVE_PRODUCT = "pillow" + +S = "${WORKDIR}/git" + +RPROVIDES_${PN} += "python3-imaging" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.14.bb deleted file mode 100644 index 333b015a9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.14.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Physical quantities module" -DESCRIPTION = "Physical quantities Python module" -HOMEPAGE = "https://github.com/hgrecco/pint" -SECTION = "devel/python" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bccf824202692270a1e0829a62e3f47b" - -PYPI_PACKAGE := "Pint" - -inherit pypi ptest setuptools3 - -SRC_URI[md5sum] = "e5e409806bc82f518230117b30ae23ed" -SRC_URI[sha256sum] = "9aa450ebb9d722ed03fa9a450104cfd16c479b49f862d547c6f77320de597f72" - -DEPENDS += "python3-setuptools-scm-native" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-packaging \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/testsuite - cp -rf ${S}/pint/testsuite/* ${D}${PTEST_PATH}/testsuite/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.16.bb new file mode 100644 index 000000000..7775d733a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.16.bb @@ -0,0 +1,36 @@ +SUMMARY = "Physical quantities module" +DESCRIPTION = "Physical quantities Python module" +HOMEPAGE = "https://github.com/hgrecco/pint" +SECTION = "devel/python" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bccf824202692270a1e0829a62e3f47b" + +PYPI_PACKAGE := "Pint" + +inherit pypi ptest setuptools3 + +SRC_URI[md5sum] = "ec78e4e42512b93f80b9093416ad7417" +SRC_URI[sha256sum] = "e437420e65fa72a2805f4036f986669c48d54944eeb0e47c8ba16f98cbdcd599" + +DEPENDS += "python3-setuptools-scm-native" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-packaging \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/testsuite + cp -rf ${S}/pint/testsuite/* ${D}${PTEST_PATH}/testsuite/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.6.bb deleted file mode 100644 index 806e67c09..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.6.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Library for building powerful interactive command lines in Python" -HOMEPAGE = "https://python-prompt-toolkit.readthedocs.io/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f" - -SRC_URI[md5sum] = "e50cb328715b338480d8d29dda54ff5d" -SRC_URI[sha256sum] = "7630ab85a23302839a0f26b31cc24f518e6155dea1ed395ea61b42c45941b6a6" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "prompt_toolkit" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-terminal \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-wcwidth \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-image \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.7.bb new file mode 100644 index 000000000..7b0d1a069 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.7.bb @@ -0,0 +1,24 @@ +SUMMARY = "Library for building powerful interactive command lines in Python" +HOMEPAGE = "https://python-prompt-toolkit.readthedocs.io/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f" + +SRC_URI[md5sum] = "f1b34c688ef7dccccb951130f008f6fe" +SRC_URI[sha256sum] = "822f4605f28f7d2ba6b0b09a31e25e140871e96364d1d377667b547bb3bf4489" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "prompt_toolkit" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-terminal \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-wcwidth \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-image \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_7.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_7.2.0.bb deleted file mode 100644 index 257778ba9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_7.2.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "Library for Python 3.6+ to communicate with the Google Chromecast." -HOMEPAGE = "https://github.com/balloob/pychromecast" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5" - -SRC_URI[md5sum] = "20ed7ec024fd4739446d42f8d19813b8" -SRC_URI[sha256sum] = "c522c5ecb554471ca8e5690c05530b1c237c301349061d3839c506984f8d3c2d" - -PYPI_PACKAGE = "PyChromecast" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_7.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_7.3.0.bb new file mode 100644 index 000000000..b444df05d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_7.3.0.bb @@ -0,0 +1,11 @@ +SUMMARY = "Library for Python 3.6+ to communicate with the Google Chromecast." +HOMEPAGE = "https://github.com/balloob/pychromecast" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5" + +SRC_URI[md5sum] = "7ab862743ff33dafc93206c1435abc5e" +SRC_URI[sha256sum] = "f594231efb34b86eeb463611662bca21a6962793885d3ad68195286940f7473d" + +PYPI_PACKAGE = "PyChromecast" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.5.bb deleted file mode 100644 index 5a1c1797a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.5.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A Python Interface To The cURL library" -DESCRIPTION = "\ -PycURL is a Python interface to libcurl, the multiprotocol file \ -transfer library. Similarly to the urllib Python module, PycURL can \ -be used to fetch objects identified by a URL from a Python program \ -" -SECTION = "devel/python" -HOMEPAGE = "http://pycurl.io/" - -LICENSE = "LGPLv2 | MIT" -LIC_FILES_CHKSUM = "file://COPYING-LGPL;md5=4fbd65380cdd255951079008b364516c \ - file://COPYING-MIT;md5=60872a112595004233b769b6cbfd65b6 \ - " - -SRC_URI[md5sum] = "0b387d4609ed20c88baede8579a4d425" -SRC_URI[sha256sum] = "ec7dd291545842295b7b56c12c90ffad2976cc7070c98d7b1517b7b6cd5994b3" - -inherit pypi setuptools3 - -DEPENDS = "\ - curl \ - ${PYTHON_PN}\ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.6.bb new file mode 100644 index 000000000..0437a6cc9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.6.bb @@ -0,0 +1,23 @@ +SUMMARY = "A Python Interface To The cURL library" +DESCRIPTION = "\ +PycURL is a Python interface to libcurl, the multiprotocol file \ +transfer library. Similarly to the urllib Python module, PycURL can \ +be used to fetch objects identified by a URL from a Python program \ +" +SECTION = "devel/python" +HOMEPAGE = "http://pycurl.io/" + +LICENSE = "LGPLv2 | MIT" +LIC_FILES_CHKSUM = "file://COPYING-LGPL;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING-MIT;md5=60872a112595004233b769b6cbfd65b6 \ + " + +SRC_URI[md5sum] = "3e121d895101022c30619e1bbf97eb97" +SRC_URI[sha256sum] = "8301518689daefa53726b59ded6b48f33751c383cf987b0ccfbbc4ed40281325" + +inherit pypi setuptools3 + +DEPENDS = "\ + curl \ + ${PYTHON_PN}\ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydicti_1.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydicti_1.1.3.bb new file mode 100644 index 000000000..bca0ba737 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydicti_1.1.3.bb @@ -0,0 +1,9 @@ +SUMMARY = "Case insensitive derivable dictionary" +HOMEPAGE = "https://github.com/coldfix/pydicti" +LICENSE = "WTFPL" +LIC_FILES_CHKSUM = "file://COPYING;md5=389a9e29629d1f05e115f8f05c283df5" + +SRC_URI[md5sum] = "b02ed35da91e400f1f17a57ab02ba06b" +SRC_URI[sha256sum] = "eea50576baa751a9b6b862f09f081c47d557e0298623ca8742851da72b00eec4" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.128.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.128.bb deleted file mode 100644 index e27bf9900..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.128.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "Python API for MISP" -HOMEPAGE = "https://github.com/MISP/PyMISP" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" - -SRC_URI[md5sum] = "a90a25def591c6a265bc904f801646f1" -SRC_URI[sha256sum] = "714b8b5c8debb4b5e0e602a5fe8a599206e89c1313244ed0e69d9e0bc816f1f7" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-dateutil \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-jsonschema \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-six \ -" - -# Fixes: python3-pymisp requires /bin/bash, but no -# providers found in RDEPENDS_python3-pymisp? [file-rdep -RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.131.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.131.bb new file mode 100644 index 000000000..82ab80314 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.131.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Python API for MISP" +HOMEPAGE = "https://github.com/MISP/PyMISP" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" + +SRC_URI[md5sum] = "8844204f8b059ff2fc508ba9ac07dcb2" +SRC_URI[sha256sum] = "59adb7ee95bfb1b5c35abbc01b5372df7327baea4a8df9efe30140ea64b73c18" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-dateutil \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-jsonschema \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-six \ +" + +# Fixes: python3-pymisp requires /bin/bash, but no +# providers found in RDEPENDS_python3-pymisp? [file-rdep +RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.10.0.bb deleted file mode 100644 index 895c47b03..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.10.0.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "A pure-Python MySQL client library" -DESCRIPTION = " \ - This package contains a pure-Python MySQL client library, based on PEP 249 \ - Most public APIs are compatible with mysqlclient and MySQLdb. \ - " -SECTION = "devel/python" -HOMEPAGE = "https://pymysql.readthedocs.io" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=528175c84163bb800d23ad835c7fa0fc" - -SRC_URI[md5sum] = "d08058b1592724d5808c43f56050f245" -SRC_URI[sha256sum] = "e14070bc84e050e0f80bf6063e31d276f03a0bb4d46b9eca2854566c4ae19837" - -PYPI_PACKAGE = "PyMySQL" -inherit pypi setuptools3 - -RDEPENDS_${PN} += "${PYTHON_PN}-cryptography" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.10.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.10.1.bb new file mode 100644 index 000000000..15ace44ac --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.10.1.bb @@ -0,0 +1,17 @@ +SUMMARY = "A pure-Python MySQL client library" +DESCRIPTION = " \ + This package contains a pure-Python MySQL client library, based on PEP 249 \ + Most public APIs are compatible with mysqlclient and MySQLdb. \ + " +SECTION = "devel/python" +HOMEPAGE = "https://pymysql.readthedocs.io" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=528175c84163bb800d23ad835c7fa0fc" + +SRC_URI[md5sum] = "4a1fe973afbbdd78928650118ce8ff68" +SRC_URI[sha256sum] = "263040d2779a3b84930f7ac9da5132be0fefcd6f453a885756656103f8ee1fdd" + +PYPI_PACKAGE = "PyMySQL" +inherit pypi setuptools3 + +RDEPENDS_${PN} += "${PYTHON_PN}-cryptography" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.13.bb deleted file mode 100644 index 4fb401957..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.13.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "A pure Python netlink and Linux network configuration library" -LICENSE = "GPLv2 & Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.GPL.v2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.Apache.v2;md5=34281e312165f843a2b7d1f114fe65ce" - -SRC_URI[md5sum] = "6c72ffa7147bbfa1610942e5734c8c87" -SRC_URI[sha256sum] = "518365f3313e73b0f024b9fa7a580b29bfa2fe2c5230be0bc69c068bbf6637e9" - -inherit setuptools3 pypi ptest - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-multiprocessing \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-unixadmin \ -" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-fcntl \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.14.bb new file mode 100644 index 000000000..84397b65b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.14.bb @@ -0,0 +1,37 @@ +SUMMARY = "A pure Python netlink and Linux network configuration library" +LICENSE = "GPLv2 & Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.GPL.v2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.Apache.v2;md5=34281e312165f843a2b7d1f114fe65ce" + +SRC_URI[md5sum] = "6bde3624a6f22bdfb630bb54243a0d1d" +SRC_URI[sha256sum] = "774c5ecf05fe40f0f601a7ab33c19ca0b24f00bf4a094e58deaa5333b7ca49b5" + +inherit setuptools3 pypi ptest + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-multiprocessing \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-unixadmin \ +" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-fcntl \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.16.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.16.0.bb deleted file mode 100644 index dec661143..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.16.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Persistent/Immutable/Functional data structures for Python" -HOMEPAGE = "https://github.com/tobgu/pyrsistent" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE.mit;md5=ca574f2891cf528b3e7a2ee570337e7c" - -SRC_URI[md5sum] = "4ba30da6f0a63554e70ac6c4c1904929" -SRC_URI[sha256sum] = "28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-six \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.17.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.17.3.bb new file mode 100644 index 000000000..72736c891 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.17.3.bb @@ -0,0 +1,15 @@ +SUMMARY = "Persistent/Immutable/Functional data structures for Python" +HOMEPAGE = "https://github.com/tobgu/pyrsistent" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENCE.mit;md5=ca574f2891cf528b3e7a2ee570337e7c" + +SRC_URI[md5sum] = "cd38658ea772a7f9b12b6f9485a7018b" +SRC_URI[sha256sum] = "2e636185d9eb976a18a8a8e96efce62f2905fea90041958d8cc2a189756ebf3e" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-numbers \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb deleted file mode 100644 index 44c24f423..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "PyUSB provides USB access on the Python language" -HOMEPAGE = "http://pyusb.sourceforge.net/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=51691ed11cc2c7ae93e383f60ed49b0f" -DEPENDS += "libusb1" - -SRC_URI[md5sum] = "862b56452c64948c787ad8ef9498590b" -SRC_URI[sha256sum] = "4e9b72cc4a4205ca64fbf1f3fff39a335512166c151ad103e55c8223ac147362" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.1.0.bb new file mode 100644 index 000000000..6b48d6a25 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.1.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "PyUSB provides USB access on the Python language" +HOMEPAGE = "http://pyusb.sourceforge.net/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c52a96fd9a0cadcb9270904c8eb5416c" +DEPENDS += "libusb1 ${PYTHON_PN}-setuptools-scm-native" + +SRC_URI[md5sum] = "3b2e38e9f697d2f90d86376bd10a9505" +SRC_URI[sha256sum] = "d69ed64bff0e2102da11b3f49567256867853b861178689671a163d30865c298" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb deleted file mode 100644 index 2369f067e..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Pyzmq provides Zero message queue access for the Python language" -HOMEPAGE = "http://zeromq.org/bindings:python" -LICENSE = "BSD & LGPL-3.0" -LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=11c65680f637c3df7f58bbc8d133e96e \ - file://COPYING.LESSER;md5=12c592fa0bcfff3fb0977b066e9cb69e" -DEPENDS = "zeromq" - -FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyzmq:" - -SRC_URI += "file://club-rpath-out.patch" -SRC_URI[md5sum] = "aecdfc328193fbd81f6dc23228319943" -SRC_URI[sha256sum] = "2199f753a230e26aec5238b0518b036780708a4c887d4944519681a920b9dee4" - -inherit pypi pkgconfig setuptools3 - -RDEPENDS_${PN} += "${PYTHON_PN}-multiprocessing" - -FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug" - -do_compile_prepend() { - echo [global] > ${S}/setup.cfg - echo zmq_prefix = ${STAGING_DIR_HOST} >> ${S}/setup.cfg - echo have_sys_un_h = True >> ${S}/setup.cfg - echo skip_check_zmq = True >> ${S}/setup.cfg - echo libzmq_extension = False >> ${S}/setup.cfg - echo no_libzmq_extension = True >> ${S}/setup.cfg -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_19.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_19.0.2.bb new file mode 100644 index 000000000..3c4e32b5e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_19.0.2.bb @@ -0,0 +1,27 @@ +SUMMARY = "Pyzmq provides Zero message queue access for the Python language" +HOMEPAGE = "http://zeromq.org/bindings:python" +LICENSE = "BSD & LGPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=11c65680f637c3df7f58bbc8d133e96e \ + file://COPYING.LESSER;md5=12c592fa0bcfff3fb0977b066e9cb69e" +DEPENDS = "zeromq" + +FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyzmq:" + +SRC_URI += "file://club-rpath-out.patch" +SRC_URI[md5sum] = "200abc1a75bdcfff7adf61304f46f55e" +SRC_URI[sha256sum] = "296540a065c8c21b26d63e3cea2d1d57902373b16e4256afe46422691903a438" + +inherit pypi pkgconfig setuptools3 + +RDEPENDS_${PN} += "${PYTHON_PN}-multiprocessing" + +FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug" + +do_compile_prepend() { + echo [global] > ${S}/setup.cfg + echo zmq_prefix = ${STAGING_DIR_HOST} >> ${S}/setup.cfg + echo have_sys_un_h = True >> ${S}/setup.cfg + echo skip_check_zmq = True >> ${S}/setup.cfg + echo libzmq_extension = False >> ${S}/setup.cfg + echo no_libzmq_extension = True >> ${S}/setup.cfg +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.1.bb deleted file mode 100644 index a5e3a2a4f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "A Python generic test automation framework" -DESCRIPTION = "Generic open source test atomation framework for acceptance\ -testing and acceptance test-driven development (ATDD). It has easy-to-use\ -tabular test data syntax and it utilizes the keyword-driven testing approach.\ -Its testing capabilities can be extended by test libraries implemented either\ -with Python or Java, and users can create new higher-level keywords from\ -existing ones using the same syntax that is used for creating test cases." -HOMEPAGE = "http://robotframework.org" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" - -inherit pypi setuptools3 - -PYPI_PACKAGE_EXT = "zip" -SRC_URI[md5sum] = "ac8aaad885e48c6b6cd5461be5b8149f" -SRC_URI[sha256sum] = "d693e6d06b17f48669e2a8c4cb6c1f0d56e5f1a74835d18b8ea2118da7bf2d79" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-xml \ - ${PYTHON_PN}-difflib \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-docutils \ - ${PYTHON_PN}-ctypes \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.2.bb new file mode 100644 index 000000000..10f031c7b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.2.bb @@ -0,0 +1,27 @@ +SUMMARY = "A Python generic test automation framework" +DESCRIPTION = "Generic open source test atomation framework for acceptance\ +testing and acceptance test-driven development (ATDD). It has easy-to-use\ +tabular test data syntax and it utilizes the keyword-driven testing approach.\ +Its testing capabilities can be extended by test libraries implemented either\ +with Python or Java, and users can create new higher-level keywords from\ +existing ones using the same syntax that is used for creating test cases." +HOMEPAGE = "http://robotframework.org" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit pypi setuptools3 + +PYPI_PACKAGE_EXT = "zip" +SRC_URI[md5sum] = "ac6b77c223821856e8ac077acf5a7c1d" +SRC_URI[sha256sum] = "a0786a916d0572bd9d6afe26e95c6021e3df5dcafa0ece6b302e36366e58c24e" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-xml \ + ${PYTHON_PN}-difflib \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-docutils \ + ${PYTHON_PN}-ctypes \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.10.bb deleted file mode 100644 index 076721a09..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.10.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order." -AUTHOR = "Anthon van der Neut" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=60afc0a1bb0501c0c555cabe78bba022" - -PYPI_PACKAGE = "ruamel.yaml" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "02774e7ed3273b3d8eee6c08326b91c4" -SRC_URI[sha256sum] = "099c644a778bf72ffa00524f78dd0b6476bca94a1da344130f4bf3381ce5b954" - -do_install_prepend() { - export RUAMEL_NO_PIP_INSTALL_CHECK=1 -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.12.bb new file mode 100644 index 000000000..ec8545dae --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.12.bb @@ -0,0 +1,16 @@ +SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order." +AUTHOR = "Anthon van der Neut" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=60afc0a1bb0501c0c555cabe78bba022" + +PYPI_PACKAGE = "ruamel.yaml" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "c7e4b216d9554d80be42011b448b7c61" +SRC_URI[sha256sum] = "076cc0bc34f1966d920a49f18b52b6ad559fbe656a0748e3535cf7b3f29ebf9e" + +do_install_prepend() { + export RUAMEL_NO_PIP_INSTALL_CHECK=1 +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.16.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.16.5.bb deleted file mode 100644 index ad01f6f5b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.16.5.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "The new Python SDK for Sentry.io" -DESCRIPTION = "This is the next line of the Python SDK \ -for Sentry, intended to replace the raven package on PyPI." -HOMEPAGE = "https://github.com/getsentry/sentry-python" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0c79f8d3c91fc847350efd28bfe0a341" - -SRC_URI[md5sum] = "6d65fda758929b6a8d16e6030302c811" -SRC_URI[sha256sum] = "e12eb1c2c01cd9e9cfe70608dbda4ef451f37ef0b7cbb92e5d43f87c341d6334" - -PYPI_PACKAGE = "sentry-sdk" -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.17.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.17.5.bb new file mode 100644 index 000000000..5495fa0d3 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.17.5.bb @@ -0,0 +1,12 @@ +SUMMARY = "The new Python SDK for Sentry.io" +DESCRIPTION = "This is the next line of the Python SDK \ +for Sentry, intended to replace the raven package on PyPI." +HOMEPAGE = "https://github.com/getsentry/sentry-python" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0c79f8d3c91fc847350efd28bfe0a341" + +SRC_URI[md5sum] = "dcdf0d4f84f4f6ea02ad3f15dfcff2d9" +SRC_URI[sha256sum] = "02f2a72698453f722b102562eb6430d2a82d6c6c40f2b991ed69e7628142de6a" + +PYPI_PACKAGE = "sentry-sdk" +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.13.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.13.1.bb deleted file mode 100644 index 2a6d9bcc6..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.13.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Python subprocess replacement" -HOMEPAGE = "https://github.com/amoffat/sh" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5317094292296f03405f59ae5f6544b6" - -SRC_URI[md5sum] = "7e3dd3a6b49c06db93746994a68cb8cf" -SRC_URI[sha256sum] = "97a3d2205e3c6a842d87ebbc9ae93acae5a352b1bc4609b428d0fd5bb9e286a3" - -PYPI_PACKAGE = "sh" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-codecs \ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-resource \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-terminal \ - ${PYTHON_PN}-tests \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-unixadmin \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.0.bb new file mode 100644 index 000000000..7724f4be0 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "Python subprocess replacement" +HOMEPAGE = "https://github.com/amoffat/sh" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5317094292296f03405f59ae5f6544b6" + +SRC_URI[md5sum] = "4cbbcb85c081d78f4b0f00d634db9bb9" +SRC_URI[sha256sum] = "05c7e520cdf70f70a7228a03b589da9f96c6e0d06fc487ab21fc62b26a592e59" + +PYPI_PACKAGE = "sh" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-codecs \ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-resource \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-terminal \ + ${PYTHON_PN}-tests \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-unixadmin \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.2.0.bb deleted file mode 100644 index 0a2bffdcc..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.2.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "Manage dynamic plugins for Python applications" -HOMEPAGE = "https://docs.openstack.org/stevedore/latest/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI[md5sum] = "6a39764d7aecc63a0990cf4635cb430d" -SRC_URI[sha256sum] = "38791aa5bed922b0a844513c5f9ed37774b68edc609e5ab8ab8d8fe0ce4315e5" - -DEPENDS += "${PYTHON_PN}-pbr-native" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "${PYTHON_PN}-pbr ${PYTHON_PN}-six" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.2.2.bb new file mode 100644 index 000000000..18eae3532 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.2.2.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Manage dynamic plugins for Python applications" +HOMEPAGE = "https://docs.openstack.org/stevedore/latest/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI[md5sum] = "c78357a02888490ef27a0d898eb97172" +SRC_URI[sha256sum] = "f845868b3a3a77a2489d226568abe7328b5c2d4f6a011cc759dfa99144a521f0" + +DEPENDS += "${PYTHON_PN}-pbr-native" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "${PYTHON_PN}-pbr ${PYTHON_PN}-six" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb index 78ec43156..6914cf920 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb @@ -1,3 +1,20 @@ -require python-systemd.inc -RDEPENDS_${PN} += "python3-syslog" -inherit setuptools3 +SUMMARY = "Python interface for libsystemd" +HOMEPAGE = "https://github.com/systemd/python-systemd" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c" + +PYPI_PACKAGE = "systemd-python" +DEPENDS += "systemd (<=234)" +RDEPENDS_${PN} += "systemd ${PYTHON_PN}-syslog ${PYTHON_PN}-logging python3-syslog" +REQUIRED_DISTRO_FEATURES = "systemd" +inherit pypi features_check setuptools3 + +SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d" +SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7" + +# allow for common patches for python- and python3-systemd +FILESEXTRAPATHS_prepend := "${THISDIR}/python-systemd:" + +SRC_URI += "file://endian.patch" + +SRC_URI_append_libc-musl = " file://0001-Provide-implementation-of-strndupa-for-musl.patch" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tabulate_0.8.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tabulate_0.8.7.bb new file mode 100644 index 000000000..def35ff44 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tabulate_0.8.7.bb @@ -0,0 +1,9 @@ +SUMMARY = "Pretty-print tabular data" +HOMEPAGE = "https://github.com/astanin/python-tabulate" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fad5a39bdfe452b13775adda41023ba7" + +SRC_URI[md5sum] = "a766c6eecfe3765821909c4ddf082b3b" +SRC_URI[sha256sum] = "db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator/run-ptest new file mode 100644 index 000000000..5cec71169 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb index 14943a4bd..a83ee5efc 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb @@ -5,10 +5,24 @@ parsers that prevent any potentially malicious operation." LICENSE = "ISC" LIC_FILES_CHKSUM = "file://LICENSE;md5=041a2bff595d40ccb4b36356f89dab00" +SRC_URI += " \ + file://run-ptest \ +" + SRC_URI[md5sum] = "6c69e73ba5b4b3ed62f7bcda071c64f1" SRC_URI[sha256sum] = "ad5925c814bfe79497b43df096e3bb52c166d1577f7aff160137301676232f4a" -inherit pypi setuptools3 +inherit pypi setuptools3 ptest + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-mock \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} DEPENDS += "python3-nose-native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-texttable_1.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-texttable_1.6.3.bb new file mode 100644 index 000000000..03ebd010e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-texttable_1.6.3.bb @@ -0,0 +1,11 @@ +SUMMARY = "module for creating simple ASCII tables" +HOMEPAGE = "https://github.com/foutaise/texttable/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7a97cdac2d9679ffdcfef3dc036d24f6" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "68e6b31d36f5c20221da7d5db3eca772" +SRC_URI[sha256sum] = "ce0faf21aa77d806bbff22b107cc22cce68dc9438f97a2df32c93e9afa4ce436" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.48.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.48.2.bb deleted file mode 100644 index 831468095..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.48.2.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Fast, Extensible Progress Meter" -HOMEPAGE = "http://tqdm.github.io/" -SECTION = "devel/python" - -LICENSE = "MIT & MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENCE;md5=7ea57584e3f8bbde2ae3e1537551de25" - -SRC_URI[md5sum] = "d29c836d74d2f2ec6a10d052937f7371" -SRC_URI[sha256sum] = "564d632ea2b9cb52979f7956e093e831c28d441c11751682f84c86fc46e4fd21" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.49.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.49.0.bb new file mode 100644 index 000000000..26eb1073d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.49.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "Fast, Extensible Progress Meter" +HOMEPAGE = "http://tqdm.github.io/" +SECTION = "devel/python" + +LICENSE = "MIT & MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENCE;md5=7ea57584e3f8bbde2ae3e1537551de25" + +SRC_URI[md5sum] = "c2afde3f1d5aa108376fdd0f4b20821d" +SRC_URI[sha256sum] = "faf9c671bd3fad5ebaeee366949d969dca2b2be32c872a7092a1e1a9048d105b" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-trafaret_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-trafaret_2.0.2.bb deleted file mode 100644 index 4e814073b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-trafaret_2.0.2.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Ultimate transformation library that supports validation, contexts and aiohttp." - -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=21ecc7aa8f699874e706fc1354903437" - -SRC_URI[sha256sum] = "61dfc25b574f70bfdf7ee3a808ec423061811c13a10b8d3c9e11ab539b96ab65" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-urllib3 \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-trafaret_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-trafaret_2.1.0.bb new file mode 100644 index 000000000..96602016e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-trafaret_2.1.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Ultimate transformation library that supports validation, contexts and aiohttp." + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=21ecc7aa8f699874e706fc1354903437" + +SRC_URI[sha256sum] = "72c342ede27fb34cd219b62855119380ae1c87006b6106be163c01159eb955ff" +SRC_URI[md5sum] = "228675376012fb27dd7f70ab685e7766" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-urllib3 \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_4.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_4.3.3.bb deleted file mode 100644 index edfb3abfa..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_4.3.3.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Traitlets Python config system" -HOMEPAGE = "http://ipython.org" -AUTHOR = "IPython Development Team " -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING.md;md5=eec4de4d599518742e54e75954e33b46" - -PYPI_PACKAGE = "traitlets" - -SRC_URI[md5sum] = "3a4f263af65d3d79f1c279f0247077ef" -SRC_URI[sha256sum] = "d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7" - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-ipython-genutils \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-decorator \ -" - -inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.0.4.bb new file mode 100644 index 000000000..194193f63 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.0.4.bb @@ -0,0 +1,17 @@ +SUMMARY = "Traitlets Python config system" +HOMEPAGE = "http://ipython.org" +AUTHOR = "IPython Development Team " +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING.md;md5=eec4de4d599518742e54e75954e33b46" + +PYPI_PACKAGE = "traitlets" + +SRC_URI[md5sum] = "592dde72b6b706d09ea624cce9af3cf5" +SRC_URI[sha256sum] = "86c9351f94f95de9db8a04ad8e892da299a088a64fd283f9f6f18770ae5eae1b" + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-ipython-genutils \ + ${PYTHON_PN}-decorator \ +" + +inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.8.0.bb deleted file mode 100644 index 78f66a443..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.8.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Twitter for Python" -DESCRIPTION = "Python module to support twitter API" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=8f702b489acb6863cec8b261a55931d8" - -SRC_URI[md5sum] = "8aeff278b7cefcd384c65929bc921e2c" -SRC_URI[sha256sum] = "8abd828ba51a85a2b5bb7373715d6d3bb32d18ac624e3a4db02e4ef8ab48316b" - -PYPI_PACKAGE = "tweepy" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-pip \ - ${PYTHON_PN}-pysocks \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-six \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.9.0.bb new file mode 100644 index 000000000..01bbf831a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.9.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "Twitter for Python" +DESCRIPTION = "Python module to support twitter API" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" + +SRC_URI[md5sum] = "b5bc640fa9f6baff6471c127aba1fec0" +SRC_URI[sha256sum] = "bfd19a5c11f35f7f199c795f99d9cbf8a52eb33f0ecfb6c91ee10b601180f604" + +PYPI_PACKAGE = "tweepy" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-pip \ + ${PYTHON_PN}-pysocks \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-six \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.2.bb deleted file mode 100644 index 51e9eda2e..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.2.bb +++ /dev/null @@ -1,13 +0,0 @@ -HOMEPAGE = "https://github.com/python/typing" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f" - -# The name on PyPi is slightly different. -PYPI_PACKAGE = "typing_extensions" - -SRC_URI[md5sum] = "f2674282966dc088d10170c2347431cc" -SRC_URI[sha256sum] = "79ee589a3caca649a9bfd2a8de4709837400dfa00b6cc81962a1e6a1815969ae" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.3.bb new file mode 100644 index 000000000..8ef15fab7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.3.bb @@ -0,0 +1,13 @@ +HOMEPAGE = "https://github.com/python/typing" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f" + +# The name on PyPi is slightly different. +PYPI_PACKAGE = "typing_extensions" + +SRC_URI[md5sum] = "5fcbfcb22e6f8c9bf23fb9f8e020f6ee" +SRC_URI[sha256sum] = "99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_3.1.0.bb deleted file mode 100644 index ef57b2a1f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_3.1.0.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Ultra fast JSON encoder and decoder for Python" -DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3." - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=10fa10456417c0252bcb8a498e498ffe" - -SRC_URI[md5sum] = "875ac729018f3cac786d471422306fa8" -SRC_URI[sha256sum] = "00bda1de275ed6fe81817902189c75dfd156b4fa29b44dc1f4620775d2f50cf7" - -inherit pypi ptest setuptools3 - -SRC_URI += " \ - file://run-ptest \ -" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-numbers \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytz \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_3.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_3.2.0.bb new file mode 100644 index 000000000..e1d7d9d79 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_3.2.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "Ultra fast JSON encoder and decoder for Python" +DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3." + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=10fa10456417c0252bcb8a498e498ffe" + +SRC_URI[md5sum] = "a524264ef4069e18d742e32e90845a3f" +SRC_URI[sha256sum] = "abb1996ba1c1d2faf5b1e38efa97da7f64e5373a31f705b96fe0587f5f778db4" + +inherit pypi ptest setuptools3 + +SRC_URI += " \ + file://run-ptest \ +" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-numbers \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytz \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_0.5.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_0.5.5.bb new file mode 100644 index 000000000..dbf84d413 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_0.5.5.bb @@ -0,0 +1,13 @@ +SUMMARY = "Ordered YAML loader and dumper for PyYAML." +HOMEPAGE = "https://github.com/Phynix/yamlloader" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6831ef36faa29329bce2420c5356f97e" + +SRC_URI[md5sum] = "2e0750ace81235f750c072833d79c4c3" +SRC_URI[sha256sum] = "dcab5f16b39bb03d10dda4cd4f30c943675ec4c7771807fc67e7f1bb319bf4c8" + +inherit pypi setuptools3 + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-pyyaml \ +" diff --git a/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.48.bb b/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.48.bb deleted file mode 100644 index 9ca7a56bd..000000000 --- a/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.48.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "A python library for handling exceptions" -DESCRIPTION = "The python-meh package is a python library for handling, saving, and reporting \ -exceptions." -HOMEPAGE = "http://git.fedorahosted.org/git/?p=python-meh.git" -LICENSE = "GPLv2+" - -inherit setuptools3 - -S = "${WORKDIR}/git" - -SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \ -" -SRCREV = "760f78a634ecf0e2380abcbd751bc233d29300ef" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -FILES_${PN} += "${datadir}/*" - diff --git a/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.49.bb b/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.49.bb new file mode 100644 index 000000000..7fba21f7d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.49.bb @@ -0,0 +1,17 @@ +SUMMARY = "A python library for handling exceptions" +DESCRIPTION = "The python-meh package is a python library for handling, saving, and reporting \ +exceptions." +HOMEPAGE = "http://git.fedorahosted.org/git/?p=python-meh.git" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +inherit setuptools3 + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \ +" +SRCREV = "50c09e5c4c76757099d686c316b4bf42f72db71b" + +FILES_${PN} += "${datadir}/*" + diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.17.4.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.17.4.bb deleted file mode 100644 index a804b0cc0..000000000 --- a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.17.4.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "Python WBEM Client and Provider Interface" -DESCRIPTION = "\ -A Python library for making CIM (Common Information Model) operations over \ -HTTP using the WBEM CIM-XML protocol. It is based on the idea that a good \ -WBEM client should be easy to use and not necessarily require a large amount \ -of programming knowledge. It is suitable for a large range of tasks from \ -simply poking around to writing web and GUI applications. \ -\ -WBEM, or Web Based Enterprise Management is a manageability protocol, like \ -SNMP, standardised by the Distributed Management Task Force (DMTF) available \ -at http://www.dmtf.org/standards/wbem. \ -\ -It also provides a Python provider interface, and is the fastest and easiest \ -way to write providers on the planet." -HOMEPAGE = "http://pywbem.github.io" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24" - -SRC_URI[md5sum] = "b65c03026bf2174e58e3e47a5e7e4825" -SRC_URI[sha256sum] = "5b54b65a5434bb16432415743c0d154feee0c6d7a8a2fee208719c67d6d24c97" - -inherit pypi setuptools3 update-alternatives - -DEPENDS += " \ - ${PYTHON_PN}-ply-native \ - ${PYTHON_PN}-pyyaml-native \ - ${PYTHON_PN}-six-native \ -" - -do_install_append() { - mv ${D}${bindir}/wbemcli.py ${D}${bindir}/pywbemcli - - rm -f ${D}${bindir}/*.bat -} - -RDEPENDS_${PN}_class-target += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-ply \ - ${PYTHON_PN}-pyyaml \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-unixadmin \ - ${PYTHON_PN}-xml \ -" - -ALTERNATIVE_${PN} = "mof_compiler pywbemcli wbemcli" -ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler" -ALTERNATIVE_TARGET[pywbemcli] = "${bindir}/pywbemcli" -ALTERNATIVE_TARGET[wbemcli] = "${bindir}/wbemcli" - -ALTERNATIVE_PRIORITY = "60" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.0.2.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.0.2.bb new file mode 100644 index 000000000..da731989d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.0.2.bb @@ -0,0 +1,48 @@ +SUMMARY = "Python WBEM Client and Provider Interface" +DESCRIPTION = "\ +A Python library for making CIM (Common Information Model) operations over \ +HTTP using the WBEM CIM-XML protocol. It is based on the idea that a good \ +WBEM client should be easy to use and not necessarily require a large amount \ +of programming knowledge. It is suitable for a large range of tasks from \ +simply poking around to writing web and GUI applications. \ +\ +WBEM, or Web Based Enterprise Management is a manageability protocol, like \ +SNMP, standardised by the Distributed Management Task Force (DMTF) available \ +at http://www.dmtf.org/standards/wbem. \ +\ +It also provides a Python provider interface, and is the fastest and easiest \ +way to write providers on the planet." +HOMEPAGE = "http://pywbem.github.io" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24" + +SRC_URI[md5sum] = "0f171e365e294554f8e7624ccf511067" +SRC_URI[sha256sum] = "66d8ec82d30f2b95d8b4bd51659429066c2879d3f46292561f5fdbc7fed10f3d" + +inherit pypi setuptools3 update-alternatives + +DEPENDS += " \ + ${PYTHON_PN}-ply-native \ + ${PYTHON_PN}-pyyaml-native \ + ${PYTHON_PN}-six-native \ +" + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-ply \ + ${PYTHON_PN}-pyyaml \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-unixadmin \ + ${PYTHON_PN}-xml \ +" + +ALTERNATIVE_${PN} = "mof_compiler" +ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler" + +ALTERNATIVE_PRIORITY = "60" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.7.1.bb b/meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.7.1.bb new file mode 100644 index 000000000..05f77288e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.7.1.bb @@ -0,0 +1,40 @@ +SUMMARY = "A set of tools using pywbem" +DESCRIPTION = "A set of tools using pywbem to communicate with WBEM servers" +HOMEPAGE = "https://pywbemtools.readthedocs.io/en/stable/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" + +SRC_URI[md5sum] = "a789da735c04ddc08ba828cd8022243e" +SRC_URI[sha256sum] = "d2fe776c78a740215142f4f033055093f2283fd9327440c59734716e51e19989" + +inherit pypi setuptools3 + +DEPENDS += " \ + ${PYTHON_PN}-pyyaml-native \ + ${PYTHON_PN}-pywbem-native \ + ${PYTHON_PN}-six-native \ + ${PYTHON_PN}-click-native \ +" + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-ply \ + ${PYTHON_PN}-pyyaml \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-pywbem \ + ${PYTHON_PN}-click \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-prompt-toolkit \ + ${PYTHON_PN}-mock \ + ${PYTHON_PN}-packaging \ + ${PYTHON_PN}-nocasedict \ + ${PYTHON_PN}-yamlloader \ + ${PYTHON_PN}-click-repl \ + ${PYTHON_PN}-click-spinner \ + ${PYTHON_PN}-asciitree \ + ${PYTHON_PN}-tabulate \ + ${PYTHON_PN}-pydicti \ + ${PYTHON_PN}-nocaselist \ + ${PYTHON_PN}-custom-inherit \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb b/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb index f5d5debe1..e3e68582c 100644 --- a/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb +++ b/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb @@ -19,20 +19,31 @@ RDEPENDS_packagegroup-meta-webserver = "\ " RDEPENDS_packagegroup-meta-webserver-http = "\ - nginx monkey hiawatha nostromo apache-websocket \ - apache2 sthttpd \ + apache-websocket \ + apache2 \ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "cherokee", "", d)} \ - " + hiawatha \ + monkey \ + nginx \ + nginx \ + nostromo \ + sthttpd \ +" RDEPENDS_packagegroup-meta-webserver-php = "\ - phpmyadmin xdebug \ - " + phpmyadmin \ + xdebug \ +" RDEPENDS_packagegroup-meta-webserver-support = "\ - spawn-fcgi fcgi \ - " + spawn-fcgi \ + fcgi \ +" RDEPENDS_packagegroup-meta-webserver-webadmin = "\ - netdata webmin \ - " + cockpit \ + webmin \ + netdata \ +" + EXCLUDE_FROM_WORLD = "1" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.43.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.43.bb deleted file mode 100644 index a7083d80e..000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.43.bb +++ /dev/null @@ -1,226 +0,0 @@ -DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \ -extensible web server." -SUMMARY = "Apache HTTP Server" -HOMEPAGE = "http://httpd.apache.org/" -SECTION = "net" -LICENSE = "Apache-2.0" - -SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \ - file://0001-configure-use-pkg-config-for-PCRE-detection.patch \ - file://0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch \ - file://0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch \ - file://0004-apache2-log-the-SELinux-context-at-startup.patch \ - file://0005-replace-lynx-to-curl-in-apachectl-script.patch \ - file://0006-apache2-fix-the-race-issue-of-parallel-installation.patch \ - file://0007-apache2-allow-to-disable-selinux-support.patch \ - file://apache-configure_perlbin.patch \ - file://0001-support-apxs.in-force-destdir-to-be-empty-string.patch \ - " - -SRC_URI_append_class-target = " \ - file://0008-apache2-do-not-use-relative-path-for-gen_test_char.patch \ - file://init \ - file://apache2-volatile.conf \ - file://apache2.service \ - file://volatiles.04_apache2 \ - " - -LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3" -SRC_URI[md5sum] = "791c986b1e70fe61eb44060aacc89a64" -SRC_URI[sha256sum] = "a497652ab3fc81318cdc2a203090a999150d86461acff97c1065dc910fe10f43" - -S = "${WORKDIR}/httpd-${PV}" - -inherit autotools update-rc.d pkgconfig systemd update-alternatives - -DEPENDS = "openssl expat pcre apr apr-util apache2-native " - -CVE_PRODUCT = "http_server" - -SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" -PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap" -PACKAGECONFIG[zlib] = "--enable-deflate,,zlib,zlib" - -CFLAGS_append = " -DPATH_MAX=4096" - -EXTRA_OECONF_class-target = "\ - --enable-layout=Debian \ - --prefix=${base_prefix} \ - --exec_prefix=${exec_prefix} \ - --includedir=${includedir}/${BPN} \ - --sysconfdir=${sysconfdir}/${BPN} \ - --datadir=${datadir}/${BPN} \ - --libdir=${libdir} \ - --libexecdir=${libexecdir}/${BPN}/modules \ - --localstatedir=${localstatedir} \ - --enable-ssl \ - --with-dbm=sdbm \ - --with-gdbm=no \ - --with-ndbm=no \ - --with-berkeley-db=no \ - --enable-info \ - --enable-rewrite \ - --enable-mpms-shared \ - ap_cv_void_ptr_lt_long=no \ - ac_cv_have_threadsafe_pollset=no \ - " - -EXTRA_OECONF_class-native = "\ - --prefix=${prefix} \ - --includedir=${includedir}/${BPN} \ - --sysconfdir=${sysconfdir}/${BPN} \ - --datadir=${datadir}/${BPN} \ - --libdir=${libdir} \ - --libexecdir=${libdir}/${BPN}/modules \ - --localstatedir=${localstatedir} \ - " - -do_configure_prepend() { - sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libexecdir}/cgi-bin:g' ${S}/config.layout -} - -do_install_append_class-target() { - install -d ${D}/${sysconfdir}/init.d - - cat ${WORKDIR}/init | \ - sed -e 's,/usr/sbin/,${sbindir}/,g' \ - -e 's,/usr/bin/,${bindir}/,g' \ - -e 's,/usr/lib/,${libdir}/,g' \ - -e 's,/etc/,${sysconfdir}/,g' \ - -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN} - - chmod 755 ${D}/${sysconfdir}/init.d/${BPN} - - # Remove the goofy original files... - rm -rf ${D}/${sysconfdir}/${BPN}/original - - install -d ${D}${sysconfdir}/${BPN}/conf.d - install -d ${D}${sysconfdir}/${BPN}/modules.d - - # Ensure configuration file pulls in conf.d and modules.d - printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf - printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf - printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf - - # Match with that is in init script - printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf - - # Set 'ServerName' to fix error messages when restart apache service - sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf - - sed -i 's/^ServerRoot/#ServerRoot/' ${D}/${sysconfdir}/${BPN}/httpd.conf - - sed -i -e 's,${STAGING_DIR_TARGET},,g' \ - -e 's,${DEBUG_PREFIX_MAP},,g' \ - -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \ - -e 's,${HOSTTOOLS_DIR}/,,g' \ - -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ - -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk - - sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's,${DEBUG_PREFIX_MAP},,g' \ - -e 's,${RECIPE_SYSROOT},,g' \ - -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \ - -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ - -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d/ - install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service - sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service - elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2 - fi - - rm -rf ${D}${localstatedir} ${D}${sbindir}/envvars* - chown -R root:root ${D} -} - -do_install_append_class-native() { - install -d ${D}${bindir} ${D}${libdir} - install -m 755 server/gen_test_char ${D}${bindir} -} - -SYSROOT_PREPROCESS_FUNCS_append_class-target = " apache_sysroot_preprocess" - -apache_sysroot_preprocess() { - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} - install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts} - install -d ${SYSROOT_DESTDIR}${sbindir} - install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir} - sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs - sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs - - sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk -} - -# Implications - used by update-rc.d scripts -INITSCRIPT_NAME = "apache2" -INITSCRIPT_PARAMS = "defaults 91 20" - -SYSTEMD_SERVICE_${PN} = "apache2.service" -SYSTEMD_AUTO_ENABLE_${PN} = "enable" - -ALTERNATIVE_${PN}-doc = "htpasswd.1" -ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1" - -PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" - -CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \ - ${sysconfdir}/${BPN}/magic \ - ${sysconfdir}/${BPN}/mime.types \ - ${sysconfdir}/${BPN}/extra/*" - -# We override here rather than append so that .so links are -# included in the runtime package rather than here (-dev) -# and to get build, icons, error into the -dev package -FILES_${PN}-dev = "${datadir}/${BPN}/build \ - ${datadir}/${BPN}/icons \ - ${datadir}/${BPN}/error \ - ${includedir}/${BPN} \ - ${bindir}/apxs \ - " - -# Add the manual to -doc -FILES_${PN}-doc += " ${datadir}/${BPN}/manual" - -FILES_${PN}-scripts += "${bindir}/dbmmanage" - -# Override this too - here is the default, less datadir -FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir} \ - ${sysconfdir} ${libdir}/${BPN}" - -# We want htdocs and cgi-bin to go with the binary -FILES_${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin" - -FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug" - -RDEPENDS_${PN} += "openssl libgcc" -RDEPENDS_${PN}-scripts += "perl ${PN}" -RDEPENDS_${PN}-dev = "perl" - -BBCLASSEXTEND = "native" - -pkg_postinst_${PN}() { - if [ -z "$D" ]; then - if type systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create - elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then - ${sysconfdir}/init.d/populate-volatile.sh update - fi - fi -} diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.46.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.46.bb new file mode 100644 index 000000000..197cb83e6 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.46.bb @@ -0,0 +1,226 @@ +DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \ +extensible web server." +SUMMARY = "Apache HTTP Server" +HOMEPAGE = "http://httpd.apache.org/" +SECTION = "net" +LICENSE = "Apache-2.0" + +SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \ + file://0001-configure-use-pkg-config-for-PCRE-detection.patch \ + file://0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch \ + file://0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch \ + file://0004-apache2-log-the-SELinux-context-at-startup.patch \ + file://0005-replace-lynx-to-curl-in-apachectl-script.patch \ + file://0006-apache2-fix-the-race-issue-of-parallel-installation.patch \ + file://0007-apache2-allow-to-disable-selinux-support.patch \ + file://apache-configure_perlbin.patch \ + file://0001-support-apxs.in-force-destdir-to-be-empty-string.patch \ + " + +SRC_URI_append_class-target = " \ + file://0008-apache2-do-not-use-relative-path-for-gen_test_char.patch \ + file://init \ + file://apache2-volatile.conf \ + file://apache2.service \ + file://volatiles.04_apache2 \ + " + +LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3" +SRC_URI[md5sum] = "7d661ea5e736dac5e2761d9f49fe8361" +SRC_URI[sha256sum] = "740eddf6e1c641992b22359cabc66e6325868c3c5e2e3f98faf349b61ecf41ea" + +S = "${WORKDIR}/httpd-${PV}" + +inherit autotools update-rc.d pkgconfig systemd update-alternatives + +DEPENDS = "openssl expat pcre apr apr-util apache2-native " + +CVE_PRODUCT = "http_server" + +SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" +PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap" +PACKAGECONFIG[zlib] = "--enable-deflate,,zlib,zlib" + +CFLAGS_append = " -DPATH_MAX=4096" + +EXTRA_OECONF_class-target = "\ + --enable-layout=Debian \ + --prefix=${base_prefix} \ + --exec_prefix=${exec_prefix} \ + --includedir=${includedir}/${BPN} \ + --sysconfdir=${sysconfdir}/${BPN} \ + --datadir=${datadir}/${BPN} \ + --libdir=${libdir} \ + --libexecdir=${libexecdir}/${BPN}/modules \ + --localstatedir=${localstatedir} \ + --enable-ssl \ + --with-dbm=sdbm \ + --with-gdbm=no \ + --with-ndbm=no \ + --with-berkeley-db=no \ + --enable-info \ + --enable-rewrite \ + --enable-mpms-shared \ + ap_cv_void_ptr_lt_long=no \ + ac_cv_have_threadsafe_pollset=no \ + " + +EXTRA_OECONF_class-native = "\ + --prefix=${prefix} \ + --includedir=${includedir}/${BPN} \ + --sysconfdir=${sysconfdir}/${BPN} \ + --datadir=${datadir}/${BPN} \ + --libdir=${libdir} \ + --libexecdir=${libdir}/${BPN}/modules \ + --localstatedir=${localstatedir} \ + " + +do_configure_prepend() { + sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libexecdir}/cgi-bin:g' ${S}/config.layout +} + +do_install_append_class-target() { + install -d ${D}/${sysconfdir}/init.d + + cat ${WORKDIR}/init | \ + sed -e 's,/usr/sbin/,${sbindir}/,g' \ + -e 's,/usr/bin/,${bindir}/,g' \ + -e 's,/usr/lib/,${libdir}/,g' \ + -e 's,/etc/,${sysconfdir}/,g' \ + -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN} + + chmod 755 ${D}/${sysconfdir}/init.d/${BPN} + + # Remove the goofy original files... + rm -rf ${D}/${sysconfdir}/${BPN}/original + + install -d ${D}${sysconfdir}/${BPN}/conf.d + install -d ${D}${sysconfdir}/${BPN}/modules.d + + # Ensure configuration file pulls in conf.d and modules.d + printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + + # Match with that is in init script + printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + + # Set 'ServerName' to fix error messages when restart apache service + sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf + + sed -i 's/^ServerRoot/#ServerRoot/' ${D}/${sysconfdir}/${BPN}/httpd.conf + + sed -i -e 's,${STAGING_DIR_TARGET},,g' \ + -e 's,${DEBUG_PREFIX_MAP},,g' \ + -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \ + -e 's,${HOSTTOOLS_DIR}/,,g' \ + -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ + -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk + + sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's,${DEBUG_PREFIX_MAP},,g' \ + -e 's,${RECIPE_SYSROOT},,g' \ + -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \ + -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ + -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d/ + install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service + elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2 + fi + + rm -rf ${D}${localstatedir} ${D}${sbindir}/envvars* + chown -R root:root ${D} +} + +do_install_append_class-native() { + install -d ${D}${bindir} ${D}${libdir} + install -m 755 server/gen_test_char ${D}${bindir} +} + +SYSROOT_PREPROCESS_FUNCS_append_class-target = " apache_sysroot_preprocess" + +apache_sysroot_preprocess() { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} + install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts} + install -d ${SYSROOT_DESTDIR}${sbindir} + install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir} + sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs + sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs + + sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk +} + +# Implications - used by update-rc.d scripts +INITSCRIPT_NAME = "apache2" +INITSCRIPT_PARAMS = "defaults 91 20" + +SYSTEMD_SERVICE_${PN} = "apache2.service" +SYSTEMD_AUTO_ENABLE_${PN} = "enable" + +ALTERNATIVE_${PN}-doc = "htpasswd.1" +ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1" + +PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" + +CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \ + ${sysconfdir}/${BPN}/magic \ + ${sysconfdir}/${BPN}/mime.types \ + ${sysconfdir}/${BPN}/extra/*" + +# We override here rather than append so that .so links are +# included in the runtime package rather than here (-dev) +# and to get build, icons, error into the -dev package +FILES_${PN}-dev = "${datadir}/${BPN}/build \ + ${datadir}/${BPN}/icons \ + ${datadir}/${BPN}/error \ + ${includedir}/${BPN} \ + ${bindir}/apxs \ + " + +# Add the manual to -doc +FILES_${PN}-doc += " ${datadir}/${BPN}/manual" + +FILES_${PN}-scripts += "${bindir}/dbmmanage" + +# Override this too - here is the default, less datadir +FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir} \ + ${sysconfdir} ${libdir}/${BPN}" + +# We want htdocs and cgi-bin to go with the binary +FILES_${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin" + +FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug" + +RDEPENDS_${PN} += "openssl libgcc" +RDEPENDS_${PN}-scripts += "perl ${PN}" +RDEPENDS_${PN}-dev = "perl" + +BBCLASSEXTEND = "native" + +pkg_postinst_${PN}() { + if [ -z "$D" ]; then + if type systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} diff --git a/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.init b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.init index 40b21182e..55446f0e8 100644 --- a/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.init +++ b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.init @@ -1,7 +1,7 @@ #!/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=/usr/bin/monkey +DAEMON=/usr/sbin/monkey NAME=monkey DESC="Monkey HTTP Server" OPTS="--daemon" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.service b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.service index f9aa57f91..4f3b7be4e 100644 --- a/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.service +++ b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.service @@ -4,7 +4,7 @@ After=network.target remote-fs.target [Service] Type=forking -ExecStart=/usr/bin/monkey --daemon +ExecStart=/usr/sbin/monkey --daemon PIDFile=/var/run/monkey.pid.2001 TimeoutSec=10 diff --git a/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb b/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb index 289f069b1..698f8608f 100644 --- a/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb +++ b/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb @@ -39,6 +39,7 @@ OECMAKE_GENERATOR = "Unix Makefiles" do_install_append() { rm -rf ${D}/run + rm -rf ${D}${localstatedir}/run install -Dm 0755 ${WORKDIR}/monkey.init ${D}${sysconfdir}/init.d/monkey if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then diff --git a/meta-openembedded/meta-xfce/conf/layer.conf b/meta-openembedded/meta-xfce/conf/layer.conf index 199c69e7b..7e4bb178e 100644 --- a/meta-openembedded/meta-xfce/conf/layer.conf +++ b/meta-openembedded/meta-xfce/conf/layer.conf @@ -20,3 +20,10 @@ LAYERDEPENDS_xfce-layer += "meta-python" LAYERDEPENDS_xfce-layer += "networking-layer" LAYERSERIES_COMPAT_xfce-layer = "thud warrior zeus dunfell" + +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\ + openzone->gdk-pixbuf \ + openzone->gtk+3 \ + rodent-icon-theme->gdk-pixbuf \ + rodent-icon-theme->gtk+3 \ +" -- cgit v1.2.3