From 15ae2509e522678e761046cdb8693291c09cf78c Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Tue, 18 Jun 2019 21:44:24 -0400 Subject: subtree updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit meta-openembedded: f3018013ff..3b245e4fe8: Adrian Bunk (8): Remove start-stop-daemon dvb-apps: Remove workaround patch for ancient target compilers Remove ipsec-tools and umip gpsd: Switch PACKAGECONFIG[qt] from Qt4 to Qt5 samba: Upgrade 4.8.11 -> 4.8.12 recipes-devtools: Move back from meta-networking to meta-perl wireless-regdb: Upgrade 2019.03.01 -> 2019.06.03 mcelog: Remove manual RDEPENDS from PN-ptest to PN package Alejandro del Castillo (1): apache2: add all extra/*.conf to conffiles Alistair Francis (1): python-obd: Uprade from 0.7.0 to 0.7.1 Andreas Müller (1): python-six: put python2/3 variant together Andrei Gherzan (2): modemmanager: Update to 1.10.0 networkmanager: Update to 1.18.0 Ankit Navik (1): safec: Initial recipe for safe C library Carlos Rafael Giani (1): openh264: Fix armv7ve build Changqing Li (11): syslog-ng: add rconflict for package syslog-ng-libs netkit-telnet: add rconflicts samba/libldb: add rconflicts php-fpm-apache: fix module path phoronix-test-suite: upgrade from 8.6.0 -> 8.8.1 python-pygobject: upgrade 3.28.3 -> 3.32.1 rrdtool: upgrade 1.7.1 -> 1.7.2 php: upgrade 7.3.4 -> 7.3.6 xf86-video-ati: upgrade 18.0.1 -> 19.0.1 pavucontrol: upgrade 3.0 -> 4.0 multipath-tools: upgrade 0.8.0 -> 0.8.1 Herman van Hazendonk (1): Geoclue: Update to 2.5.3 Hongxu Jia (4): rrdtool: improve reproducibility crash: do not use unstable github archive tarballs postgresql: improve reproducibility net-snmp: split net-snmp-config to package net-snmp-dev Hongzhi.Song (1): spice: fix compile errors on 32bit system Horvath, Chris (1): lcov: Upgrade 1.11 -> 1.14 James Feist (1): libgpiod: Enable cxx bindings by default Kai Kang (16): xfce4-session: 4.13.1 -> 4.13.2 xfce4-screensaver: add recipe packagegroup-xfce-extended: add xfce4-screensaver lxdm: provides fake gdmflexiserver for xfce desktop environment thunar: 1.8.4 -> 1.8.6 xfdesktop: 4.13.3 -> 4.13.4 xfce4-panel: 4.13.4 -> 4.13.5 thunar-volman: 0.9.1 -> 0.9.2 xfce4-appfinder: 4.13.2 -> 4.13.3 libxfce4util: 4.13.2 -> 4.13.3 xfwm4: 4.13.1 -> 4.13.2 xfconf: 4.13.6 -> 4.13.7 libxfce4ui: 4.13.4 -> 4.13.5 xfce4-power-manager: 1.6.1 -> 1.6.2 xfce4-settings: set default theme Adwaita lxdm: provides fake gdmflexiserver for xfce desktop environment Khem Raj (8): libnfc: Fix build with musl openocd: Fix build on x86_64 spice,spice-protocol: Uprev to 0.14.0 udisks: Install bash_completion script in OE familiar dir udisks: Remove bash dependency python-jsmin,python-pytoml,python-which: Add recipes mozjs: Upgrade to version 60.x polkit: Upgrade to 0.116 Liwei Song (1): turbostat: copy bits.h from kernel to turbostat Marek Belisko (1): libsrtp: Fix compilation and add pkgconfig Martin Jansa (17): igmpproxy: remove 0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch and _GNU_SOURCE ne10, libopus: add armv7ve override as well pidgin: upgrade to 2.13.0 funyahoo-plusplus, icyque, pidgin-sipe, purple-skypeweb: add couple plugins for pidgin hunspell: use git fetcher instead of github archive hunspell-dictionaries: import from meta-luneos to make hunspell in meta-oe a bit more useful ttf-mplus, ttf-vlgothic: add ttf-mplus license android-tools-conf: import one more improvement for android-gadget-setup from meta-luneos uriparser: upgrade to 0.9.3 libmikmod: fix SRC_URI leptonica: fix SRC_URI libmikmod: upgrade to 3.3.11.1 open-vm-tools: refresh the patches so that they can be easily applied with devtool or git am open-vm-tools: import gcc9 fixes from fedora spice: append to CFLAGS instead of += cpprest: temporary ignore deprecated-copy and redundant-move errors detected by gcc9 oprofile: drop virtual/kernel dependency and switch back to TUNE_PKGARCH Mingli Yu (4): mariadb: Upgrade to 10.3.15 kea: Upgrade to 1.5.0 hwloc: Upgrade to 1.11.12 kea: replace -Og with -O Naveen Saini (1): pm-graph: add recipe Oleksandr Kravchuk (12): opensaf: update to 5.19.03 python-ldap: update to 3.2.0 rp-pppoe: update to 3.13 atftp: update to 0.7.2 ipcalc: update to 2.2.3 mtr: update to 0.92 nbd: update to 3.19 mdns: update to 878.200.35 lldpd: update to 1.0.3 libp11: update to 0.4.10 nano: update to 4.2 libspatialite: update to 4.3.0a Ovidiu Panait (1): xfsprogs: Fix host contamination Paolo Valente (1): s-suite: push SRCREV to version 3.4 Pascal Bach (1): rocksdb: 5.18.3 -> 6.0.2 Qi.Chen@windriver.com (2): polkit: fix CVE-2019-6133 .gitignore: add *.pyc and *.pyo Randy MacLeod (1): imagemagick: update from 7.0.8-43 to 7.0.8-47 Robert Joslyn (4): cryptsetup: Add PACKAGECONFIG options lmsensors: Update to 3.5.0 xfce4-session: Add xrdb RDEPENDS xfce4-session: Reformat DEPENDS and RDEPENDS Slater, Joseph (1): php-7: mark two tests as expected to fail Stefan Agner (1): haveged: fix CPU cache size detection Tim Orling (13): libterm-readkey-perl: upgrade 2.37 -> 2.38; fix upstream check; enable ptest libtest-deep-perl: add recipe for v1.128 libcgi-perl: upgrade 4.38 -> 4.43; enable ptest libcrypt-openssl-guess-perl: rename from libcrypt-openssl-guess; enable ptest libcrypt-openssl-rsa-perl: upgrade 0.30 -> 0.31; enable ptest libcrypt-openssl-random-perl: upgrade 0.11 -> 0.15; enable ptest libextutils-installpaths-perl: upgrade 0.011 -> 0.012; enable ptest libexutils-config-perl: enable ptest libhtml-tagset-perl: add recipe for v3.20 libhtml-parser-perl: enable ptest libstrictures-perl: upgrade 2.000003 -> 2.000006; enable ptest libxml-libxml-perl: enable ptest libcapture-tiny-perl: upgrade 0.46 -> 0.48; enable ptest William A. Kennington III via Openembedded-devel (1): cli11: 1.6.2 -> 1.7.1 Yi Zhao (8): python-ldap: add python-pyasn1 and python-pyasn1-modules as runtime dependencies fuse: upgrade 2.9.8 -> 2.9.9 yaffs2-utils: update to latest master xfsprogs: upgrade 4.18.0 -> 5.0.0 fcgi: upgrade 2.4.1+git -> 2.4.2 xdebug: upgrade 2.7.0RC2 -> 2.7.2 phpmyadmin: upgrade 4.8.5 -> 4.9.0.1 openipmi: upgrade 2.0.25 -> 2.0.27 Zang Ruochen (13): python-pywbem: solved the conflict with python3-pywbem python3-pywbem:solved the conflict with python-pywbem python-pbr: upgrade 5.2.0 -> 5.2.1 python-mako: upgrade 1.0.10 -> 1.0.12 python-babel: upgrade 2.6.0 -> 2.7.0 python-cachetools: upgrade 3.1.0 -> 3.1.1 python-cryptography: upgrade 2.6.1 -> 2.7 python-cryptography-vectors: upgrade 2.6.1 -> 2.7 python-cython: upgrade 0.29.7 -> 0.29.10 python-lxml: upgrade 4.3.3 -> 4.3.4 python-psutil: upgrade 5.6.2 -> 5.6.3 python-requests: upgrade 2.21.0 -> 2.22.0 python-urllib3: upgrade 1.25.2 -> 1.25.3 nick83ola (5): nginx: update to version 1.17.0 nginx: update stable version to 1.16.0 nginx: add PACKAGECONFIG[http-auth-request] nginx: fix kill path in nginx systemd unit file uthash: do not use unstable github archive tarballs thstead (1): Upgraded python-pysnmp from version 4.3.5. to 4.4.9. Łukasz Łaguna (1): gsl: update to version 2.5 meta-security: 9f5cc2a7eb..c28b72e91d: Armin Kuster (17): checksec: update to 1.11.1 keyutils: fix library install path checksec: add runtime test meta-integrity: port over from meta-intel-iot-security layer.conf: add LAYERSERIES_COMPAT README: update ima-evm-utils: cleanup and update to tip ima.cfg: update to 5.0 kernel linux: update bbappend base-files: add appending to automount securityfs ima-policy-hashed: add new recipe ima_policy_simple: add another sample policy policy: add ima appraise all policy data: remove policies initramfs: clean up to pull in packages. runtime qa: moderize ima test image: add image for testing Changqing Li (1): samhain: add rconflict for client and server mode Zang Ruochen (4): bastille: solved the conflict with perl-module-text-wrap and base-files python-scapy: Remove redundant sed operations python-scapy: solved the conflict with python3-scapy python3-scapy: solved the conflict with python-scapy leimaohui (1): python3-fail2ban: Fix build error of xrange. poky: 797916f93a..111b7173fe: Adrian Bunk (25): nss-myhostname: Stop trying to build for musl systemd: Some upstreamable musl patches have been upstreamed libnss-mdns: Stop trying to build for musl icu: Remove workaround for musl issue fixed upstream 2 years ago socat: Remove workaround for musl issue now fixed upstream ofono: Use external ell instead of an internal copy ofono: Fix another race condition during the build squashfs-tools: Mark as incompatible with musl apt: Remove workaround patches for no longer supported host distributions m4/tar: Remove remove-gets.patch pinentry: Switch pinentry-qt from Qt4 to Qt5 librsvg: Replace workaround for old host systems with upstream fix vim: Move PACKAGECONFIG[gtkgui] from GTK 2 to GTK 3 Remove Go 1.11 go: Remove INSANE_SKIP_* textrel that are now handled in go.bbclass dpkg: Remove workaround patches for no longer supported host distributions lrzsz: Add implicit declaration fixes from Debian tcp-wrappers: Add compile warning fixes from Debian libpam: Upgrade 1.3.0 -> 1.3.1 vte: Fix the license information gcc: Remove 0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch openssl: Upgrade 1.1.1b -> 1.1.1c Remove manual RDEPENDS from PN-ptest to PN package ref-manual: Remove irda feature lttng-modules: Upgrade 2.10.9 -> 2.10.10 Adrian Freihofer (3): qemurunner: fix undefined variable testimage: consider QB_DEFAULT_FSTYPE runqemu: QB_FSINFO to support fstype wic images Alejandro Enedino Hernandez Samaniego (1): python-numpy: Avoid installing copy of f2py script Alejandro Hernandez Samaniego (2): newlib: Upgrade to 3.1.0 newlib: export CC_FOR_TARGET as CC Alejandro del Castillo (1): opkg-utils: upgrade to version 0.4.1 Alex Kiernan (2): kernel-fitimage: uboot-sign: Check UBOOT_DTB_BINARY before adding deps systemd: Backport OpenSSL BUF_MEM fix Alexander Kanavin (53): vim: split the common part into vim.inc libpcre2: upgrade 10.32 -> 10.33 librepo: upgrade 1.9.6 -> 1.10.2 libmodulemd: upgrade 2.2.3 -> 2.4.0 libmodulemd: fix erroneous linking against v2 library when v1 was requested createrepo-c: upgrade 0.12.2 -> 0.14.0 libdazzle: upgrade 3.32.1 -> 3.32.2 adwaita-icon-theme: upgrade 3.30.1 -> 3.32.0 bison: upgrade 3.1 -> 3.3.2 atk: upgrade 2.30.0 -> 2.32.0 python3-mako: upgrade 1.0.9 -> 1.0.10 nss: upgrade 3.43 -> 3.44 go: update 1.12.1->1.12.5 systemtap: upgrade 4.0 -> 4.1 gawk: upgrade 4.2.1 -> 5.0.0 alsa-plugins: upgrade 1.1.8 -> 1.1.9 alsa-utils: upgrade 1.1.8 -> 1.1.9 alsa-lib: upgrade 1.1.8 -> 1.1.9 lz4: upgrade 1.9.0 -> 1.9.1 libxcrypt: upgrade 4.4.4 -> 4.4.6 python3-pip: upgrade 19.0.3 -> 19.1.1 pkgconf: upgrade 1.6.0 -> 1.6.1 at-spi2-core: upgrade 2.30.0 -> 2.32.1 at-spi2-atk: upgrade 2.30.0 -> 2.32.0 glib-networking: upgrade 2.60.1 -> 2.60.2 libsoup-2.4: upgrade 2.66.1 -> 2.66.2 x264: upgrade to latest revision linux-firmware: upgrade to latest revision python3-pbr: upgrade 5.1.3 -> 5.2.0 bash-completion: upgrade 2.8 -> 2.9 gst-examples: upgrade to 1.16.0 acpica: upgrade 20190405 -> 20190509 freetype: upgrade 2.9.1 -> 2.10.0 usbutils: upgrade 010->012 webkitgtk: update to 2.24.2 epiphany: update to 3.32.2 btrfs-tools: update to 5.1 iproute2: upgrade 5.0.0 -> 5.1.0 chkconfig: do not use unstable github archive tarballs chkconfig: fix upstream version check perl: update to 5.30.0 piglit: upgrade to latest revision ccache: fix upstream version check Revert "ncurses: fix incorrect UPSTREAM_CHECK_GITTAGREGEX" sysstat: add UPSTREAM_VERSION_UNKNOWN python3-pygments: add a recipe gtk-doc: upgrade 1.29 -> 1.30 libpsl: fix the gtk-doc 1.30 build source-highlight: remove the recipe mesa-demos: update to 8.4.0 glib-2.0: udpate 2.58.3 -> 2.60.3 gdk-pixbuf: update 2.38.0 -> 2.38.1 gtk+3: update 3.24.5 -> 3.24.8 Alistair Francis (3): gdb: Upgrade from 8.2.1 to 8.3 gnu-config: Update to latest SHA qemu: Backport the arm segfault fix Andreas Müller (1): gsettings-desktop-schemas: upgrade 3.28.1 -> 3.32.0 Andrei Gherzan (1): ca-certificates: Fix openssl runtime dependencies Anuj Mittal (8): Revert "image_types: use pigz to create .gz files" Revert "pigz: pigz is not gzip" libva: upgrade 2.4.0 -> 2.4.1 ffmpeg: add PACKAGECONFIG for mfx libpam: fix upstream version check serf: cleanup recipe scons: inherit python3native python3-scons: fix regex replacing python by python3 Bonnans, Laurent (1): kernel-uboot: compress arm64 kernels Bruce Ashfield (11): linux-yocto/5.0: update to v5.0.13 linux-yocto/4.19: update to v4.19.40 linux-yocto/4.19: update to v4.19.44 kernel: package modules.builtin.modinfo linux-yocto-dev: bump to v5.2-rc linux-yocto/5.0: update to v5.0.17 linux-yocto-rt/5.0: update to -rt9 linux-yocto/5.0: update to v5.0.19 linux-yocto-rt/5.0: update to -rt11 linux-yocto/5.0: fix systemtap on arm linux-yocto: ptest: Add SCSI debug configuration for util-linux Carlos Rafael Giani (6): gstreamer1.0-plugins-base: upgrade to version 1.16.0 gstreamer1.0-plugins-good: upgrade to version 1.16.0 gstreamer1.0-plugins-bad: upgrade to version 1.16.0 gstreamer1.0-plugins-ugly: upgrade to version 1.16.0 gstreamer1.0-libav: upgrade to version 1.16.0 gstreamer1.0-vaapi: upgrade to version 1.16.0 Changqing Li (8): connman: add networkmanager as rconflict dropbear: add openssh/openssh-sshd as rconflict busybox-inittab/sysvinit-inittab: add rconflicts inetutils: fix wrong package name systemd: add rconflicts tiny-init: add rconflicts multilib: add override for image recipe qemu: fix qemu ptest cannot work Chee Yang Lee (3): wic: bootimg-efi: add label source parameter wic/engine: include .wks.in in wic search and list wic/plugins: kernel image refer to KERNEL_IMAGETYPE Chen Qi (5): libxfont2: set CVE_PRODUCT systemd: avoid musl specific patches affect glibc systems util-linux: upgrade to 2.33.2 oescripts.py: avoid error when cairo module is not available context.py: fix skipping function Chris Laplante (5): base.bbclass: Add OE_EXTRA_IMPORTS bitbake: knotty: allow progress rate for indeterminate bars bitbake: build: extract progress handler creation logic into its own method bitbake: build/progress: use context managers for progress handlers bitbake: build: implement custom progress handlers injected via OE_EXTRA_IMPORTS David Frey (1): bluez5: manage udev dependency with PACKAGECONFIG David Reyna (1): bitbake: toaster: Fix Thud Bitbake release metadata Diego Rondini (1): bluez5: fix obex packaging Douglas Royds via Openembedded-core (1): json-c: Backport --disable-werror patch to allow compilation under icecc Fabio Berton (3): mesa: Update 19.0.3 -> 19.0.5 mesa: Update 19.0.5 -> 19.0.6 mesa: Update 19.0.6 -> 19.1.0 Filip Jareš (1): recipes: Fix license "names"/versions. Haiqing Bai (1): kernel.bbclass: Make task clean depend on cleaning of make-mod-scripts He Zhe (1): lttng-modules: Add git based recipe Hongxu Jia (5): grub/grub-efi: fix unrecognized command line option '-pipe-Wno-error' in CFLAGS lib/oe/reciputils.py: support character `+' in git pv groff: improve reproducibility diffutils/run-ptest: support to run at arbitrary path openssh: fix potential signed overflow in pointer arithmatic Jaewon Lee (2): gstreamer1.0-python_1.16.0.bb: Override libpython dir devicetree.bbclass: Combine stderr into stdout to see actual dtc error Jean-Marie LEMETAYER (4): npm: get npm package name from npm pack npm: fix node and npm default directory conflict npm: remove some temporary build files bitbake: bitbake: fetch2/npm: fix npw view parsing Jiping Ma (1): dhcp:"dhclient -x eth0" action is not correct. Joe Slater (1): slang: modify an array test Jon Mason (2): resulttool: modify to be multi-machine resulttool: Remove prints if no tests occur Jonathan Rajotte (4): lttng-tools: prevent test timeout when lttng-modules is not present lttng-tools: add lttng-modules to ptest dependencies liburcu: update to 0.11.0 liburcu: update to 0.11.1 Joshua Watt (11): avahi: Add PACKAGECONFIG for libdns_sd perl: Preserve attributes when applying cross files btrfs-tools: Pass DEBUG_MAP_PREFIX flags to Python bitbake: bitbake: cooker: Rename __depends in all multiconfigs bitbake: bitbake: Show base multiconfig environment perl: Set build date to SOURCE_DATE_EPOCH glibc-locale: DEPEND on virtual/libc zip: Remove build date to improve reproducibility classes/package: Sort ELF file list bash: Replace uninative loader path in ptest oeqa: Add reproducible build selftest Kai Kang (3): systemd-conf: configure wired network with dhcp qemu/qemu-system-native: depend bison-native openssl: fix failure of ptest test_shlibload Kevin Hao (3): runqemu: Add the support to pass multi ports to tcpserial parameter oeqa/utils/qemurunner: Set both the threadport&serverport with tcpserial parameter tune-thunderx: Set the correct PACKAGE_EXTRA_ARCHS_tune-thunderx Khem Raj (6): mesa: Fix a case when gbm is enabled but DRIDRIVERS is not defined ofono: Add TEMP_FAILURE_RETRY optional definition Revert "musl: Add TEMP_FAILURE_RETRY from glibc" binutils: Workaround mips assembler crash on target musl: Upgrade to master tip gdb: Let gdbserver be empty for riscv64 Lei Maohui (1): meson.bbclass: Make meson support aarch64_be. Luca Boccassi (2): python*-setuptools: add separate packages for pkg_resources module mdadm: use ${systemd_unitdir} rather than /lib/systemd Maciej Pijanowski (1): recipetool: add python3 support Mariano López (3): util-linux: Add missing ptest dependencies util-linux: Stop udevd to run ptests linux-yocto: Add scsi_debug module when ptest is in DISTRO_FEATURES Mark Hatle (1): bitbake: svn.py: Stop SVN from directly pulling from an external layer w/o fetcher Martin Jansa (5): python: add a fix for CVE-2019-9948 and CVE-2019-9636 glib-networking: add PACKAGECONFIG for openssl bc: use u-a for bc as well opkg-utils: fix opkg-list-fields script pigz: install pigz, unpigz, pigzcat in native and nativesdk builds again Matthias Schiffer (1): bitbake: fetch2: runfetchcmd(): unset _PYTHON_SYSCONFIGDATA_NAME Matthias Schoepfer via Openembedded-core (1): python3: fix build on softfloat mips Michael Ho (1): base.bbclass: add named SRCREVs to the sstate hash Mike Crowe (1): cmake: Avoid passing empty prefix to os.path.relpath Mingli Yu (3): elfutils: fix ptest failures dbus: Upgrade to 1.12.16 dbus-test: Upgrade 1.12.16 Nicola Lunghi (3): connman: fix segfault with musl >v1.1.21 rng-tools: recipe cleanup rng-tools: harmonise systemd and sysvinit Oleksandr Kravchuk (6): ethtool: update to 5.1 file: update to 5.37 p11-kit: update to 0.23.16.1 popt: fix SRC_URI selftest/devtool: fix URI to MarkupSafe package bitbake: cooker: list all nonexistent bblayer directories Oliver Stäbler (1): packagegroup-core-full-cmdline: Make nfs-utils/rpcbind optional Peter Kjellerstedt (3): texinfo-dummy-native: A little clean up of template.py texinfo-dummy-native: Rewrite template.py to use argparse package.bbclass: Clean up writing of runtime pkgdata files Philippe Normand (9): gstreamer1.0: upgrade to version 1.16.0 gstreamer1.0-omx: upgrade to version 1.16.0 gstreamer1.0-rtsp-server: upgrade to version 1.16.0 gstreamer1.0-python: upgrade to version 1.16.0 gst-validate: upgrade to version 1.16.0 cmake: Use compiler launcher variable when ccache is enabled at-spi2: Make X11 support truly optional gnutls: Use ca-certificates as default trust store file gnutls: Use the sysconfdir variable for the ca-certificates path Quentin Schulz (2): meta: license: fix non-SPDX license being removed from INCOMPATIBLE_LICENSE selftests: add tests for INCOMPATIBLE_LICENSE Randy MacLeod (6): valgrind: Make ptest timestamps copasetic valgrind: add 'file' to ptest depends util-linux: add setpriv utility libcap-ng: split into libcap-ng/libcap-ng-python ptest-runner: enable child procs as session leader bash: use setpriv, sed.sed to run ptests Richard Purdie (46): perl-rdepends: Add missing module dependencies bash: Fix bash-ptest dependencies openssh: Add sudo dependency for ptest libpcre: Add make dependency for ptest m4: Add coreutils and diffutils dependency for ptest perl/modules: Add various missing ptest perl module dependencies layer.conf: Whitelist lttng-tools->lttng-modules dependency tcmode-default: Make gcc9 the default lttng-tools: Fix patch Upstream-Status mesa: Fix patch Upstream-Status uninative-tarball: Fix file generation after class changes populate_sdk_base: Use highest compression level for xz uninative-tarball: Use xz compression and SDK_ARCHIVE_CMD strace: Tweak ptest disk space management ptest-packagelists: Add mdadm util-linux: Fix ptest dependencies mdadm: Add missing ptest dependency yocto-uninative: Update to 2.5 release uninative: Switch from bz2 to xz bitbake: main: Fix error message typo qemuarm64: Add QB_CPU_KVM to allow kvm acceleration runqemu: Add support for kvm on aarch64 useradd: Fix build architecture corruption of sstate artefacts useradd: Ensure do_populate_sysroot has dependency on useradd variables beaglebone-yocto: Add missing wic image u-boot deploy dependency quilt: Add patch depends for quilt-ptest libtest-needs-perl: Fix ptest dependencies libtimedate-perl: Fix ptest dependencies perl: Add missing perl module dependency liburi-perl: Fix module ptest dependencies libconvert-aan1-perl: Fix module and ptest dependencies libxml-sax-perl: Fix module ptest dependencies libxml-perl: Fix module and ptest dependencies e2fsprogs: Fix missing ptest dependencies glib-2.0: ptest fixes openssh: Add missing ptest dependency on coreutils gpg_sign/selftest: Fix secmem parameter handling gawk: ptest fixes openssh: Document skipped test dependency multiconfig: Adapt to bitbake switch 'multiconfig' -> 'mc' bitbake: multiconfig: Switch from 'multiconfig' -> 'mc' bitbake: cooker: Add compability handling for multiconfig: prefix migration build-appliance-image: Update to master head revision bitbake: cooker: Ensure mcdeps are processed even if only one multiconfig perl: Fix setgroup call regression from 5.30 perl: Move perl-sanity -> perl Ross Burton (13): insane: add sanity checks to SRC_URI libidn2: upgrade to 2.2.0 local.conf.sample: change default MACHINE to qemux86-64 libical: tidy up Perl finding wic/filemap: handle FIGETBSZ failing libxslt: add comment saying when a workaround can be removed parted: swap patches for the commits that landed upstream parted: drop patch for linux <2.6.20 support python-nose: python3-nose should be default bluez: fix test case failures with GCC 9 efivar: add efibootmgr: add gstreamer1.0-libav: disable API documentation Sakib Sajal (4): bash: add iso8859-1 gconv RDEPENDS needed by bash-ptest. bash: add big5hkscs gconv RDEPENDS needed by bash-ptest. bash: run bash ptest as non-root user ptest-runner: update SRCREV to latest HEAD on ptest-runner2 repo Scott Rifenbark (17): sdk-manual: Added link to BB manual fetcher section. ref-manual: Updated "do_fetch" to have a link to "Fetchers" dev-manual, ref-manual: removed "distrodata" class ref-manual: Removed bugzilla.bbclass ref-manual: Removed "distutils-tools" class. ref-manual: Udated devtool help output examples. ref-manual: New section "Checking Upgrade Status of a Recipe" dev-manual: Added check-upgrade-status blurb to upgrading recipes ref-manual: do_checkpkg - added link to checking upgrade status ref-manual: Updates to check-recipe-upgrade devtool command ref-manual: Grammar correction dev-manual: Added new section for creating NPM packages Makefile: Updated to support new NPM package creation section dev-manual: Updated the "Working with Packages" list ref-manual: Updated "npm.bbclass" section. overview-manual: Updated SCM section dev-manual: Fixed grammar issue. Tim Orling (8): libxml-parser-perl: fix ptest dependencies perl-rdepends.txt: improve dependencies for perl module ptests perl: install Config_git.pl perl-rdepends.txt: fix perl-module-data-dumper dependencies python3-scons-{native}: add recipe for v3.0.5 scons.bbclass: use python3-scons serf: switch to python3-scons-native oeqa/runtime: add simple test for scons Tom Rini (2): vim: Rework things so vim adds features not vim-tiny removes vim: Update to 8.1.1518 to fix CVE-2019-12735 Yeoh Ee Peng (3): resulttool/resultutils: Enable add extra configurations to results resulttool/store: Enable add EXECUTED_BY config to results resulttool/merge: Enable control TESTSERIES and extra configurations Zang Ruochen (3): openssh: Upgrade 7.9p1 -> 8.0p1 dbus: Upgrade 1.12.12 -> 1.12.14 dbus-test: Upgrade 1.12.12 -> 1.12.14 Zhixiong Chi (2): gcc: reduce the variables in symtab gcc: CVE-2018-12886 sangeeta jain (1): resulttool/manualexecution: Enable creation of test case configuration meta-raspberrypi: 7059c37451..40283f583b: Andrei Gherzan (1): gstreamer1.0-omx: Forward port bbappend and patches to v1.16.x Khem Raj (4): linux-raspberrypi_4.19.bb: Update to 4.19.44 rpi-default-versions: Switch defaults to 4.19 userland: Update to 20190501 firmware: Update 20190220 -> 20190517 malus-brandywine (1): sdcard_image-rpi : minor bug in use of FATPAYLOAD Change-Id: Idab4e8c2666bc776d0b47988a32dcb9f04885aff Signed-off-by: Brad Bishop --- poky/meta/classes/base.bbclass | 16 +- poky/meta/classes/cmake.bbclass | 25 +- poky/meta/classes/devicetree.bbclass | 2 +- poky/meta/classes/image_types.bbclass | 2 +- poky/meta/classes/insane.bbclass | 13 +- poky/meta/classes/kernel-fitimage.bbclass | 2 +- poky/meta/classes/kernel-uboot.bbclass | 4 +- poky/meta/classes/kernel.bbclass | 3 +- poky/meta/classes/license.bbclass | 2 +- poky/meta/classes/license_image.bbclass | 2 +- poky/meta/classes/meson.bbclass | 2 + poky/meta/classes/multilib.bbclass | 2 + poky/meta/classes/multilib_global.bbclass | 3 + poky/meta/classes/npm.bbclass | 11 +- poky/meta/classes/package.bbclass | 62 +- poky/meta/classes/populate_sdk_base.bbclass | 2 +- poky/meta/classes/scons.bbclass | 7 +- poky/meta/classes/staging.bbclass | 2 +- poky/meta/classes/testimage.bbclass | 6 +- poky/meta/classes/uboot-sign.bbclass | 2 +- poky/meta/classes/uninative.bbclass | 4 +- poky/meta/classes/useradd.bbclass | 7 +- .../meta/conf/distro/include/default-providers.inc | 1 + poky/meta/conf/distro/include/maintainers.inc | 7 +- .../conf/distro/include/ptest-packagelists.inc | 1 + poky/meta/conf/distro/include/tcmode-default.inc | 4 +- poky/meta/conf/distro/include/yocto-uninative.inc | 8 +- poky/meta/conf/layer.conf | 1 + poky/meta/conf/machine/include/tune-thunderx.inc | 2 +- poky/meta/conf/machine/qemuarm64.conf | 1 + poky/meta/lib/oe/gpg_sign.py | 39 +- poky/meta/lib/oe/recipeutils.py | 2 +- poky/meta/lib/oe/sstatesig.py | 2 +- poky/meta/lib/oeqa/core/context.py | 7 +- poky/meta/lib/oeqa/runtime/cases/scons.py | 37 + poky/meta/lib/oeqa/runtime/files/SConstruct | 1 + poky/meta/lib/oeqa/runtime/files/hello.c | 5 + poky/meta/lib/oeqa/selftest/cases/devtool.py | 2 +- .../lib/oeqa/selftest/cases/incompatible_lic.py | 41 + poky/meta/lib/oeqa/selftest/cases/oescripts.py | 3 +- poky/meta/lib/oeqa/selftest/cases/package.py | 3 +- poky/meta/lib/oeqa/selftest/cases/recipetool.py | 42 +- poky/meta/lib/oeqa/selftest/cases/reproducible.py | 160 + .../lib/oeqa/selftest/cases/resulttooltests.py | 2 +- poky/meta/lib/oeqa/selftest/cases/signing.py | 3 +- poky/meta/lib/oeqa/utils/qemurunner.py | 5 +- .../efibootmgr/0001-remove-extra-decl.patch | 31 + poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb | 34 + .../meta/recipes-bsp/efivar/efivar/no-werror.patch | 18 + poky/meta/recipes-bsp/efivar/efivar_37.bb | 37 + poky/meta/recipes-bsp/grub/grub2.inc | 2 +- .../recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch | 25 + poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb | 1 + .../usb-devices-avoid-dependency-on-bash.patch | 30 - poky/meta/recipes-bsp/usbutils/usbutils_010.bb | 32 - poky/meta/recipes-bsp/usbutils/usbutils_012.bb | 31 + poky/meta/recipes-connectivity/avahi/avahi.inc | 7 + poky/meta/recipes-connectivity/bluez5/bluez5.inc | 8 +- .../bluez5/bluez5/gcc9-fixes.patch | 301 ++ .../0001-gweb-fix-segfault-with-musl-v1.1.21.patch | 34 + .../recipes-connectivity/connman/connman_1.37.bb | 2 + .../dhcp/0006-site.h-enable-gentle-shutdown.patch | 27 - poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb | 1 - .../inetutils/inetutils_1.9.4.bb | 2 +- .../iproute2/iproute2_5.0.0.bb | 13 - .../iproute2/iproute2_5.1.0.bb | 13 + .../libnss-mdns/0001-check-for-nss.h.patch | 56 - .../libnss-mdns/libnss-mdns_0.10.bb | 3 +- poky/meta/recipes-connectivity/ofono/ofono.inc | 4 +- ...m-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch | 50 + ...01-main-Quiet-ld-errors-with-external-ell.patch | 36 + ...an-optional-TEMP_FAILURE_RETRY-macro-copy.patch | 36 + poky/meta/recipes-connectivity/ofono/ofono_1.29.bb | 3 + ...ve-progressmeter-force-an-update-at-the-b.patch | 121 - .../openssh/openssh/CVE-2018-20685.patch | 40 - .../openssh/openssh/CVE-2019-6109.patch | 275 -- .../openssh/openssh/CVE-2019-6111.patch | 187 - ...ial-signed-overflow-in-pointer-arithmatic.patch | 26 +- .../recipes-connectivity/openssh/openssh_7.9p1.bb | 167 - .../recipes-connectivity/openssh/openssh_8.0p1.bb | 164 + .../openssl/openssl/CVE-2019-1543.patch | 69 - .../openssl/openssl/afalg.patch | 6 +- .../recipes-connectivity/openssl/openssl_1.1.1b.bb | 202 - .../recipes-connectivity/openssl/openssl_1.1.1c.bb | 201 + ...fine-NETDB_INTERNAL-to-1-if-not-available.patch | 32 - .../recipes-connectivity/socat/socat_1.7.3.3.bb | 1 - .../recipes-core/busybox/busybox-inittab_1.30.1.bb | 2 + poky/meta/recipes-core/dbus/dbus-glib_0.110.bb | 2 +- poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb | 90 - poky/meta/recipes-core/dbus/dbus-test_1.12.16.bb | 90 + poky/meta/recipes-core/dbus/dbus_1.12.12.bb | 175 - poky/meta/recipes-core/dbus/dbus_1.12.16.bb | 175 + poky/meta/recipes-core/dropbear/dropbear.inc | 1 + ...stall-gio-querymodules-as-libexec_PROGRAM.patch | 23 +- ...rt-Use-absolute-paths-in-pkg-config-files.patch | 64 - ...chine-correctly-when-building-with-mingw3.patch | 61 +- .../Enable-more-tests-while-cross-compiling.patch | 126 +- .../glib-2.0/glib-2.0/fix-nl-abaltmon.patch | 104 - .../glib-2.0/glib-2.0/relocate-modules.patch | 6 +- poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest | 2 +- poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb | 27 - poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb | 25 + poky/meta/recipes-core/glib-2.0/glib.inc | 3 +- .../glib-networking/glib-networking_2.60.1.bb | 31 - .../glib-networking/glib-networking_2.60.2.bb | 32 + poky/meta/recipes-core/glibc/glibc-locale.inc | 4 +- .../images/build-appliance-image_15.0.0.bb | 2 +- .../meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb | 32 - .../meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb | 32 + poky/meta/recipes-core/meta/uninative-tarball.bb | 4 +- .../0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch | 36 - poky/meta/recipes-core/musl/musl_git.bb | 3 +- .../recipes-core/ncurses/ncurses_6.1+20181013.bb | 2 +- poky/meta/recipes-core/newlib/libgloss_3.0.0.bb | 33 - poky/meta/recipes-core/newlib/libgloss_3.1.0.bb | 33 + poky/meta/recipes-core/newlib/newlib.inc | 8 +- poky/meta/recipes-core/newlib/newlib_3.0.0.bb | 19 - poky/meta/recipes-core/newlib/newlib_3.1.0.bb | 20 + .../systemd/systemd-conf/wired.network | 9 + poky/meta/recipes-core/systemd/systemd-conf_242.bb | 6 + ...-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch | 50 + ...lved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch | 41 + ...udev-udev-event.c-must-include-sys-wait.h.patch | 35 + ...-ULONG_LONG_MAX-definition-in-case-of-mus.patch | 27 - ...clude-sys-wait.h-to-avoid-compile-failure.patch | 33 - .../0023-socket-util.h-include-string.h.patch | 20 +- ...025-fs-utilh-add-missing-sys-stat-include.patch | 16 +- poky/meta/recipes-core/systemd/systemd_242.bb | 9 +- .../sysvinit/sysvinit-inittab_2.88dsf.bb | 3 +- poky/meta/recipes-core/util-linux/util-linux.inc | 40 +- .../recipes-core/util-linux/util-linux/run-ptest | 14 + .../recipes-core/util-linux/util-linux_2.32.1.bb | 13 - .../recipes-core/util-linux/util-linux_2.33.2.bb | 13 + poky/meta/recipes-devtools/apt/apt-native.inc | 2 - .../apt/apt/0001-fix-the-gcc-version-check.patch | 74 - ...001-remove-Wsuggest-attribute-from-CFLAGS.patch | 43 - .../recipes-devtools/binutils/binutils_2.32.bb | 6 + .../bison/dont-depend-on-help2man.patch.patch | 16 +- poky/meta/recipes-devtools/bison/bison_3.1.bb | 40 - poky/meta/recipes-devtools/bison/bison_3.3.2.bb | 40 + ...Add-LDFLAGS-when-building-libbtrfsutil.so.patch | 19 +- ...s-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch | 43 + .../btrfs-tools/btrfs-tools_4.20.2.bb | 44 - .../btrfs-tools/btrfs-tools_5.1.bb | 48 + poky/meta/recipes-devtools/ccache/ccache.inc | 1 + .../createrepo-c/createrepo-c_0.12.2.bb | 34 - .../createrepo-c/createrepo-c_0.14.0.bb | 34 + .../dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch | 40 - .../dpkg/dpkg/glibc2.5-sync_file_range.patch | 100 - poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb | 3 +- .../recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb | 3 +- .../recipes-devtools/elfutils/elfutils_0.176.bb | 37 +- .../0001-skip-the-test-when-gcc-not-deployed.patch | 38 +- poky/meta/recipes-devtools/file/file_5.36.bb | 46 - poky/meta/recipes-devtools/file/file_5.37.bb | 46 + poky/meta/recipes-devtools/gcc/gcc-8.3.inc | 3 +- ...0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch | 59 - .../gcc/gcc-8.3/0042-PR-debug-86964.patch | 94 + ...vent-spilling-of-stack-protector-guard-s-.patch | 813 ++++ poky/meta/recipes-devtools/gcc/gcc-9.1.inc | 1 - ...0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch | 59 - poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc | 25 - poky/meta/recipes-devtools/gdb/gdb-8.3.inc | 21 + .../recipes-devtools/gdb/gdb-cross-canadian.inc | 1 - .../gdb/gdb-cross-canadian_8.2.1.bb | 3 - .../recipes-devtools/gdb/gdb-cross-canadian_8.3.bb | 3 + poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb | 2 - poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb | 2 + poky/meta/recipes-devtools/gdb/gdb.inc | 3 + .../0001-Fix-build-with-latest-GCC-9.0-tree.patch | 50 - .../gdb/gdb/0001-gdbserver-ctrl-c-handling.patch | 26 + ...Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch | 23 +- .../0008-Use-exorted-definitions-of-SIGRTMIN.patch | 16 +- ...-AArch64-Fix-the-gdb-build-with-musl-libc.patch | 52 - .../recipes-devtools/gdb/gdb/CVE-2017-9778.patch | 99 - .../gdb/gdb/gdbserver-ctrl-c-handling.patch | 26 - poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb | 29 - poky/meta/recipes-devtools/gdb/gdb_8.3.bb | 29 + .../recipes-devtools/gnu-config/gnu-config_git.bb | 4 +- poky/meta/recipes-devtools/go/go-1.11.inc | 23 - ...1-allow-CC-and-CXX-to-have-multiple-words.patch | 31 - ...-content-based-hash-generation-less-pedan.patch | 218 - ...OLDIR-to-be-overridden-in-the-environment.patch | 48 - .../0004-ld-add-soname-to-shareable-objects.patch | 45 - ...verride-CC-when-building-dist-and-go_boot.patch | 37 - ...-cmd-dist-separate-host-and-target-builds.patch | 282 -- ...07-cmd-go-make-GOROOT-precious-by-default.patch | 106 - .../0008-use-GOBUILDMODE-to-set-buildmode.patch | 37 - ...ld-replace-glibc-dynamic-linker-with-musl.patch | 128 - poky/meta/recipes-devtools/go/go-1.12.inc | 6 +- .../recipes-devtools/go/go-cross-canadian_1.11.bb | 2 - poky/meta/recipes-devtools/go/go-cross_1.11.bb | 2 - poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb | 2 - poky/meta/recipes-devtools/go/go-dep_0.5.0.bb | 10 - poky/meta/recipes-devtools/go/go-native_1.11.bb | 2 - poky/meta/recipes-devtools/go/go-runtime_1.11.bb | 2 - poky/meta/recipes-devtools/go/go_1.11.bb | 14 - .../add-disable-werror-option-to-configure.patch | 45 + poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb | 8 +- ...ild-explicitly-specify-the-v1-library-in-.patch | 28 + .../libmodulemd/libmodulemd_git.bb | 7 +- .../recipes-devtools/librepo/librepo_1.10.2.bb | 21 + .../meta/recipes-devtools/librepo/librepo_1.9.6.bb | 21 - poky/meta/recipes-devtools/m4/m4-1.4.18.inc | 3 +- poky/meta/recipes-devtools/m4/m4/remove-gets.patch | 24 - ...opkg-build-do-not-set-mtime-on-data.tar.X.patch | 33 - .../opkg-utils/opkg-utils_0.4.0.bb | 64 - .../opkg-utils/opkg-utils_0.4.1.bb | 63 + ...keMaker-add-LDFLAGS-when-linking-binary-m.patch | 26 - ...s-module-breaks-through-the-perl-wrapper-.patch | 34 - ...ath.sh-do-not-hardcode-prefix-lib-as-libr.patch | 69 - ...ool.sh-do-not-quote-the-argument-to-comma.patch | 29 - ...rl-cross-add-LDFLAGS-when-linking-libperl.patch | 27 - .../perl-sanity/files/errno_ver.diff | 37 - .../perl-sanity/files/native-perlinc.patch | 27 - .../perl-sanity/files/perl-configpm-switch.patch | 48 - .../perl-sanity/files/perl-dynloader.patch | 38 - .../perl-sanity/files/perl-rdepends.txt | 4296 ------------------- .../recipes-devtools/perl-sanity/files/run-ptest | 2 - .../recipes-devtools/perl-sanity/perl-ptest.inc | 57 - .../recipes-devtools/perl-sanity/perl_5.28.2.bb | 304 -- ...keMaker-add-LDFLAGS-when-linking-binary-m.patch | 26 + ...s-module-breaks-through-the-perl-wrapper-.patch | 34 + ...ath.sh-do-not-hardcode-prefix-lib-as-libr.patch | 69 + ...ool.sh-do-not-quote-the-argument-to-comma.patch | 29 + ...rl-cross-add-LDFLAGS-when-linking-libperl.patch | 27 + .../recipes-devtools/perl/files/errno_ver.diff | 37 + .../recipes-devtools/perl/files/fix-setgroup.patch | 49 + .../perl/files/native-perlinc.patch | 27 + .../perl/files/perl-configpm-switch.patch | 57 + .../perl/files/perl-dynloader.patch | 38 + .../recipes-devtools/perl/files/perl-rdepends.txt | 4419 ++++++++++++++++++++ poky/meta/recipes-devtools/perl/files/run-ptest | 2 + .../perl/libtest-needs-perl_0.002006.bb | 2 +- .../meta/recipes-devtools/perl/liburi-perl_1.74.bb | 14 +- .../perl/libxml-parser-perl_2.44.bb | 2 + .../meta/recipes-devtools/perl/libxml-perl_0.08.bb | 2 + poky/meta/recipes-devtools/perl/perl-ptest.inc | 57 + poky/meta/recipes-devtools/perl/perl_5.30.0.bb | 315 ++ .../meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb | 69 - .../meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb | 69 + .../python-numpy/python-numpy_1.16.3.bb | 4 + poky/meta/recipes-devtools/python/python-mako.inc | 4 +- .../recipes-devtools/python/python-nose_1.3.7.bb | 4 + .../recipes-devtools/python/python-setuptools.inc | 11 + .../python/bpo-35907-cve-2019-9948-fix.patch | 55 + .../python/python/bpo-35907-cve-2019-9948.patch | 55 + .../python/bpo-36216-cve-2019-9636-fix.patch | 28 + .../python/python/bpo-36216-cve-2019-9636.patch | 111 + .../recipes-devtools/python/python3-mako_1.0.10.bb | 3 + .../recipes-devtools/python/python3-mako_1.0.9.bb | 3 - .../recipes-devtools/python/python3-nose_1.3.7.bb | 4 - .../recipes-devtools/python/python3-pbr_5.1.3.bb | 5 - .../recipes-devtools/python/python3-pbr_5.2.0.bb | 5 + .../recipes-devtools/python/python3-pip_19.0.3.bb | 30 - .../recipes-devtools/python/python3-pip_19.1.1.bb | 30 + .../python/python3-pygments_2.4.2.bb | 20 + .../python/python3-scons-native_3.0.5.bb | 8 + .../recipes-devtools/python/python3-scons_3.0.5.bb | 29 + ...roper-detection-of-mips-architecture-for-.patch | 201 + poky/meta/recipes-devtools/python/python3_3.7.3.bb | 1 + poky/meta/recipes-devtools/python/python_2.7.16.bb | 6 +- .../qemu/qemu-system-native_4.0.0.bb | 2 +- poky/meta/recipes-devtools/qemu/qemu.inc | 9 +- ...et-arm-Use-vector-operations-for-saturati.patch | 493 --- ...-target-arm-Fix-vector-operation-segfault.patch | 66 + poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb | 2 +- poky/meta/recipes-devtools/quilt/quilt.inc | 2 +- .../squashfs-tools/squashfs-tools/fix-compat.patch | 46 - .../squashfs-tools/squashfs-tools_git.bb | 3 + .../strace/strace/ptest-spacesave.patch | 19 + poky/meta/recipes-devtools/strace/strace_4.26.bb | 1 + .../recipes-devtools/valgrind/valgrind_3.15.0.bb | 3 +- .../recipes-extended/acpica/acpica_20190405.bb | 49 - .../recipes-extended/acpica/acpica_20190509.bb | 49 + poky/meta/recipes-extended/bash/bash.inc | 22 +- ...roc-run-heredoc-run-execscript-run-test-f.patch | 45 - .../recipes-extended/bash/bash/run-bash-ptests | 4 + poky/meta/recipes-extended/bash/bash/run-ptest | 6 +- poky/meta/recipes-extended/bash/bash_5.0.bb | 2 +- poky/meta/recipes-extended/bc/bc_1.07.1.bb | 4 +- .../recipes-extended/chkconfig/chkconfig_1.3.58.bb | 10 +- .../recipes-extended/diffutils/diffutils/run-ptest | 3 +- .../ethtool/ethtool/avoid_parallel_tests.patch | 10 +- poky/meta/recipes-extended/ethtool/ethtool_5.0.bb | 30 - poky/meta/recipes-extended/ethtool/ethtool_5.1.bb | 31 + poky/meta/recipes-extended/gawk/gawk/run-ptest | 24 +- poky/meta/recipes-extended/gawk/gawk_4.2.1.bb | 50 - poky/meta/recipes-extended/gawk/gawk_5.0.0.bb | 53 + .../groff/files/0001-fix-shebang-for-taget.patch | 31 - poky/meta/recipes-extended/groff/groff_1.22.4.bb | 3 +- ...need_charset_alias-when-building-for-musl.patch | 23 - poky/meta/recipes-extended/libidn/libidn2_2.0.5.bb | 29 - poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb | 27 + poky/meta/recipes-extended/mdadm/mdadm_4.1.bb | 6 +- .../packagegroup-core-full-cmdline.bb | 3 +- .../libpam-xtests-remove-bash-dependency.patch | 226 - poky/meta/recipes-extended/pam/libpam_1.3.0.bb | 166 - poky/meta/recipes-extended/pam/libpam_1.3.1.bb | 165 + .../0001-Include-fcntl.h-in-platform_defs.h.patch | 34 +- ...se-read-only-when-probing-devices-on-linu.patch | 44 +- ...x-Include-sys-sysmacros.h-for-major-macro.patch | 28 + .../files/fix-compile-failure-while-dis.patch | 76 +- .../recipes-extended/parted/files/syscalls.patch | 55 - .../parted/parted/parted-3.2-sysmacros.patch | 32 - poky/meta/recipes-extended/parted/parted_3.2.bb | 3 +- .../perl/libconvert-asn1-perl_0.27.bb | 3 + .../recipes-extended/perl/libtimedate-perl_2.30.bb | 1 + .../perl/libxml-sax-base-perl_1.09.bb | 2 + .../recipes-extended/perl/libxml-sax-perl_1.00.bb | 3 + poky/meta/recipes-extended/pigz/pigz_2.4.bb | 19 + poky/meta/recipes-extended/sed/sed_4.2.2.bb | 2 +- .../recipes-extended/slang/slang/array_test.patch | 20 + poky/meta/recipes-extended/slang/slang_2.3.2.bb | 1 + poky/meta/recipes-extended/sysstat/sysstat.inc | 1 + .../recipes-extended/tar/tar/remove-gets.patch | 29 - poky/meta/recipes-extended/tar/tar_1.32.bb | 1 - .../tcp-wrappers-7.6/fix_warnings.patch | 25 + .../tcp-wrappers-7.6/fix_warnings2.patch | 200 + .../tcp-wrappers/tcp-wrappers_7.6.bb | 2 + .../texinfo-dummy-native/texinfo-dummy/template.py | 86 +- .../zip/zip-3.0/10-remove-build-date.patch | 19 + poky/meta/recipes-extended/zip/zip_3.0.bb | 4 +- .../recipes-gnome/epiphany/epiphany_3.32.1.2.bb | 21 - .../meta/recipes-gnome/epiphany/epiphany_3.32.2.bb | 21 + ...ple-of-decisions-around-cross-compilation.patch | 50 +- ...cache-depend-on-loaders-being-fully-build.patch | 51 - ...-Work-around-thumbnailer-cross-compile-fa.patch | 8 +- ...humbnailer-and-tests-also-in-cross-builds.patch | 28 + .../recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb | 124 - .../recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb | 124 + .../0001-Don-t-use-AC_CANONICAL_HOST.patch | 6 +- .../gnome/adwaita-icon-theme_3.30.1.bb | 41 - .../gnome/adwaita-icon-theme_3.32.0.bb | 41 + ...skip-gir-installation-for-cross-compiling.patch | 33 + .../gsettings-desktop-schemas_3.28.1.bb | 13 - .../gsettings-desktop-schemas_3.32.0.bb | 16 + .../0003-Add-disable-opengl-configure-option.patch | 77 +- poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb | 19 - poky/meta/recipes-gnome/gtk+/gtk+3_3.24.8.bb | 19 + .../gtk-doc/files/pkg-config-native.patch | 6 +- poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb | 50 - poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb | 50 + .../recipes-gnome/libdazzle/libdazzle_3.32.1.bb | 15 - .../recipes-gnome/libdazzle/libdazzle_3.32.2.bb | 15 + ...detect-Bsymbolic-fixes-configure-on-macOS.patch | 35 + poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb | 8 +- poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb | 12 +- .../recipes-graphics/freetype/freetype_2.10.0.bb | 49 + .../recipes-graphics/freetype/freetype_2.9.1.bb | 49 - poky/meta/recipes-graphics/libva/libva_2.4.0.bb | 46 - poky/meta/recipes-graphics/libva/libva_2.4.1.bb | 46 + ...-check-for-all-linux-host_os-combinations.patch | 24 +- ...1-meson.build-make-TLS-GLX-optional-again.patch | 44 - ...2-meson.build-make-TLS-GLX-optional-again.patch | 54 + ...0003-Allow-enable-DRI-without-DRI-drivers.patch | 48 + .../0007-Install-few-more-test-programs.patch | 26 +- ...dd-few-missing-.glsl-.vert-.frag-files-to.patch | 20 +- ...glsl-perf-Install-.glsl-.vert-.frag-files.patch | 20 +- .../meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb | 59 - .../meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb | 59 + poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb | 10 - poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb | 10 + poky/meta/recipes-graphics/mesa/mesa.inc | 2 +- poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb | 17 - poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb | 18 + ...e-FE_UPWARD-only-if-its-defined-in-fenv.h.patch | 75 - .../piglit/piglit/format-fix.patch | 69 - poky/meta/recipes-graphics/piglit/piglit_git.bb | 7 +- .../recipes-graphics/xorg-lib/libxfont2_2.0.3.bb | 2 + .../linux-firmware/linux-firmware_git.bb | 128 +- poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- .../recipes-kernel/linux/linux-yocto-rt_4.19.bb | 7 +- .../recipes-kernel/linux/linux-yocto-rt_5.0.bb | 7 +- .../recipes-kernel/linux/linux-yocto-tiny_4.19.bb | 8 +- .../recipes-kernel/linux/linux-yocto-tiny_5.0.bb | 8 +- poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb | 21 +- poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb | 21 +- .../recipes-kernel/lttng/lttng-modules_2.10.10.bb | 45 + .../recipes-kernel/lttng/lttng-modules_2.10.9.bb | 36 - ...for-lttng-modules-presence-before-testing.patch | 24 + .../recipes-kernel/lttng/lttng-tools_2.10.6.bb | 3 +- .../recipes-kernel/systemtap/systemtap_git.inc | 4 +- .../meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb | 41 - .../meta/recipes-multimedia/alsa/alsa-lib_1.1.9.bb | 41 + .../recipes-multimedia/alsa/alsa-plugins_1.1.8.bb | 173 - .../recipes-multimedia/alsa/alsa-plugins_1.1.9.bb | 173 + .../alsa/alsa-utils-scripts_1.1.8.bb | 25 - .../alsa/alsa-utils-scripts_1.1.9.bb | 25 + .../recipes-multimedia/alsa/alsa-utils_1.1.8.bb | 106 - .../recipes-multimedia/alsa/alsa-utils_1.1.9.bb | 106 + .../meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb | 1 + ...002-gstconfig.h.in-initial-RISC-V-support.patch | 30 - .../gstreamer/gst-examples_git.bb | 8 +- .../gstreamer/gst-validate_1.14.4.bb | 25 - .../gstreamer/gst-validate_1.16.0.bb | 25 + ...-Disable-yasm-for-libav-when-disable-yasm.patch | 2 +- .../0001-configure-check-for-armv7ve-variant.patch | 4 +- .../gstreamer1.0-libav/mips64_cpu_detection.patch | 2 +- ...ound-to-build-gst-libav-for-i586-with-gcc.patch | 2 +- .../gstreamer/gstreamer1.0-libav_1.14.4.bb | 70 - .../gstreamer/gstreamer1.0-libav_1.16.0.bb | 75 + .../gstreamer/gstreamer1.0-omx_1.14.4.bb | 57 - .../gstreamer/gstreamer1.0-omx_1.16.0.bb | 57 + ...-don-t-hardcode-libtool-name-when-running.patch | 43 - .../avoid-including-sys-poll.h-directly.patch | 2 +- .../configure-allow-to-disable-libssh2.patch | 4 +- ...valid-sentinels-for-gst_structure_get-etc.patch | 8 +- ...itialized-warnings-when-compiling-with-Os.patch | 2 +- .../gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb | 148 - .../gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb | 145 + ...-don-t-hardcode-libtool-name-when-running.patch | 167 - ...-prefix-calls-to-pkg-config-with-PKG_CONF.patch | 35 +- ...ncorrect-reference-to-gstreamer-sdp-in-Ma.patch | 4 +- ...005-viv-fb-Make-sure-config.h-is-included.patch | 32 + .../0009-glimagesink-Downrank-to-marginal.patch | 2 +- ...ch-for-explicitely-enabling-disabling-GBM.patch | 70 - ...ches-for-explicitely-enabling-disabling-P.patch | 109 - .../link-with-libvchostif.patch | 2 +- .../gstreamer/gstreamer1.0-plugins-base_1.14.4.bb | 76 - .../gstreamer/gstreamer1.0-plugins-base_1.16.0.bb | 73 + ...ay-set-dafault-value-for-MPEG4-without-co.patch | 62 - ...Advertise-interleaved-layout-in-caps-temp.patch | 37 + .../avoid-including-sys-poll.h-directly.patch | 44 - ...sure-valid-sentinel-for-gst_structure_get.patch | 40 - .../gstreamer/gstreamer1.0-plugins-good_1.14.4.bb | 79 - .../gstreamer/gstreamer1.0-plugins-good_1.16.0.bb | 77 + .../gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb | 40 - .../gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb | 40 + .../gstreamer/gstreamer1.0-python_1.14.4.bb | 43 - .../gstreamer/gstreamer1.0-python_1.16.0.bb | 37 + ...ode-libtool-name-when-using-introspection.patch | 27 - .../gstreamer/gstreamer1.0-rtsp-server_1.14.4.bb | 35 - .../gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb | 34 + .../0001-vaapsink-downgrade-to-marginal.patch | 4 +- .../gstreamer/gstreamer1.0-vaapi_1.14.4.bb | 49 - .../gstreamer/gstreamer1.0-vaapi_1.16.0.bb | 49 + .../gstreamer/gstreamer1.0_1.14.4.bb | 91 - .../gstreamer/gstreamer1.0_1.16.0.bb | 91 + poky/meta/recipes-multimedia/x264/x264_git.bb | 2 +- ...001-gstreamer-add-a-missing-format-string.patch | 24 + poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb | 137 - poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb | 134 + .../meta/recipes-support/atk/at-spi2-atk_2.30.0.bb | 22 - .../meta/recipes-support/atk/at-spi2-atk_2.32.0.bb | 19 + .../atk/at-spi2-core/meson-0.50-fix.patch | 31 - .../recipes-support/atk/at-spi2-core_2.30.0.bb | 36 - .../recipes-support/atk/at-spi2-core_2.32.1.bb | 36 + .../0001-Switch-from-filename-to-basename.patch | 38 - ...ld-enable-introspection-for-cross-compile.patch | 7 +- poky/meta/recipes-support/atk/atk_2.30.0.bb | 25 - poky/meta/recipes-support/atk/atk_2.32.0.bb | 22 + .../bash-completion/bash-completion_2.8.bb | 42 - .../bash-completion/bash-completion_2.9.bb | 37 + .../ca-certificates/ca-certificates_20190110.bb | 4 +- poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb | 1 + poky/meta/recipes-support/icu/icu.inc | 7 - poky/meta/recipes-support/libcap-ng/libcap-ng | 1 + .../libcap-ng/libcap-ng-python/python.patch | 62 + .../libcap-ng/libcap-ng-python_0.7.9.bb | 27 + poky/meta/recipes-support/libcap-ng/libcap-ng.inc | 17 + .../libcap-ng/libcap-ng/python.patch | 62 - .../recipes-support/libcap-ng/libcap-ng_0.7.9.bb | 28 +- .../libical/Remove-cmake-check-for-Perl.patch | 30 - poky/meta/recipes-support/libical/libical_2.0.0.bb | 6 +- .../meta/recipes-support/libpcre/libpcre2_10.32.bb | 61 - .../meta/recipes-support/libpcre/libpcre2_10.33.bb | 61 + poky/meta/recipes-support/libpcre/libpcre_8.43.bb | 2 + ...01-gtk-doc-do-not-include-tree_index.sgml.patch | 28 + poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb | 4 +- .../recipes-support/libsoup/libsoup-2.4_2.66.1.bb | 38 - .../recipes-support/libsoup/libsoup-2.4_2.66.2.bb | 38 + .../Add-support-for-the-RISC-V-architecture.patch | 157 - .../meta/recipes-support/liburcu/liburcu_0.10.2.bb | 24 - .../meta/recipes-support/liburcu/liburcu_0.11.1.bb | 22 + .../meta/recipes-support/libxslt/libxslt_1.1.33.bb | 3 +- poky/meta/recipes-support/lz4/lz4_1.9.0.bb | 27 - poky/meta/recipes-support/lz4/lz4_1.9.1.bb | 27 + ...tname-Check-for-nss.h-presense-before-use.patch | 53 - .../nss-myhostname/nss-myhostname_0.3.bb | 3 +- poky/meta/recipes-support/nss/nss_3.43.bb | 267 -- poky/meta/recipes-support/nss/nss_3.44.bb | 267 ++ .../recipes-support/p11-kit/p11-kit_0.23.15.bb | 46 - .../recipes-support/p11-kit/p11-kit_0.23.16.1.bb | 46 + .../recipes-support/pinentry/pinentry_1.1.0.bb | 3 +- poky/meta/recipes-support/popt/popt_1.16.bb | 2 +- ...-utils-ensure-child-can-be-session-leader.patch | 212 + .../ptest-runner/ptest-runner_2.3.1.bb | 6 +- .../recipes-support/rng-tools/rng-tools/default | 3 +- poky/meta/recipes-support/rng-tools/rng-tools/init | 21 +- .../rng-tools/rng-tools/rngd.service | 4 +- .../recipes-support/rng-tools/rng-tools_6.6.bb | 68 +- poky/meta/recipes-support/serf/serf_1.3.9.bb | 23 +- ...light.pc.in-do-not-add-Boost-s-libraries-.patch | 30 - .../source-highlight/source-highlight_3.1.8.bb | 28 - poky/meta/recipes-support/taglib/taglib_1.11.1.bb | 2 +- poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb | 15 - poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb | 12 + poky/meta/recipes-support/vim/vim.inc | 135 + poky/meta/recipes-support/vim/vim_8.1.1240.bb | 141 - poky/meta/recipes-support/vim/vim_8.1.1518.bb | 10 + poky/meta/recipes-support/vte/vte_0.56.1.bb | 4 +- 502 files changed, 13981 insertions(+), 14927 deletions(-) create mode 100644 poky/meta/lib/oeqa/runtime/cases/scons.py create mode 100644 poky/meta/lib/oeqa/runtime/files/SConstruct create mode 100644 poky/meta/lib/oeqa/runtime/files/hello.c create mode 100644 poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py create mode 100644 poky/meta/lib/oeqa/selftest/cases/reproducible.py create mode 100644 poky/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch create mode 100644 poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb create mode 100644 poky/meta/recipes-bsp/efivar/efivar/no-werror.patch create mode 100644 poky/meta/recipes-bsp/efivar/efivar_37.bb create mode 100644 poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch delete mode 100644 poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch delete mode 100644 poky/meta/recipes-bsp/usbutils/usbutils_010.bb create mode 100644 poky/meta/recipes-bsp/usbutils/usbutils_012.bb create mode 100644 poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch create mode 100644 poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch delete mode 100644 poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch delete mode 100644 poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb create mode 100644 poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb delete mode 100644 poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch create mode 100644 poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch create mode 100644 poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch create mode 100644 poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch delete mode 100644 poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch delete mode 100644 poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch delete mode 100644 poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch delete mode 100644 poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch delete mode 100644 poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb create mode 100644 poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb delete mode 100644 poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch delete mode 100644 poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb create mode 100644 poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb delete mode 100644 poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch delete mode 100644 poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb create mode 100644 poky/meta/recipes-core/dbus/dbus-test_1.12.16.bb delete mode 100644 poky/meta/recipes-core/dbus/dbus_1.12.12.bb create mode 100644 poky/meta/recipes-core/dbus/dbus_1.12.16.bb delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb delete mode 100644 poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb create mode 100644 poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb delete mode 100644 poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch delete mode 100644 poky/meta/recipes-core/newlib/libgloss_3.0.0.bb create mode 100644 poky/meta/recipes-core/newlib/libgloss_3.1.0.bb delete mode 100644 poky/meta/recipes-core/newlib/newlib_3.0.0.bb create mode 100644 poky/meta/recipes-core/newlib/newlib_3.1.0.bb create mode 100644 poky/meta/recipes-core/systemd/systemd-conf/wired.network create mode 100644 poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch create mode 100644 poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch create mode 100644 poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch delete mode 100644 poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb create mode 100644 poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb delete mode 100644 poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch delete mode 100644 poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch delete mode 100644 poky/meta/recipes-devtools/bison/bison_3.1.bb create mode 100644 poky/meta/recipes-devtools/bison/bison_3.3.2.bb create mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch delete mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb create mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb delete mode 100644 poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb create mode 100644 poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.0.bb delete mode 100644 poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch delete mode 100644 poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch delete mode 100644 poky/meta/recipes-devtools/file/file_5.36.bb create mode 100644 poky/meta/recipes-devtools/file/file_5.37.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch create mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch create mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch delete mode 100644 poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc create mode 100644 poky/meta/recipes-devtools/gdb/gdb-8.3.inc delete mode 100644 poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb create mode 100644 poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb delete mode 100644 poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb create mode 100644 poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb delete mode 100644 poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch create mode 100644 poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch delete mode 100644 poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch delete mode 100644 poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch delete mode 100644 poky/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch delete mode 100644 poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb create mode 100644 poky/meta/recipes-devtools/gdb/gdb_8.3.bb delete mode 100644 poky/meta/recipes-devtools/go/go-1.11.inc delete mode 100644 poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch delete mode 100644 poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch delete mode 100644 poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch delete mode 100644 poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch delete mode 100644 poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch delete mode 100644 poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch delete mode 100644 poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch delete mode 100644 poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch delete mode 100644 poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch delete mode 100644 poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb delete mode 100644 poky/meta/recipes-devtools/go/go-cross_1.11.bb delete mode 100644 poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb delete mode 100644 poky/meta/recipes-devtools/go/go-native_1.11.bb delete mode 100644 poky/meta/recipes-devtools/go/go-runtime_1.11.bb delete mode 100644 poky/meta/recipes-devtools/go/go_1.11.bb create mode 100644 poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch create mode 100644 poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch create mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.10.2.bb delete mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb delete mode 100644 poky/meta/recipes-devtools/m4/m4/remove-gets.patch delete mode 100644 poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch delete mode 100644 poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb create mode 100644 poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt delete mode 100644 poky/meta/recipes-devtools/perl-sanity/files/run-ptest delete mode 100644 poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc delete mode 100644 poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb create mode 100644 poky/meta/recipes-devtools/perl/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch create mode 100644 poky/meta/recipes-devtools/perl/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch create mode 100644 poky/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch create mode 100644 poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch create mode 100644 poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch create mode 100644 poky/meta/recipes-devtools/perl/files/errno_ver.diff create mode 100644 poky/meta/recipes-devtools/perl/files/fix-setgroup.patch create mode 100644 poky/meta/recipes-devtools/perl/files/native-perlinc.patch create mode 100644 poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch create mode 100644 poky/meta/recipes-devtools/perl/files/perl-dynloader.patch create mode 100644 poky/meta/recipes-devtools/perl/files/perl-rdepends.txt create mode 100644 poky/meta/recipes-devtools/perl/files/run-ptest create mode 100644 poky/meta/recipes-devtools/perl/perl-ptest.inc create mode 100644 poky/meta/recipes-devtools/perl/perl_5.30.0.bb delete mode 100644 poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb create mode 100644 poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb create mode 100644 poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch create mode 100644 poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch create mode 100644 poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch create mode 100644 poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch create mode 100644 poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb create mode 100644 poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb create mode 100644 poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb create mode 100644 poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch create mode 100644 poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch delete mode 100644 poky/meta/recipes-extended/acpica/acpica_20190405.bb create mode 100644 poky/meta/recipes-extended/acpica/acpica_20190509.bb delete mode 100644 poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch create mode 100644 poky/meta/recipes-extended/bash/bash/run-bash-ptests delete mode 100644 poky/meta/recipes-extended/ethtool/ethtool_5.0.bb create mode 100644 poky/meta/recipes-extended/ethtool/ethtool_5.1.bb delete mode 100644 poky/meta/recipes-extended/gawk/gawk_4.2.1.bb create mode 100644 poky/meta/recipes-extended/gawk/gawk_5.0.0.bb delete mode 100644 poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch delete mode 100644 poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch delete mode 100644 poky/meta/recipes-extended/libidn/libidn2_2.0.5.bb create mode 100644 poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb delete mode 100644 poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch delete mode 100644 poky/meta/recipes-extended/pam/libpam_1.3.0.bb create mode 100644 poky/meta/recipes-extended/pam/libpam_1.3.1.bb create mode 100644 poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch delete mode 100644 poky/meta/recipes-extended/parted/files/syscalls.patch delete mode 100644 poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch create mode 100644 poky/meta/recipes-extended/slang/slang/array_test.patch delete mode 100644 poky/meta/recipes-extended/tar/tar/remove-gets.patch create mode 100644 poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch create mode 100644 poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch create mode 100644 poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch delete mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb create mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_3.32.2.bb delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch create mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb create mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb delete mode 100644 poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb create mode 100644 poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.32.0.bb create mode 100644 poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch delete mode 100644 poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb create mode 100644 poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb delete mode 100644 poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb create mode 100644 poky/meta/recipes-gnome/gtk+/gtk+3_3.24.8.bb delete mode 100644 poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb create mode 100644 poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb delete mode 100644 poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb create mode 100644 poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb create mode 100644 poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch create mode 100644 poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb delete mode 100644 poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb delete mode 100644 poky/meta/recipes-graphics/libva/libva_2.4.0.bb create mode 100644 poky/meta/recipes-graphics/libva/libva_2.4.1.bb delete mode 100644 poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch create mode 100644 poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch create mode 100644 poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb delete mode 100644 poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch delete mode 100644 poky/meta/recipes-graphics/piglit/piglit/format-fix.patch create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.9.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.9.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.9.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.9.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gst-validate_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.0.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.0.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.0.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.0.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.0.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.0.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb delete mode 100644 poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb create mode 100644 poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb delete mode 100644 poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch delete mode 100644 poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb create mode 100644 poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb delete mode 100644 poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch delete mode 100644 poky/meta/recipes-support/atk/atk_2.30.0.bb create mode 100644 poky/meta/recipes-support/atk/atk_2.32.0.bb delete mode 100644 poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb create mode 100644 poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb create mode 120000 poky/meta/recipes-support/libcap-ng/libcap-ng create mode 100644 poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch create mode 100644 poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb create mode 100644 poky/meta/recipes-support/libcap-ng/libcap-ng.inc delete mode 100644 poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch delete mode 100644 poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch delete mode 100644 poky/meta/recipes-support/libpcre/libpcre2_10.32.bb create mode 100644 poky/meta/recipes-support/libpcre/libpcre2_10.33.bb create mode 100644 poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch delete mode 100644 poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb create mode 100644 poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb delete mode 100644 poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch delete mode 100644 poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb create mode 100644 poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb delete mode 100644 poky/meta/recipes-support/lz4/lz4_1.9.0.bb create mode 100644 poky/meta/recipes-support/lz4/lz4_1.9.1.bb delete mode 100644 poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch delete mode 100644 poky/meta/recipes-support/nss/nss_3.43.bb create mode 100644 poky/meta/recipes-support/nss/nss_3.44.bb delete mode 100644 poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb create mode 100644 poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb create mode 100644 poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch delete mode 100644 poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch delete mode 100644 poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb delete mode 100644 poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb create mode 100644 poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb create mode 100644 poky/meta/recipes-support/vim/vim.inc delete mode 100644 poky/meta/recipes-support/vim/vim_8.1.1240.bb create mode 100644 poky/meta/recipes-support/vim/vim_8.1.1518.bb (limited to 'poky/meta') diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass index 1636c6ef9..90af8ba72 100644 --- a/poky/meta/classes/base.bbclass +++ b/poky/meta/classes/base.bbclass @@ -10,7 +10,9 @@ inherit utility-tasks inherit metadata_scm inherit logging -OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license" +OE_EXTRA_IMPORTS ?= "" + +OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license ${OE_EXTRA_IMPORTS}" OE_IMPORTS[type] = "list" def oe_import(d): @@ -639,6 +641,18 @@ python () { if needsrcrev: d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}") + # Gather all named SRCREVs to add to the sstate hash calculation + # This anonymous python snippet is called multiple times so we + # need to be careful to not double up the appends here and cause + # the base hash to mismatch the task hash + for uri in srcuri.split(): + parm = bb.fetch.decodeurl(uri)[5] + uri_names = parm.get("name", "").split(",") + for uri_name in filter(None, uri_names): + srcrev_name = "SRCREV_{}".format(uri_name) + if srcrev_name not in (d.getVarFlag("do_fetch", "vardeps") or "").split(): + d.appendVarFlag("do_fetch", "vardeps", " {}".format(srcrev_name)) + set_packagetriplet(d) # 'multimachine' handling diff --git a/poky/meta/classes/cmake.bbclass b/poky/meta/classes/cmake.bbclass index d3f0d7084..f80a7e2f1 100644 --- a/poky/meta/classes/cmake.bbclass +++ b/poky/meta/classes/cmake.bbclass @@ -26,14 +26,16 @@ python() { if not d.getVar('OECMAKE_C_COMPILER'): cc_list = d.getVar('CC').split() if cc_list[0] == 'ccache': - d.setVar('OECMAKE_C_COMPILER', '%s %s' % (cc_list[0], cc_list[1])) + d.setVar('OECMAKE_C_COMPILER_LAUNCHER', cc_list[0]) + d.setVar('OECMAKE_C_COMPILER', cc_list[1]) else: d.setVar('OECMAKE_C_COMPILER', cc_list[0]) if not d.getVar('OECMAKE_CXX_COMPILER'): cxx_list = d.getVar('CXX').split() if cxx_list[0] == 'ccache': - d.setVar('OECMAKE_CXX_COMPILER', '%s %s' % (cxx_list[0], cxx_list[1])) + d.setVar('OECMAKE_CXX_COMPILER_LAUNCHER', cxx_list[0]) + d.setVar('OECMAKE_CXX_COMPILER', cxx_list[1]) else: d.setVar('OECMAKE_CXX_COMPILER', cxx_list[0]) } @@ -49,6 +51,9 @@ OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LD CXXFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}" CFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}" +OECMAKE_C_COMPILER_LAUNCHER ?= "" +OECMAKE_CXX_COMPILER_LAUNCHER ?= "" + OECMAKE_RPATH ?= "" OECMAKE_PERLNATIVE_DIR ??= "" OECMAKE_EXTRA_ROOT_PATH ?= "" @@ -86,6 +91,8 @@ set( CMAKE_SYSTEM_NAME `echo ${TARGET_OS} | sed -e 's/^./\u&/' -e 's/^\(Linux\). set( CMAKE_SYSTEM_PROCESSOR ${@map_target_arch_to_uname_arch(d.getVar('TARGET_ARCH'))} ) set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} ) set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} ) +set( CMAKE_C_COMPILER_LAUNCHER ${OECMAKE_C_COMPILER_LAUNCHER} ) +set( CMAKE_CXX_COMPILER_LAUNCHER ${OECMAKE_CXX_COMPILER_LAUNCHER} ) set( CMAKE_ASM_COMPILER ${OECMAKE_C_COMPILER} ) set( CMAKE_AR ${OECMAKE_AR} CACHE FILEPATH "Archiver" ) set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" ) @@ -154,15 +161,15 @@ cmake_do_configure() { $oecmake_sitefile \ ${OECMAKE_SOURCEPATH} \ -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ - -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir'), d.getVar('prefix'))} \ - -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir'), d.getVar('prefix'))} \ - -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir'), d.getVar('prefix'))} \ + -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir'), d.getVar('prefix') + '/')} \ + -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir'), d.getVar('prefix') + '/')} \ + -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir'), d.getVar('prefix') + '/')} \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ - -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir'), d. getVar('prefix'))} \ + -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir'), d. getVar('prefix') + '/')} \ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ - -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix'))} \ - -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir'), d.getVar('prefix'))} \ - -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix'))} \ + -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir'), d.getVar('prefix') + '/')} \ + -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix') + '/')} \ -DCMAKE_INSTALL_SO_NO_EXE=0 \ -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \ diff --git a/poky/meta/classes/devicetree.bbclass b/poky/meta/classes/devicetree.bbclass index 5c03e4b0f..d8779c794 100644 --- a/poky/meta/classes/devicetree.bbclass +++ b/poky/meta/classes/devicetree.bbclass @@ -116,7 +116,7 @@ def devicetree_compile(dtspath, includes, d): dtcargs += ["-o", "{0}.{1}".format(dtname, "dtbo" if isoverlay else "dtb")] dtcargs += ["-I", "dts", "-O", "dtb", "{0}.pp".format(dts)] bb.note("Running {0}".format(" ".join(dtcargs))) - subprocess.run(dtcargs, check = True) + subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) python devicetree_do_compile() { includes = expand_includes("DT_INCLUDE", d) diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass index 1c44ec4a8..fd98a7d1b 100644 --- a/poky/meta/classes/image_types.bbclass +++ b/poky/meta/classes/image_types.bbclass @@ -284,7 +284,7 @@ COMPRESSIONTYPES ?= "" CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vdi qcow2 base64 ${COMPRESSIONTYPES}" CONVERSION_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" -CONVERSION_CMD_gz = "pigz -f -9 -n -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz" +CONVERSION_CMD_gz = "gzip -f -9 -n -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz" CONVERSION_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" CONVERSION_CMD_xz = "xz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_DEFAULTS} --check=${XZ_INTEGRITY_CHECK} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.xz" CONVERSION_CMD_lz4 = "lz4 -9 -z -l ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4" diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index a9be88e81..fdc20c41a 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -25,7 +25,7 @@ QA_SANE = "True" WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \ textrel already-stripped incompatible-license files-invalid \ installed-vs-shipped compile-host-path install-host-path \ - pn-overrides infodir build-deps \ + pn-overrides infodir build-deps src-uri-bad \ unknown-configure-option symlink-to-sysroot multilib \ invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \ " @@ -892,6 +892,17 @@ def package_qa_check_host_user(path, name, d, elf, messages): return False return True +QARECIPETEST[src-uri-bad] = "package_qa_check_src_uri" +def package_qa_check_src_uri(pn, d, messages): + import re + + if "${PN}" in d.getVar("SRC_URI", False): + package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d) + + pn = d.getVar("SRC_URI") + if re.search(r"github\.com/.+/.+/archive/.+", pn): + package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub archives" % pn, d) + # The PACKAGE FUNC to scan each package python do_package_qa () { diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass index 2820ff968..9e224daf0 100644 --- a/poky/meta/classes/kernel-fitimage.bbclass +++ b/poky/meta/classes/kernel-fitimage.bbclass @@ -42,7 +42,7 @@ python __anonymous () { # Verified boot will sign the fitImage and append the public key to # U-Boot dtb. We ensure the U-Boot dtb is deployed before assembling # the fitImage: - if d.getVar('UBOOT_SIGN_ENABLE') == "1": + if d.getVar('UBOOT_SIGN_ENABLE') == "1" and d.getVar('UBOOT_DTB_BINARY'): uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot' d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_populate_sysroot' % uboot_pn) } diff --git a/poky/meta/classes/kernel-uboot.bbclass b/poky/meta/classes/kernel-uboot.bbclass index 2364053f3..0457c5d1d 100644 --- a/poky/meta/classes/kernel-uboot.bbclass +++ b/poky/meta/classes/kernel-uboot.bbclass @@ -5,8 +5,8 @@ uboot_prep_kimage() { linux_comp="none" elif [ -e arch/${ARCH}/boot/Image ] ; then vmlinux_path="vmlinux" - linux_suffix="" - linux_comp="none" + linux_suffix=".gz" + linux_comp="gzip" elif [ -e arch/${ARCH}/boot/vmlinuz.bin ]; then rm -f linux.bin cp -l arch/${ARCH}/boot/vmlinuz.bin linux.bin diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass index 437b8c767..a60e15b57 100644 --- a/poky/meta/classes/kernel.bbclass +++ b/poky/meta/classes/kernel.bbclass @@ -8,6 +8,7 @@ DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-na PACKAGE_WRITE_DEPS += "depmodwrapper-cross" do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot" +do_clean[depends] += "make-mod-scripts:do_clean" CVE_PRODUCT ?= "linux_kernel" @@ -558,7 +559,7 @@ EXPORT_FUNCTIONS do_compile do_install do_configure # kernel-image becomes kernel-image-${KERNEL_VERSION} PACKAGES = "${KERNEL_PACKAGE_NAME} ${KERNEL_PACKAGE_NAME}-base ${KERNEL_PACKAGE_NAME}-vmlinux ${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-dev ${KERNEL_PACKAGE_NAME}-modules" FILES_${PN} = "" -FILES_${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin" +FILES_${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo" FILES_${KERNEL_PACKAGE_NAME}-image = "" FILES_${KERNEL_PACKAGE_NAME}-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build" FILES_${KERNEL_PACKAGE_NAME}-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}" diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes/license.bbclass index ed91a4b4d..adca881c8 100644 --- a/poky/meta/classes/license.bbclass +++ b/poky/meta/classes/license.bbclass @@ -268,7 +268,7 @@ def expand_wildcard_licenses(d, wildcard_licenses): wildcards from SPDXLICENSEMAP flags and SRC_DISTRIBUTE_LICENSES values. """ import fnmatch - licenses = [] + licenses = wildcard_licenses[:] spdxmapkeys = d.getVarFlags('SPDXLICENSEMAP').keys() for wld_lic in wildcard_licenses: spdxflags = fnmatch.filter(spdxmapkeys, wld_lic) diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass index 6fb76be48..2cfda81c9 100644 --- a/poky/meta/classes/license_image.bbclass +++ b/poky/meta/classes/license_image.bbclass @@ -40,7 +40,7 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): import stat bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE") or "").split() - bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses) + bad_licenses = [canonical_license(d, l) for l in bad_licenses] bad_licenses = expand_wildcard_licenses(d, bad_licenses) with open(license_manifest, "w") as license_file: diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass index 115d1aedc..0edbfc181 100644 --- a/poky/meta/classes/meson.bbclass +++ b/poky/meta/classes/meson.bbclass @@ -56,6 +56,8 @@ def meson_cpu_family(var, d): return 'ppc64' elif arch == 'armeb': return 'arm' + elif arch == 'aarch64_be': + return 'aarch64' elif arch == 'mipsel': return 'mips' elif arch == 'mips64el': diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass index 2b761f355..7750221f7 100644 --- a/poky/meta/classes/multilib.bbclass +++ b/poky/meta/classes/multilib.bbclass @@ -33,6 +33,8 @@ python multilib_virtclass_handler () { e.data.setVar("MLPREFIX", variant + "-") e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False)) e.data.setVar('SDKTARGETSYSROOT', e.data.getVar('SDKTARGETSYSROOT')) + override = ":virtclass-multilib-" + variant + e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override) target_vendor = e.data.getVar("TARGET_VENDOR_" + "virtclass-multilib-" + variant, False) if target_vendor: e.data.setVar("TARGET_VENDOR", target_vendor) diff --git a/poky/meta/classes/multilib_global.bbclass b/poky/meta/classes/multilib_global.bbclass index 649cc096b..19ce1a509 100644 --- a/poky/meta/classes/multilib_global.bbclass +++ b/poky/meta/classes/multilib_global.bbclass @@ -118,6 +118,9 @@ def preferred_ml_updates(d): d.renameVar(prov, provexp) def translate_provide(prefix, prov): + # Really need to know if kernel modules class is inherited somehow + if prov == "lttng-modules": + return prov if not prov.startswith("virtual/"): return prefix + "-" + prov if prov == "virtual/kernel": diff --git a/poky/meta/classes/npm.bbclass b/poky/meta/classes/npm.bbclass index 6dbae6bc7..4b1f0a39f 100644 --- a/poky/meta/classes/npm.bbclass +++ b/poky/meta/classes/npm.bbclass @@ -10,7 +10,7 @@ def node_pkgname(d): NPMPN ?= "${@node_pkgname(d)}" -NPM_INSTALLDIR = "${libdir}/node/${NPMPN}" +NPM_INSTALLDIR = "${libdir}/node_modules/${NPMPN}" # function maps arch names to npm arch names def npm_oe_arch_map(target_arch, d): @@ -53,9 +53,10 @@ npm_do_install() { # be created in this directory export HOME=${WORKDIR} mkdir -p ${D}${libdir}/node_modules - npm pack . - npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPMPN}-${PV}.tgz - mv ${D}${libdir}/node_modules ${D}${libdir}/node + local NPM_PACKFILE=$(npm pack .) + npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPM_PACKFILE} + ln -fs node_modules ${D}${libdir}/node + find ${D}${NPM_INSTALLDIR} -type f \( -name "*.a" -o -name "*.d" -o -name "*.o" \) -delete if [ -d ${D}${prefix}/etc ] ; then # This will be empty rmdir ${D}${prefix}/etc @@ -85,6 +86,8 @@ python populate_packages_prepend () { } FILES_${PN} += " \ + ${bindir} \ + ${libdir}/node \ ${NPM_INSTALLDIR} \ " diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass index 4c0a85953..20d72bba7 100644 --- a/poky/meta/classes/package.bbclass +++ b/poky/meta/classes/package.bbclass @@ -1005,6 +1005,12 @@ python split_and_strip_files () { symlinks[file] = target results = oe.utils.multiprocess_launch(oe.package.is_elf, checkelf.keys(), d) + + # Sort results by file path. This ensures that the files are always + # processed in the same order, which is important to make sure builds + # are reproducible when dealing with hardlinks + results.sort(key=lambda x: x[0]) + for (file, elf_file) in results: # It's a file (or hardlink), not a link # ...but is it ELF, and is it already stripped? @@ -1343,6 +1349,8 @@ EXPORT_FUNCTIONS package_name_hook PKGDESTWORK = "${WORKDIR}/pkgdata" +PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS RPROVIDES RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS SECTION PKG ALLOW_EMPTY FILES CONFFILES FILES_INFO pkg_postinst pkg_postrm pkg_preinst pkg_prerm" + python emit_pkgdata() { from glob import glob import json @@ -1447,48 +1455,26 @@ fi total_size += fstat.st_size d.setVar('FILES_INFO', json.dumps(files, sort_keys=True)) - subdata_file = pkgdatadir + "/runtime/%s" % pkg - sf = open(subdata_file, 'w') - write_if_exists(sf, pkg, 'PN') - write_if_exists(sf, pkg, 'PE') - write_if_exists(sf, pkg, 'PV') - write_if_exists(sf, pkg, 'PR') - write_if_exists(sf, pkg, 'PKGE') - write_if_exists(sf, pkg, 'PKGV') - write_if_exists(sf, pkg, 'PKGR') - write_if_exists(sf, pkg, 'LICENSE') - write_if_exists(sf, pkg, 'DESCRIPTION') - write_if_exists(sf, pkg, 'SUMMARY') - write_if_exists(sf, pkg, 'RDEPENDS') - rprov = write_if_exists(sf, pkg, 'RPROVIDES') - write_if_exists(sf, pkg, 'RRECOMMENDS') - write_if_exists(sf, pkg, 'RSUGGESTS') - write_if_exists(sf, pkg, 'RREPLACES') - write_if_exists(sf, pkg, 'RCONFLICTS') - write_if_exists(sf, pkg, 'SECTION') - write_if_exists(sf, pkg, 'PKG') - write_if_exists(sf, pkg, 'ALLOW_EMPTY') - write_if_exists(sf, pkg, 'FILES') - write_if_exists(sf, pkg, 'CONFFILES') process_postinst_on_target(pkg, d.getVar("MLPREFIX")) add_set_e_to_scriptlets(pkg) - write_if_exists(sf, pkg, 'pkg_postinst') - write_if_exists(sf, pkg, 'pkg_postrm') - write_if_exists(sf, pkg, 'pkg_preinst') - write_if_exists(sf, pkg, 'pkg_prerm') - write_if_exists(sf, pkg, 'FILERPROVIDESFLIST') - write_if_exists(sf, pkg, 'FILES_INFO') - for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg) or "").split(): - write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile) - - write_if_exists(sf, pkg, 'FILERDEPENDSFLIST') - for dfile in (d.getVar('FILERDEPENDSFLIST_' + pkg) or "").split(): - write_if_exists(sf, pkg, 'FILERDEPENDS_' + dfile) - - sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size)) - sf.close() + + subdata_file = pkgdatadir + "/runtime/%s" % pkg + with open(subdata_file, 'w') as sf: + for var in (d.getVar('PKGDATA_VARS') or "").split(): + val = write_if_exists(sf, pkg, var) + + write_if_exists(sf, pkg, 'FILERPROVIDESFLIST') + for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg) or "").split(): + write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile) + + write_if_exists(sf, pkg, 'FILERDEPENDSFLIST') + for dfile in (d.getVar('FILERDEPENDSFLIST_' + pkg) or "").split(): + write_if_exists(sf, pkg, 'FILERDEPENDS_' + dfile) + + sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size)) # Symlinks needed for rprovides lookup + rprov = d.getVar('RPROVIDES_%s' % pkg) or d.getVar('RPROVIDES') if rprov: for p in rprov.strip().split(): subdata_sym = pkgdatadir + "/runtime-rprovides/%s/%s" % (p, pkg) diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass index a7f0fe743..59920a57a 100644 --- a/poky/meta/classes/populate_sdk_base.bbclass +++ b/poky/meta/classes/populate_sdk_base.bbclass @@ -57,7 +57,7 @@ python () { d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .') else: d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native') - d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz -T 0 > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') + d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz -T 0 -9 > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') } SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" diff --git a/poky/meta/classes/scons.bbclass b/poky/meta/classes/scons.bbclass index 9ee7d1587..6b171ca8d 100644 --- a/poky/meta/classes/scons.bbclass +++ b/poky/meta/classes/scons.bbclass @@ -1,8 +1,11 @@ -DEPENDS += "python-scons-native" +inherit python3native + +DEPENDS += "python3-scons-native" EXTRA_OESCONS ?= "" do_configure() { + unset _PYTHON_SYSCONFIGDATA_NAME if [ -n "${CONFIGURESTAMPFILE}" ]; then if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then ${STAGING_BINDIR_NATIVE}/scons --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} @@ -14,11 +17,13 @@ do_configure() { } scons_do_compile() { + unset _PYTHON_SYSCONFIGDATA_NAME ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \ die "scons build execution failed." } scons_do_install() { + unset _PYTHON_SYSCONFIGDATA_NAME ${STAGING_BINDIR_NATIVE}/scons install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \ die "scons install execution failed." } diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass index 6bcd0b087..920706022 100644 --- a/poky/meta/classes/staging.bbclass +++ b/poky/meta/classes/staging.bbclass @@ -168,7 +168,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): if not fixme: return cmd = "sed -e 's:^[^/]*/:%s/:g' %s | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIRHOST:%s:g'" % (target, " ".join(fixme), recipesysroot, recipesysrootnative) - for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR', 'PSEUDO_LOCALSTATEDIR', 'LOGFIFO']: + for fixmevar in ['PSEUDO_SYSROOT', 'HOSTTOOLS_DIR', 'PKGDATA_DIR', 'PSEUDO_LOCALSTATEDIR', 'LOGFIFO']: fixme_path = d.getVar(fixmevar) cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) bb.debug(2, cmd) diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass index 9bb5a5cb0..525c5a617 100644 --- a/poky/meta/classes/testimage.bbclass +++ b/poky/meta/classes/testimage.bbclass @@ -210,7 +210,11 @@ def testimage_main(d): bb.fatal('Unsupported image type built. Add a comptible image to ' 'IMAGE_FSTYPES. Supported types: %s' % ', '.join(supported_fstypes)) - rootfs = '%s.%s' % (image_name, fstypes[0]) + qfstype = fstypes[0] + qdeffstype = d.getVar("QB_DEFAULT_FSTYPE") + if qdeffstype: + qfstype = qdeffstype + rootfs = '%s.%s' % (image_name, qfstype) # Get tmpdir (not really used, just for compatibility) tmpdir = d.getVar("TMPDIR") diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass index 8beafff7c..de81ad1b3 100644 --- a/poky/meta/classes/uboot-sign.bbclass +++ b/poky/meta/classes/uboot-sign.bbclass @@ -116,7 +116,7 @@ do_install_append() { } python () { - if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == d.getVar('UBOOT_PN'): + if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == d.getVar('UBOOT_PN') and d.getVar('UBOOT_DTB_BINARY'): kernel_pn = d.getVar('PREFERRED_PROVIDER_virtual/kernel') # Make "bitbake u-boot -cdeploy" deploys the signed u-boot.dtb diff --git a/poky/meta/classes/uninative.bbclass b/poky/meta/classes/uninative.bbclass index ba99fb6e8..3326c0db3 100644 --- a/poky/meta/classes/uninative.bbclass +++ b/poky/meta/classes/uninative.bbclass @@ -2,7 +2,7 @@ UNINATIVE_LOADER ?= "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/ UNINATIVE_STAGING_DIR ?= "${STAGING_DIR}" UNINATIVE_URL ?= "unset" -UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.bz2" +UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.xz" # Example checksums #UNINATIVE_CHECKSUM[aarch64] = "dead" #UNINATIVE_CHECKSUM[i686] = "dead" @@ -89,7 +89,7 @@ python uninative_event_fetchloader() { cmd = d.expand("\ mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; \ cd ${UNINATIVE_STAGING_DIR}-uninative; \ -tar -xjf ${UNINATIVE_DLDIR}/%s/${UNINATIVE_TARBALL}; \ +tar -xJf ${UNINATIVE_DLDIR}/%s/${UNINATIVE_TARBALL}; \ ${UNINATIVE_STAGING_DIR}-uninative/relocate_sdk.py \ ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux \ ${UNINATIVE_LOADER} \ diff --git a/poky/meta/classes/useradd.bbclass b/poky/meta/classes/useradd.bbclass index 124becd08..e5f3ba24f 100644 --- a/poky/meta/classes/useradd.bbclass +++ b/poky/meta/classes/useradd.bbclass @@ -100,6 +100,8 @@ useradd_sysroot () { # Pseudo may (do_prepare_recipe_sysroot) or may not (do_populate_sysroot_setscene) be running # at this point so we're explicit about the environment so pseudo can load if # not already present. + # PSEUDO_SYSROOT can contain references to the build architecture and COMPONENT_DIR + # so needs the STAGING_FIXME below export PSEUDO="${FAKEROOTENV} ${PSEUDO_SYSROOT}${bindir_native}/pseudo" # Explicitly set $D since it isn't set to anything @@ -134,10 +136,10 @@ useradd_sysroot () { } # The export of PSEUDO in useradd_sysroot() above contains references to -# ${COMPONENTS_DIR} and ${PSEUDO_LOCALSTATEDIR}. Additionally, the logging +# ${PSEUDO_SYSROOT} and ${PSEUDO_LOCALSTATEDIR}. Additionally, the logging # shell functions use ${LOGFIFO}. These need to be handled when restoring # postinst-useradd-${PN} from the sstate cache. -EXTRA_STAGING_FIXMES += "COMPONENTS_DIR PSEUDO_LOCALSTATEDIR LOGFIFO" +EXTRA_STAGING_FIXMES += "PSEUDO_SYSROOT PSEUDO_LOCALSTATEDIR LOGFIFO" python useradd_sysroot_sstate () { scriptfile = None @@ -182,6 +184,7 @@ def update_useradd_after_parse(d): bb.fatal("%s inherits useradd but doesn't set USERADD_PACKAGES" % d.getVar('FILE', False)) for pkg in useradd_packages.split(): + d.appendVarFlag("do_populate_sysroot", "vardeps", "USERADD_PARAM_%s GROUPADD_PARAM_%s GROUPMEMS_PARAM_%s" % (pkg, pkg, pkg)) if not d.getVar('USERADD_PARAM_%s' % pkg) and not d.getVar('GROUPADD_PARAM_%s' % pkg) and not d.getVar('GROUPMEMS_PARAM_%s' % pkg): bb.fatal("%s inherits useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or GROUPMEMS_PARAM for package %s" % (d.getVar('FILE', False), pkg)) diff --git a/poky/meta/conf/distro/include/default-providers.inc b/poky/meta/conf/distro/include/default-providers.inc index 21419038f..2be337877 100644 --- a/poky/meta/conf/distro/include/default-providers.inc +++ b/poky/meta/conf/distro/include/default-providers.inc @@ -42,6 +42,7 @@ PREFERRED_PROVIDER_opkg ?= "opkg" PREFERRED_PROVIDER_opkg-native ?= "opkg-native" PREFERRED_PROVIDER_nativesdk-opkg ?= "nativesdk-opkg" PREFERRED_PROVIDER_console-tools ?= "kbd" +PREFERRED_PROVIDER_gzip-native ?= "pigz-native" PREFERRED_PROVIDER_udev ?= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','eudev',d)}" PREFERRED_RPROVIDER_bluez-hcidump ?= "${@bb.utils.contains('DISTRO_FEATURES','bluetooth bluez5','bluez5','bluez-hcidump',d)}" # Alternative is ltp-ddt in meta-oe: meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index a9a689fb0..1923ae6bb 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -162,6 +162,8 @@ RECIPE_MAINTAINER_pn-dtc = "Alexander Kanavin " RECIPE_MAINTAINER_pn-dwarfsrcfiles = "Alexander Kanavin " RECIPE_MAINTAINER_pn-e2fsprogs = "Robert Yang " RECIPE_MAINTAINER_pn-ed = "Alexander Kanavin " +RECIPE_MAINTAINER_pn-efivar = "Ross Burton " +RECIPE_MAINTAINER_pn-efibootmgr = "Ross Burton " RECIPE_MAINTAINER_pn-eglinfo-fb = "Alexander Kanavin " RECIPE_MAINTAINER_pn-eglinfo-x11 = "Alexander Kanavin " RECIPE_MAINTAINER_pn-eglinfo-wayland = "Alexander Kanavin " @@ -312,6 +314,7 @@ RECIPE_MAINTAINER_pn-libatomic-ops = "Anuj Mittal " RECIPE_MAINTAINER_pn-libbsd = "Yi Zhao " RECIPE_MAINTAINER_pn-libcap = "Yi Zhao " RECIPE_MAINTAINER_pn-libcap-ng = "Yi Zhao " +RECIPE_MAINTAINER_pn-libcap-ng-python = "Yi Zhao " RECIPE_MAINTAINER_pn-libcgroup = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libcheck = "Yi Zhao " RECIPE_MAINTAINER_pn-libcomps = "Alexander Kanavin " @@ -602,7 +605,10 @@ RECIPE_MAINTAINER_pn-python3-numpy = "Derek Straka " RECIPE_MAINTAINER_pn-python3-pbr = "Derek Straka " RECIPE_MAINTAINER_pn-python3-pip = "Derek Straka " RECIPE_MAINTAINER_pn-python3-pycairo = "Derek Straka " +RECIPE_MAINTAINER_pn-python3-pygments = "Derek Straka " RECIPE_MAINTAINER_pn-python3-pygobject = "Derek Straka " +RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling " RECIPE_MAINTAINER_pn-python3-setuptools = "Derek Straka " RECIPE_MAINTAINER_pn-python3-six = "Derek Straka " RECIPE_MAINTAINER_pn-python3-smmap = "Derek Straka " @@ -644,7 +650,6 @@ RECIPE_MAINTAINER_pn-shutdown-desktop = "Alexander Kanavin (2,1,): cmd += ['--pinentry-mode', 'loopback'] - if self.gpg_agent_bin: - cmd += ["--agent-program=%s|--auto-expand-secmem" % (self.gpg_agent_bin)] - cmd += [input_file] try: @@ -101,7 +104,8 @@ class LocalSigner(object): def get_gpg_version(self): """Return the gpg version as a tuple of ints""" try: - ver_str = subprocess.check_output((self.gpg_bin, "--version", "--no-permission-warning")).split()[2].decode("utf-8") + cmd = self.gpg_cmd + ["--version", "--no-permission-warning"] + ver_str = subprocess.check_output(cmd).split()[2].decode("utf-8") return tuple([int(i) for i in ver_str.split("-")[0].split('.')]) except subprocess.CalledProcessError as e: raise bb.build.FuncFailed("Could not get gpg version: %s" % e) @@ -109,11 +113,12 @@ class LocalSigner(object): def verify(self, sig_file): """Verify signature""" - cmd = self.gpg_bin + " --verify --no-permission-warning " + cmd = self.gpg_cmd + [" --verify", "--no-permission-warning"] if self.gpg_path: - cmd += "--homedir %s " % self.gpg_path - cmd += sig_file - status = subprocess.call(shlex.split(cmd)) + cmd += ["--homedir", self.gpg_path] + + cmd += [sig_file] + status = subprocess.call(cmd) ret = False if status else True return ret diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py index 1e5b9a49f..630ae967a 100644 --- a/poky/meta/lib/oe/recipeutils.py +++ b/poky/meta/lib/oe/recipeutils.py @@ -934,7 +934,7 @@ def get_recipe_pv_without_srcpv(pv, uri_type): sfx = '' if uri_type == 'git': - git_regex = re.compile(r"(?Pv?)(?P[^\+]*)((?P\+(git)?r?(AUTOINC\+))(?P.*))?") + git_regex = re.compile(r"(?Pv?)(?P.*?)(?P\+[^\+]*(git)?r?(AUTOINC\+))(?P.*)") m = git_regex.match(pv) if m: diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py index 417943db9..13af16e47 100644 --- a/poky/meta/lib/oe/sstatesig.py +++ b/poky/meta/lib/oe/sstatesig.py @@ -155,7 +155,7 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): else: def get_mc(tid): tid = tid.rsplit('.', 1)[0] - if tid.startswith('multiconfig:'): + if tid.startswith('mc:'): elems = tid.split(':') return elems[1] def recipename_from_dep(dep): diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py index 09627044c..58244895a 100644 --- a/poky/meta/lib/oeqa/core/context.py +++ b/poky/meta/lib/oeqa/core/context.py @@ -9,6 +9,7 @@ import json import time import logging import collections +import unittest from oeqa.core.loader import OETestLoader from oeqa.core.runner import OETestRunner @@ -45,10 +46,14 @@ class OETestContext(object): def skipTests(self, skips): if not skips: return + def skipfuncgen(skipmsg): + def func(): + raise unittest.SkipTest(skipmsg) + return func for test in self.suites: for skip in skips: if test.id().startswith(skip): - setattr(test, 'setUp', lambda: test.skipTest('Skip by the command line argument "%s"' % skip)) + setattr(test, 'setUp', skipfuncgen('Skip by the command line argument "%s"' % skip)) def loadTests(self, module_paths, modules=[], tests=[], modules_manifest="", modules_required=[], filters={}): diff --git a/poky/meta/lib/oeqa/runtime/cases/scons.py b/poky/meta/lib/oeqa/runtime/cases/scons.py new file mode 100644 index 000000000..3c7c7f727 --- /dev/null +++ b/poky/meta/lib/oeqa/runtime/cases/scons.py @@ -0,0 +1,37 @@ +# +# SPDX-License-Identifier: MIT +# + +import os + +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage + +class SconsCompileTest(OERuntimeTestCase): + + @classmethod + def setUp(cls): + dst = '/tmp/' + src = os.path.join(cls.tc.runtime_files_dir, 'hello.c') + cls.tc.target.copyTo(src, dst) + + src = os.path.join(cls.tc.runtime_files_dir, 'SConstruct') + cls.tc.target.copyTo(src, dst) + + @classmethod + def tearDown(cls): + files = '/tmp/hello.c /tmp/hello.o /tmp/hello /tmp/SConstruct' + cls.tc.target.run('rm %s' % files) + + @OETestDepends(['ssh.SSHTest.test_ssh']) + @OEHasPackage(['gcc']) + @OEHasPackage(['python3-scons']) + def test_scons_compile(self): + status, output = self.target.run('cd /tmp/ && scons') + msg = 'scons compile failed, output: %s' % output + self.assertEqual(status, 0, msg=msg) + + status, output = self.target.run('/tmp/hello') + msg = 'running compiled file failed, output: %s' % output + self.assertEqual(status, 0, msg=msg) diff --git a/poky/meta/lib/oeqa/runtime/files/SConstruct b/poky/meta/lib/oeqa/runtime/files/SConstruct new file mode 100644 index 000000000..d2cb6dd12 --- /dev/null +++ b/poky/meta/lib/oeqa/runtime/files/SConstruct @@ -0,0 +1 @@ +Program('hello.c') diff --git a/poky/meta/lib/oeqa/runtime/files/hello.c b/poky/meta/lib/oeqa/runtime/files/hello.c new file mode 100644 index 000000000..b0697a330 --- /dev/null +++ b/poky/meta/lib/oeqa/runtime/files/hello.c @@ -0,0 +1,5 @@ +int + main() + { + printf("Hello, world!\n"); + } diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py index 434a7b9dd..904ff6988 100644 --- a/poky/meta/lib/oeqa/selftest/cases/devtool.py +++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py @@ -393,7 +393,7 @@ class DevtoolAddTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) testver = '0.23' - url = 'https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-%s.tar.gz' % testver + url = 'https://files.pythonhosted.org/packages/c0/41/bae1254e0396c0cc8cf1751cb7d9afc90a602353695af5952530482c963f/MarkupSafe-%s.tar.gz' % testver testrecipe = 'python-markupsafe' srcdir = os.path.join(tempdir, testrecipe) # Test devtool add diff --git a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py new file mode 100644 index 000000000..8fb93af8a --- /dev/null +++ b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py @@ -0,0 +1,41 @@ +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import bitbake + +class IncompatibleLicenseTests(OESelftestTestCase): + + def lic_test(self, pn, pn_lic, lic): + error_msg = 'ERROR: Nothing PROVIDES \'%s\'\n%s was skipped: it has an incompatible license: %s' % (pn, pn, pn_lic) + + self.write_config("INCOMPATIBLE_LICENSE += \"%s\"" % (lic)) + + result = bitbake('%s --dry-run' % (pn), ignore_status=True) + if error_msg not in result.output: + raise AssertionError(result.output) + + # Verify that a package with an SPDX license (from SRC_DISTRIBUTE_LICENSES) + # cannot be built when INCOMPATIBLE_LICENSE contains this SPDX license + def test_incompatible_spdx_license(self): + self.lic_test('incompatible-license', 'GPL-3.0', 'GPL-3.0') + + # Verify that a package with an SPDX license (from SRC_DISTRIBUTE_LICENSES) + # cannot be built when INCOMPATIBLE_LICENSE contains an alias (in + # SPDXLICENSEMAP) of this SPDX license + def test_incompatible_alias_spdx_license(self): + self.lic_test('incompatible-license', 'GPL-3.0', 'GPLv3') + + # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX + # license cannot be built when INCOMPATIBLE_LICENSE contains this SPDX + # license + def test_incompatible_spdx_license_alias(self): + self.lic_test('incompatible-license-alias', 'GPLv3', 'GPL-3.0') + + # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX + # license cannot be built when INCOMPATIBLE_LICENSE contains this alias + def test_incompatible_alias_spdx_license_alias(self): + self.lic_test('incompatible-license-alias', 'GPLv3', 'GPLv3') + + # Verify that a package with a non-SPDX license (neither in + # SRC_DISTRIBUTE_LICENSES nor in SPDXLICENSEMAP) cannot be built when + # INCOMPATIBLE_LICENSE contains this license + def test_incompatible_nonspdx_license(self): + self.lic_test('incompatible-nonspdx-license', 'FooLicense', 'FooLicense') diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py index 217afe377..7770b66a2 100644 --- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py @@ -3,6 +3,7 @@ # import os +import unittest from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.cases.buildhistory import BuildhistoryBase from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer @@ -38,7 +39,7 @@ class OEScriptTests(OESelftestTestCase): try: import cairo except ImportError: - cls.skipTest('Python module cairo is not present') + raise unittest.SkipTest('Python module cairo is not present') bitbake("core-image-minimal -c rootfs -f") cls.tmpdir = get_bb_var('TMPDIR') cls.buildstats = cls.tmpdir + "/buildstats/" + sorted(os.listdir(cls.tmpdir + "/buildstats"))[-1] diff --git a/poky/meta/lib/oeqa/selftest/cases/package.py b/poky/meta/lib/oeqa/selftest/cases/package.py index 7a0075382..291627877 100644 --- a/poky/meta/lib/oeqa/selftest/cases/package.py +++ b/poky/meta/lib/oeqa/selftest/cases/package.py @@ -7,6 +7,7 @@ from oeqa.utils.commands import bitbake, get_bb_vars, get_bb_var, runqemu import stat import subprocess, os import oe.path +import re class VersionOrdering(OESelftestTestCase): # version1, version2, sort order @@ -134,7 +135,7 @@ class PackageTests(OESelftestTestCase): return False # Check debugging symbols works correctly - elif "Breakpoint 1, main () at hello.c:4" in l: + elif re.match("Breakpoint 1.*hello\.c.*4", l): return True self.logger.error("GDB result:\n%d: %s", status, output) diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py index f1cb37b53..e3f5c7166 100644 --- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py @@ -435,7 +435,45 @@ class RecipetoolTests(RecipetoolBase): checkvars = {} checkvars['LICENSE'] = set(['Apache-2.0']) checkvars['SRC_URI'] = 'git://github.com/mesonbuild/meson;protocol=https' - inherits = ['setuptools'] + inherits = ['setuptools3'] + self._test_recipe_contents(recipefile, checkvars, inherits) + + def test_recipetool_create_python3_setuptools(self): + # Test creating python3 package from tarball (using setuptools3 class) + temprecipe = os.path.join(self.tempdir, 'recipe') + os.makedirs(temprecipe) + pn = 'python-magic' + pv = '0.4.15' + recipefile = os.path.join(temprecipe, '%s_%s.bb' % (pn, pv)) + srcuri = 'https://files.pythonhosted.org/packages/84/30/80932401906eaf787f2e9bd86dc458f1d2e75b064b4c187341f29516945c/python-magic-%s.tar.gz' % pv + result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + self.assertTrue(os.path.isfile(recipefile)) + checkvars = {} + checkvars['LICENSE'] = set(['MIT']) + checkvars['LIC_FILES_CHKSUM'] = 'file://LICENSE;md5=16a934f165e8c3245f241e77d401bb88' + checkvars['SRC_URI'] = 'https://files.pythonhosted.org/packages/84/30/80932401906eaf787f2e9bd86dc458f1d2e75b064b4c187341f29516945c/python-magic-${PV}.tar.gz' + checkvars['SRC_URI[md5sum]'] = 'e384c95a47218f66c6501cd6dd45ff59' + checkvars['SRC_URI[sha256sum]'] = 'f3765c0f582d2dfc72c15f3b5a82aecfae9498bd29ca840d72f37d7bd38bfcd5' + inherits = ['setuptools3'] + self._test_recipe_contents(recipefile, checkvars, inherits) + + def test_recipetool_create_python3_distutils(self): + # Test creating python3 package from tarball (using distutils3 class) + temprecipe = os.path.join(self.tempdir, 'recipe') + os.makedirs(temprecipe) + pn = 'docutils' + pv = '0.14' + recipefile = os.path.join(temprecipe, '%s_%s.bb' % (pn, pv)) + srcuri = 'https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-%s.tar.gz' % pv + result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + self.assertTrue(os.path.isfile(recipefile)) + checkvars = {} + checkvars['LICENSE'] = set(['PSF', '&', 'BSD', 'GPL']) + checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING.txt;md5=35a23d42b615470583563132872c97d6' + checkvars['SRC_URI'] = 'https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-${PV}.tar.gz' + checkvars['SRC_URI[md5sum]'] = 'c53768d63db3873b7d452833553469de' + checkvars['SRC_URI[sha256sum]'] = '51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274' + inherits = ['distutils3'] self._test_recipe_contents(recipefile, checkvars, inherits) def test_recipetool_create_github_tarball(self): @@ -450,7 +488,7 @@ class RecipetoolTests(RecipetoolBase): checkvars = {} checkvars['LICENSE'] = set(['Apache-2.0']) checkvars['SRC_URI'] = 'https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz' - inherits = ['setuptools'] + inherits = ['setuptools3'] self._test_recipe_contents(recipefile, checkvars, inherits) def test_recipetool_create_git_http(self): diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py new file mode 100644 index 000000000..6dc83d284 --- /dev/null +++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py @@ -0,0 +1,160 @@ +# +# SPDX-License-Identifier: MIT +# +# Copyright 2019 by Garmin Ltd. or its subsidiaries + +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars +import functools +import multiprocessing +import textwrap +import unittest + +MISSING = 'MISSING' +DIFFERENT = 'DIFFERENT' +SAME = 'SAME' + +@functools.total_ordering +class CompareResult(object): + def __init__(self): + self.reference = None + self.test = None + self.status = 'UNKNOWN' + + def __eq__(self, other): + return (self.status, self.test) == (other.status, other.test) + + def __lt__(self, other): + return (self.status, self.test) < (other.status, other.test) + +class PackageCompareResults(object): + def __init__(self): + self.total = [] + self.missing = [] + self.different = [] + self.same = [] + + def add_result(self, r): + self.total.append(r) + if r.status == MISSING: + self.missing.append(r) + elif r.status == DIFFERENT: + self.different.append(r) + else: + self.same.append(r) + + def sort(self): + self.total.sort() + self.missing.sort() + self.different.sort() + self.same.sort() + + def __str__(self): + return 'same=%i different=%i missing=%i total=%i' % (len(self.same), len(self.different), len(self.missing), len(self.total)) + +def compare_file(reference, test, diffutils_sysroot): + result = CompareResult() + result.reference = reference + result.test = test + + if not os.path.exists(reference): + result.status = MISSING + return result + + r = runCmd(['cmp', '--quiet', reference, test], native_sysroot=diffutils_sysroot, ignore_status=True) + + if r.status: + result.status = DIFFERENT + return result + + result.status = SAME + return result + +class ReproducibleTests(OESelftestTestCase): + package_classes = ['deb'] + images = ['core-image-minimal'] + + def setUpLocal(self): + super().setUpLocal() + needed_vars = ['TOPDIR', 'TARGET_PREFIX', 'BB_NUMBER_THREADS'] + bb_vars = get_bb_vars(needed_vars) + for v in needed_vars: + setattr(self, v.lower(), bb_vars[v]) + + if not hasattr(self.tc, "extraresults"): + self.tc.extraresults = {} + self.extras = self.tc.extraresults + + self.extras.setdefault('reproducible.rawlogs', {})['log'] = '' + + def append_to_log(self, msg): + self.extras['reproducible.rawlogs']['log'] += msg + + def compare_packages(self, reference_dir, test_dir, diffutils_sysroot): + result = PackageCompareResults() + + old_cwd = os.getcwd() + try: + file_result = {} + os.chdir(test_dir) + with multiprocessing.Pool(processes=int(self.bb_number_threads or 0)) as p: + for root, dirs, files in os.walk('.'): + async_result = [] + for f in files: + reference_path = os.path.join(reference_dir, root, f) + test_path = os.path.join(test_dir, root, f) + async_result.append(p.apply_async(compare_file, (reference_path, test_path, diffutils_sysroot))) + + for a in async_result: + result.add_result(a.get()) + + finally: + os.chdir(old_cwd) + + result.sort() + return result + + @unittest.skip("Reproducible builds do not yet pass") + def test_reproducible_builds(self): + capture_vars = ['DEPLOY_DIR_' + c.upper() for c in self.package_classes] + + common_config = textwrap.dedent('''\ + INHERIT += "reproducible_build" + PACKAGE_CLASSES = "%s" + ''') % (' '.join('package_%s' % c for c in self.package_classes)) + + # Do an initial build. It's acceptable for this build to use sstate + self.write_config(common_config) + vars_reference = get_bb_vars(capture_vars) + bitbake(' '.join(self.images)) + + # Build native utilities + bitbake("diffutils-native -c addto_recipe_sysroot") + diffutils_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "diffutils-native") + + # Perform another build. This build should *not* share sstate or pull + # from any mirrors, but sharing a DL_DIR is fine + self.write_config(textwrap.dedent('''\ + TMPDIR = "${TOPDIR}/reproducible/tmp" + SSTATE_DIR = "${TMPDIR}/sstate" + SSTATE_MIRROR = "" + ''') + common_config) + vars_test = get_bb_vars(capture_vars) + bitbake(' '.join(self.images)) + + for c in self.package_classes: + package_class = 'package_' + c + + deploy_reference = vars_reference['DEPLOY_DIR_' + c.upper()] + deploy_test = vars_test['DEPLOY_DIR_' + c.upper()] + + result = self.compare_packages(deploy_reference, deploy_test, diffutils_sysroot) + + self.logger.info('Reproducibility summary for %s: %s' % (c, result)) + + self.append_to_log('\n'.join("%s: %s" % (r.status, r.test) for r in result.total)) + + if result.missing or result.different: + self.fail("The following %s packages are missing or different: %s" % + (c, ' '.join(r.test for r in (result.missing + result.different)))) + diff --git a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py index 10eb9c12d..dac5c4680 100644 --- a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py +++ b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py @@ -56,7 +56,7 @@ class ResultToolTests(OESelftestTestCase): 'test4': {'status': 'ERROR'}, 'test5': {'status': 'SKIPPED'}}} report = ResultsTextReport() - result_report = report.get_aggregated_test_result(None, result_data) + result_report = report.get_aggregated_test_result(None, result_data, 'DummyMachine') self.assertTrue(result_report['passed'] == 2, msg="Passed count not correct:%s" % result_report['passed']) self.assertTrue(result_report['failed'] == 2, msg="Failed count not correct:%s" % result_report['failed']) self.assertTrue(result_report['skipped'] == 1, msg="Skipped count not correct:%s" % result_report['skipped']) diff --git a/poky/meta/lib/oeqa/selftest/cases/signing.py b/poky/meta/lib/oeqa/selftest/cases/signing.py index 9c710bd0f..b390f37d8 100644 --- a/poky/meta/lib/oeqa/selftest/cases/signing.py +++ b/poky/meta/lib/oeqa/selftest/cases/signing.py @@ -30,7 +30,8 @@ class Signing(OESelftestTestCase): self.secret_key_path = os.path.join(self.testlayer_path, 'files', 'signing', "key.secret") nsysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "gnupg-native") - runCmd('gpg --batch --homedir %s --import %s %s' % (self.gpg_dir, self.pub_key_path, self.secret_key_path), native_sysroot=nsysroot) + + runCmd('gpg --agent-program=`which gpg-agent`\|--auto-expand-secmem --batch --homedir %s --import %s %s' % (self.gpg_dir, self.pub_key_path, self.secret_key_path), native_sysroot=nsysroot) return nsysroot + get_bb_var("bindir_native") diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py index fd386ef5a..c16227fc3 100644 --- a/poky/meta/lib/oeqa/utils/qemurunner.py +++ b/poky/meta/lib/oeqa/utils/qemurunner.py @@ -60,6 +60,7 @@ class QemuRunner: self.runqemutime = 120 self.qemu_pidfile = 'pidfile_'+str(os.getpid()) self.host_dumper = HostDumper(dump_host_cmds, dump_dir) + self.monitorpipe = None self.logger = logger @@ -155,11 +156,11 @@ class QemuRunner: # and analyze descendents in order to determine it. if os.path.exists(self.qemu_pidfile): os.remove(self.qemu_pidfile) - self.qemuparams = 'bootparams="{0}" qemuparams="-serial tcp:127.0.0.1:{1} -pidfile {2}"'.format(bootparams, threadport, self.qemu_pidfile) + self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile) if qemuparams: self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"' - launch_cmd += ' tcpserial=%s %s' % (self.serverport, self.qemuparams) + launch_cmd += ' tcpserial=%s:%s %s' % (threadport, self.serverport, self.qemuparams) self.origchldhandler = signal.getsignal(signal.SIGCHLD) signal.signal(signal.SIGCHLD, self.handleSIGCHLD) diff --git a/poky/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch b/poky/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch new file mode 100644 index 000000000..42f3a8182 --- /dev/null +++ b/poky/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch @@ -0,0 +1,31 @@ +From 99b578501643377e0b1994b2a068b790d189d5ad Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Wed, 13 Jun 2018 09:41:01 -0400 +Subject: [PATCH] remove extra decl + +Signed-off-by: Peter Jones + +Upstream-Status: Backport [git://github.com/rhinstaller/efibootmgr.git] +Signed-off-by: Hongxu Jia + +--- + src/efibootmgr.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/efibootmgr.c b/src/efibootmgr.c +index de38f01..4e1a680 100644 +--- a/src/efibootmgr.c ++++ b/src/efibootmgr.c +@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv) + "invalid numeric value %s\n", + optarg); + } +- /* XXX efivar-36 accidentally doesn't have a public +- * header for this */ +- extern int efi_set_verbose(int verbosity, FILE *errlog); + efi_set_verbose(opts.verbose - 2, stderr); + break; + case 'V': +-- +2.7.4 + diff --git a/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb b/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb new file mode 100644 index 000000000..0e5a81e31 --- /dev/null +++ b/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager." +SUMMARY = "EFI Boot Manager" +HOMEPAGE = "https://github.com/rhboot/efibootmgr" +SECTION = "base" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +DEPENDS = "efivar popt" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" + +SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \ + file://0001-remove-extra-decl.patch \ + " +SRCREV = "e067160ecef8208e1944002e5d50b275733211fb" + +S = "${WORKDIR}/git" + +inherit pkgconfig + +# The directory under the ESP that the default bootloader is found in. When +# wic uses a subdirectory, this should use the same one too. +EFIDIR ?= "/" + +EXTRA_OEMAKE += "'EFIDIR=${EFIDIR}'" + +CFLAGS += " -Wno-error" + +do_install () { + oe_runmake install DESTDIR="${D}" +} + +CLEANBROKEN = "1" diff --git a/poky/meta/recipes-bsp/efivar/efivar/no-werror.patch b/poky/meta/recipes-bsp/efivar/efivar/no-werror.patch new file mode 100644 index 000000000..50a0b1023 --- /dev/null +++ b/poky/meta/recipes-bsp/efivar/efivar/no-werror.patch @@ -0,0 +1,18 @@ +Don't use -Werror because newer compilers introduce newer warnings. + +Upstream-Status: Inappropriate [https://github.com/rhboot/efivar/issues/131] +Signed-off-by: Ross Burton + +diff --git a/gcc.specs b/gcc.specs +index 45d43d1..1baf11a 100644 +--- a/gcc.specs ++++ b/gcc.specs +@@ -2,7 +2,7 @@ + + -D_GNU_SOURCE + + *efivar_cpp_options: +- -Werror -Wall -std=gnu11 -Wextra ++ -Wall -std=gnu11 -Wextra + + *cpp_options: + + %(efivar_cpp_options) diff --git a/poky/meta/recipes-bsp/efivar/efivar_37.bb b/poky/meta/recipes-bsp/efivar/efivar_37.bb new file mode 100644 index 000000000..c4254c70d --- /dev/null +++ b/poky/meta/recipes-bsp/efivar/efivar_37.bb @@ -0,0 +1,37 @@ +SUMMARY = "Tools to manipulate UEFI variables" +DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility" +HOMEPAGE = "https://github.com/rhboot/efivar" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" + +SRC_URI = "git://github.com/rhinstaller/efivar.git \ + file://no-werror.patch" +SRCREV = "c1d6b10e1ed4ba2be07f385eae5bceb694478a10" + +S = "${WORKDIR}/git" + +inherit pkgconfig + +export CCLD_FOR_BUILD = "${BUILD_CCLD}" + +# Upstream uses --add-needed in gcc.specs which gold doesn't support, so +# enforce BFD. +LDFLAGS += "-fuse-ld=bfd" + +do_compile_prepend() { + # Remove when https://github.com/rhboot/efivar/issues/130 is fixed + oe_runmake CFLAGS="${BUILD_CFLAGS}" -C src makeguids +} + +do_install() { + oe_runmake install DESTDIR=${D} +} + +BBCLASSEXTEND = "native" + +RRECOMMENDS_${PN}_class-target = "kernel-module-efivarfs" + +CLEANBROKEN = "1" diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc index 7d8c280b3..bac2d7d41 100644 --- a/poky/meta/recipes-bsp/grub/grub2.inc +++ b/poky/meta/recipes-bsp/grub/grub2.inc @@ -60,7 +60,7 @@ BUILD_CFLAGS = "" BUILD_CXXFLAGS = "" BUILD_LDFLAGS = "" -CFLAGS_append = "-Wno-error" +CFLAGS_append = " -Wno-error" do_configure_prepend() { # The grub2 configure script uses variables such as TARGET_CFLAGS etc diff --git a/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch b/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch new file mode 100644 index 000000000..5fcb3aa92 --- /dev/null +++ b/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch @@ -0,0 +1,25 @@ +Implicit declaration compile warning fixes from Debian + +Signed-off-by: Adrian Bunk +Upstream-Status: Inappropriate [upstream is dead] + +--- lrzsz-0.12.21.orig/lib/long-options.c ++++ lrzsz-0.12.21/lib/long-options.c +@@ -22,6 +22,7 @@ + #endif + + #include ++#include + #include + #include "long-options.h" + +--- lrzsz-0.12.21.orig/src/lsyslog.c ++++ lrzsz-0.12.21/src/lsyslog.c +@@ -22,6 +22,7 @@ + #ifdef ENABLE_SYSLOG + #include "zglobal.h" + #include ++#include + #include + #include + #endif diff --git a/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb b/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb index 002c774c6..34556b2c2 100644 --- a/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb +++ b/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb @@ -20,6 +20,7 @@ SRC_URI = "http://www.ohse.de/uwe/releases/lrzsz-${PV}.tar.gz \ file://lrzsz_fix_for_automake-1.12.patch \ file://lrzsz-check-locale.h.patch \ file://cve-2018-10195.patch \ + file://include.patch \ " SRC_URI[md5sum] = "b5ce6a74abc9b9eb2af94dffdfd372a4" diff --git a/poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch b/poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch deleted file mode 100644 index 7edff2614..000000000 --- a/poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch +++ /dev/null @@ -1,30 +0,0 @@ -Upstream-Status: Backport (https://github.com/gregkh/usbutils/commit/508d1acf42e1bfd470c6bf1a188574c69c20aeed) -Signed-off-by: Ross Burton - -From 1c9162a5b30550aec8fa163906067bc179291b57 Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Fri, 27 Jul 2018 15:28:34 +0100 -Subject: [PATCH] usb-devices: use /bin/sh - -This script doesn't use any bashisms, so change the hashbang to /bin/sh. - -Fixes #73. - -Signed-off-by: Ross Burton ---- - usb-devices | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/usb-devices b/usb-devices -index afb4217..89d1b7d 100755 ---- a/usb-devices -+++ b/usb-devices -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - # SPDX-License-Identifier: GPL-2.0+ - # - # Copyright (c) 2009 Greg Kroah-Hartman --- -2.11.0 - diff --git a/poky/meta/recipes-bsp/usbutils/usbutils_010.bb b/poky/meta/recipes-bsp/usbutils/usbutils_010.bb deleted file mode 100644 index e6d05b8e8..000000000 --- a/poky/meta/recipes-bsp/usbutils/usbutils_010.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Host side USB console utilities" -DESCRIPTION = "Contains the lsusb utility for inspecting the devices connected to the USB bus." -HOMEPAGE = "http://www.linux-usb.org" -SECTION = "base" - -LICENSE = "GPLv2+ & (GPLv2 | GPLv3)" -# License files went missing in 010, when 011 is released add LICENSES/* back -LIC_FILES_CHKSUM = "file://lsusb.c;endline=1;md5=7d4861d978ff5ba7cb2b319ed1d4afe3 \ - file://lsusb.py.in;beginline=2;endline=2;md5=194d6a0226bf90f4f683e8968878b6cd" - -DEPENDS = "libusb1 virtual/libiconv udev" - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \ - file://usb-devices-avoid-dependency-on-bash.patch \ - " -SRC_URI[md5sum] = "5eb2d2d68f9ed6dc3e9659a5988f7ed6" -SRC_URI[sha256sum] = "881ba47fb2df10c3ba54a4cd6755a90377180890788e476f99d480ea9bc8bb58" - -inherit autotools pkgconfig distro_features_check update-alternatives - -ALTERNATIVE_${PN} = "lsusb" -ALTERNATIVE_PRIORITY = "100" - -# The binaries are mostly GPLv2+ apart from lsusb.py which is GPLv2 or v3. -LICENSE_${PN} = "GPLv2+" -LICENSE_${PN}-python = "GPLv2 | GPLv3" - -RRECOMMENDS_${PN} = "udev-hwdb" - -PACKAGE_BEFORE_PN =+ "${PN}-python" -FILES_${PN}-python += "${bindir}/lsusb.py" -RDEPENDS_${PN}-python = "python3-core" diff --git a/poky/meta/recipes-bsp/usbutils/usbutils_012.bb b/poky/meta/recipes-bsp/usbutils/usbutils_012.bb new file mode 100644 index 000000000..0213e7af6 --- /dev/null +++ b/poky/meta/recipes-bsp/usbutils/usbutils_012.bb @@ -0,0 +1,31 @@ +SUMMARY = "Host side USB console utilities" +DESCRIPTION = "Contains the lsusb utility for inspecting the devices connected to the USB bus." +HOMEPAGE = "http://www.linux-usb.org" +SECTION = "base" + +LICENSE = "GPLv2+ & (GPLv2 | GPLv3)" +# License files went missing in 010, when 011 is released add LICENSES/* back +LIC_FILES_CHKSUM = "file://lsusb.c;endline=1;md5=7d4861d978ff5ba7cb2b319ed1d4afe3 \ + file://lsusb.py.in;beginline=2;endline=2;md5=194d6a0226bf90f4f683e8968878b6cd" + +DEPENDS = "libusb1 virtual/libiconv udev" + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \ + " +SRC_URI[md5sum] = "7484445cbcf04b3eacac892fe58f8d9f" +SRC_URI[sha256sum] = "ae2e10aad530d95839b6f4d46cd41715eae6f0f1789310d793e9be21b3e7ae20" + +inherit autotools pkgconfig distro_features_check update-alternatives + +ALTERNATIVE_${PN} = "lsusb" +ALTERNATIVE_PRIORITY = "100" + +# The binaries are mostly GPLv2+ apart from lsusb.py which is GPLv2 or v3. +LICENSE_${PN} = "GPLv2+" +LICENSE_${PN}-python = "GPLv2 | GPLv3" + +RRECOMMENDS_${PN} = "udev-hwdb" + +PACKAGE_BEFORE_PN =+ "${PN}-python" +FILES_${PN}-python += "${bindir}/lsusb.py" +RDEPENDS_${PN}-python = "python3-core" diff --git a/poky/meta/recipes-connectivity/avahi/avahi.inc b/poky/meta/recipes-connectivity/avahi/avahi.inc index 8339e451f..94fe6a16b 100644 --- a/poky/meta/recipes-connectivity/avahi/avahi.inc +++ b/poky/meta/recipes-connectivity/avahi/avahi.inc @@ -36,6 +36,7 @@ PACKAGECONFIG ??= "dbus ${AVAHI_GTK}" PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+" PACKAGECONFIG[gtk3] = "--enable-gtk3,--disable-gtk3,gtk+3" +PACKAGECONFIG[libdns_sd] = "--enable-compat-libdns_sd --enable-dbus,,dbus" inherit autotools pkgconfig gettext gobject-introspection @@ -77,3 +78,9 @@ do_install() { test -d ${D}${datadir}/dbus-1 && rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1 rm -rf ${D}${libdir}/avahi } + +PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "libdns_sd", "libavahi-compat-libdnssd", "", d)}" + +FILES_libavahi-compat-libdnssd = "${libdir}/libdns_sd.so.*" + +RPROVIDES_libavahi-compat-libdnssd = "libdns-sd" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc index aaf2af975..8f321638c 100644 --- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc @@ -6,7 +6,7 @@ LICENSE = "GPLv2+ & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \ file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e" -DEPENDS = "udev dbus-glib glib-2.0" +DEPENDS = "dbus-glib glib-2.0" PROVIDES += "bluez-hcidump" RPROVIDES_${PN} += "bluez-hcidump" @@ -22,6 +22,7 @@ PACKAGECONFIG ??= "obex-profiles \ hog-profiles \ tools \ deprecated \ + udev \ " PACKAGECONFIG[obex-profiles] = "--enable-obex,--disable-obex,libical" PACKAGECONFIG[readline] = "--enable-client,--disable-client,readline," @@ -43,6 +44,7 @@ PACKAGECONFIG[threads] = "--enable-threads,--disable-threads" PACKAGECONFIG[deprecated] = "--enable-deprecated,--disable-deprecated" PACKAGECONFIG[mesh] = "--enable-mesh,--disable-mesh, json-c ell" PACKAGECONFIG[btpclient] = "--enable-btpclient,--disable-btpclient, ell" +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" SRC_URI = "\ ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ @@ -54,6 +56,7 @@ SRC_URI = "\ file://0001-test-gatt-Fix-hung-issue.patch \ file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch \ file://CVE-2018-10910.patch \ + file://gcc9-fixes.patch \ " S = "${WORKDIR}/bluez-${PV}" @@ -117,7 +120,10 @@ FILES_${PN}-dev += " \ FILES_${PN}-obex = "${libexecdir}/bluetooth/obexd \ ${exec_prefix}/lib/systemd/user/obex.service \ + ${systemd_system_unitdir}/obex.service \ + ${sysconfdir}/systemd/system/multi-user.target.wants/obex.service \ ${datadir}/dbus-1/services/org.bluez.obex.service \ + ${sysconfdir}/dbus-1/system.d/obexd.conf \ " SYSTEMD_SERVICE_${PN}-obex = "obex.service" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch new file mode 100644 index 000000000..ca678e601 --- /dev/null +++ b/poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch @@ -0,0 +1,301 @@ +Backported commit from upstream master branch (post 5.50 release), which +resolves assertion failures in several unit tests. + +https://git.kernel.org/pub/scm/bluetooth/bluez.git/patch/?id=0be5246170 + +Upstream-Status: Backport +Signed-off-by: Ross Burton + +diff --git a/unit/test-avctp.c b/unit/test-avctp.c +index 3bc3569..24de663 100644 +--- a/unit/test-avctp.c ++++ b/unit/test-avctp.c +@@ -43,7 +43,7 @@ + + struct test_pdu { + bool valid; +- const uint8_t *data; ++ uint8_t *data; + size_t size; + }; + +@@ -66,7 +66,7 @@ struct context { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -91,6 +91,11 @@ static void test_debug(const char *str, void *user_data) + static void test_free(gconstpointer user_data) + { + const struct test_data *data = user_data; ++ struct test_pdu *pdu; ++ int i; ++ ++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++) ++ g_free(pdu->data); + + g_free(data->test_name); + g_free(data->pdu_list); +diff --git a/unit/test-avdtp.c b/unit/test-avdtp.c +index dd8aed7..e2c951a 100644 +--- a/unit/test-avdtp.c ++++ b/unit/test-avdtp.c +@@ -47,7 +47,7 @@ + struct test_pdu { + bool valid; + bool fragmented; +- const uint8_t *data; ++ uint8_t *data; + size_t size; + }; + +@@ -61,7 +61,7 @@ struct test_data { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -69,7 +69,7 @@ struct test_data { + { \ + .valid = true, \ + .fragmented = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -81,7 +81,7 @@ struct test_data { + static struct test_data data; \ + data.test_name = g_strdup(name); \ + data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ +- tester_add(name, &data, NULL, function, NULL); \ ++ tester_add(name, &data, NULL, function, NULL); \ + } while (0) + + struct context { +@@ -109,6 +109,11 @@ static void test_debug(const char *str, void *user_data) + static void test_free(gconstpointer user_data) + { + const struct test_data *data = user_data; ++ struct test_pdu *pdu; ++ int i; ++ ++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++) ++ g_free(pdu->data); + + g_free(data->test_name); + g_free(data->pdu_list); +diff --git a/unit/test-avrcp.c b/unit/test-avrcp.c +index 01307e6..f1aa353 100644 +--- a/unit/test-avrcp.c ++++ b/unit/test-avrcp.c +@@ -49,7 +49,7 @@ struct test_pdu { + bool fragmented; + bool continuing; + bool browse; +- const uint8_t *data; ++ uint8_t *data; + size_t size; + }; + +@@ -74,7 +74,7 @@ struct context { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -82,7 +82,7 @@ struct context { + { \ + .valid = true, \ + .browse = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -90,7 +90,7 @@ struct context { + { \ + .valid = true, \ + .fragmented = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -98,7 +98,7 @@ struct context { + { \ + .valid = true, \ + .continuing = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -123,6 +123,11 @@ static void test_debug(const char *str, void *user_data) + static void test_free(gconstpointer user_data) + { + const struct test_data *data = user_data; ++ struct test_pdu *pdu; ++ int i; ++ ++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++) ++ g_free(pdu->data); + + g_free(data->test_name); + g_free(data->pdu_list); +diff --git a/unit/test-gatt.c b/unit/test-gatt.c +index c7e28f8..d49f7a0 100644 +--- a/unit/test-gatt.c ++++ b/unit/test-gatt.c +@@ -48,7 +48,7 @@ + + struct test_pdu { + bool valid; +- const uint8_t *data; ++ uint8_t *data; + size_t size; + }; + +@@ -86,7 +86,7 @@ struct context { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -306,6 +306,11 @@ static bt_uuid_t uuid_char_128 = { + static void test_free(gconstpointer user_data) + { + const struct test_data *data = user_data; ++ struct test_pdu *pdu; ++ int i; ++ ++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++) ++ g_free(pdu->data); + + g_free(data->test_name); + g_free(data->pdu_list); +@@ -1911,6 +1916,8 @@ static void test_server(gconstpointer data) + g_assert_cmpint(len, ==, pdu.size); + + util_hexdump('<', pdu.data, len, test_debug, "GATT: "); ++ ++ g_free(pdu.data); + } + + static void test_search_primary(gconstpointer data) +diff --git a/unit/test-hfp.c b/unit/test-hfp.c +index f2b9622..890eee6 100644 +--- a/unit/test-hfp.c ++++ b/unit/test-hfp.c +@@ -43,7 +43,7 @@ struct context { + + struct test_pdu { + bool valid; +- const uint8_t *data; ++ uint8_t *data; + size_t size; + enum hfp_gw_cmd_type type; + bool fragmented; +@@ -63,7 +63,7 @@ struct test_data { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -75,7 +75,7 @@ struct test_data { + #define type_pdu(cmd_type, args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + .type = cmd_type, \ + } +@@ -83,7 +83,7 @@ struct test_data { + #define frg_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + .fragmented = true, \ + } +@@ -119,6 +119,11 @@ struct test_data { + static void test_free(gconstpointer user_data) + { + const struct test_data *data = user_data; ++ struct test_pdu *pdu; ++ int i; ++ ++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++) ++ g_free(pdu->data); + + g_free(data->test_name); + g_free(data->pdu_list); +diff --git a/unit/test-hog.c b/unit/test-hog.c +index d117968..25bdb42 100644 +--- a/unit/test-hog.c ++++ b/unit/test-hog.c +@@ -68,11 +68,11 @@ struct context { + + #define data(args...) ((const unsigned char[]) { args }) + +-#define raw_pdu(args...) \ +-{ \ +- .valid = true, \ +- .data = data(args), \ +- .size = sizeof(data(args)),\ ++#define raw_pdu(args...) \ ++{ \ ++ .valid = true, \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ ++ .size = sizeof(data(args)), \ + } + + #define false_pdu() \ +diff --git a/unit/test-sdp.c b/unit/test-sdp.c +index ac921a9..c71ee1f 100644 +--- a/unit/test-sdp.c ++++ b/unit/test-sdp.c +@@ -59,14 +59,14 @@ struct test_data { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .raw_data = raw_data(args), \ ++ .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \ + .raw_size = sizeof(raw_data(args)), \ + } + + #define raw_pdu_cont(cont, args...) \ + { \ + .valid = true, \ +- .raw_data = raw_data(args), \ ++ .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \ + .raw_size = sizeof(raw_data(args)), \ + .cont_len = cont, \ + } +@@ -103,7 +103,7 @@ struct test_data_de { + #define define_test_de_attr(name, input, exp) \ + do { \ + static struct test_data_de data; \ +- data.input_data = input; \ ++ data.input_data = g_memdup(input, sizeof(input)); \ + data.input_size = sizeof(input); \ + data.expected = exp; \ + tester_add("/sdp/DE/ATTR/" name, &data, NULL, \ diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch b/poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch new file mode 100644 index 000000000..30f1432cd --- /dev/null +++ b/poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch @@ -0,0 +1,34 @@ +From f0a8c69971b30ea7ca255bb885fdd1179fa5d298 Mon Sep 17 00:00:00 2001 +From: Nicola Lunghi +Date: Thu, 23 May 2019 07:55:25 +0100 +Subject: [PATCH] gweb: fix segfault with musl v1.1.21 + +In musl > v1.1.21 freeaddrinfo() implementation changed and +was causing a segmentation fault on recent Yocto using musl. + +See this commit: + + https://git.musl-libc.org/cgit/musl/commit/src/network/freeaddrinfo.c?id=d1395c43c019aec6b855cf3c656bf47c8a719e7f + +Upstream-Status: Submitted +--- + gweb/gweb.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gweb/gweb.c b/gweb/gweb.c +index 393afe0a..12fcb1d8 100644 +--- a/gweb/gweb.c ++++ b/gweb/gweb.c +@@ -1274,7 +1274,8 @@ static bool is_ip_address(const char *host) + addr = NULL; + + result = getaddrinfo(host, NULL, &hints, &addr); +- freeaddrinfo(addr); ++ if(!result) ++ freeaddrinfo(addr); + + return result == 0; + } +-- +2.19.1 + diff --git a/poky/meta/recipes-connectivity/connman/connman_1.37.bb b/poky/meta/recipes-connectivity/connman/connman_1.37.bb index 2cf904cd8..00852bf0d 100644 --- a/poky/meta/recipes-connectivity/connman/connman_1.37.bb +++ b/poky/meta/recipes-connectivity/connman/connman_1.37.bb @@ -3,6 +3,7 @@ require connman.inc SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \ file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \ + file://0001-gweb-fix-segfault-with-musl-v1.1.21.patch \ file://connman \ file://no-version-scripts.patch \ " @@ -13,3 +14,4 @@ SRC_URI[md5sum] = "75012084f14fb63a84b116e66c6e94fb" SRC_URI[sha256sum] = "6ce29b3eb0bb16a7387bc609c39455fd13064bdcde5a4d185fab3a0c71946e16" RRECOMMENDS_${PN} = "connman-conf" +RCONFLICTS_${PN} = "networkmanager" diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch b/poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch deleted file mode 100644 index 6ef70ccac..000000000 --- a/poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 01641d146e4e6bea954e4a4ee1f6230b822665b4 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Tue, 15 Aug 2017 15:37:49 +0800 -Subject: [PATCH 06/11] site.h: enable gentle shutdown - -Upstream-Status: Inappropriate [configuration] -Signed-off-by: Chen Qi - -Rebase to 4.3.6 -Signed-off-by: Hongxu Jia ---- - includes/site.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: dhcp-4.4.1/includes/site.h -=================================================================== ---- dhcp-4.4.1.orig/includes/site.h -+++ dhcp-4.4.1/includes/site.h -@@ -295,7 +295,7 @@ - situations. We plan to revisit this feature and may - make non-backwards compatible changes including the - removal of this define. Use at your own risk. */ --/* #define ENABLE_GENTLE_SHUTDOWN */ -+#define ENABLE_GENTLE_SHUTDOWN - - /* Include old error codes. This is provided in case you - are building an external program similar to omshell for diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb index 19524cb3c..275961a60 100644 --- a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb +++ b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb @@ -5,7 +5,6 @@ SRC_URI += "file://0001-define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.pat file://0003-link-with-lcrypto.patch \ file://0004-Fix-out-of-tree-builds.patch \ file://0005-dhcp-client-fix-invoke-dhclient-script-failed-on-Rea.patch \ - file://0006-site.h-enable-gentle-shutdown.patch \ file://0007-Add-configure-argument-to-make-the-libxml2-dependenc.patch \ file://0009-remove-dhclient-script-bash-dependency.patch \ file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \ diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb index ec1384eab..ac2e017d8 100644 --- a/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb +++ b/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb @@ -200,7 +200,7 @@ RDEPENDS_${PN}-tftpd += "xinetd" FILES_${PN}-telnetd = "${sbindir}/in.telnetd ${sysconfdir}/xinetd.d/telnet" FILES_${PN}-telnetd-dbg = "${sbindir}/.debug/in.telnetd" -RCONFLICTS_${PN}-telnetd += "netkit-telnetd" +RCONFLICTS_${PN}-telnetd += "netkit-telnet" RPROVIDES_${PN}-telnetd = "telnetd" RDEPENDS_${PN}-telnetd += "xinetd" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb deleted file mode 100644 index 8f33c7fe1..000000000 --- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -require iproute2.inc - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ - file://configure-cross.patch \ - file://0001-libc-compat.h-add-musl-workaround.patch \ - " - -SRC_URI[md5sum] = "d22107b4d7cfb999eeb8ad8a0aec1124" -SRC_URI[sha256sum] = "df047302a39650ef832c07e8dab5df7a23218cd398bd310c8628e386161d20ba" - -# CFLAGS are computed in Makefile and reference CCOPTS -# -EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb new file mode 100644 index 000000000..6854a1300 --- /dev/null +++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb @@ -0,0 +1,13 @@ +require iproute2.inc + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ + file://configure-cross.patch \ + file://0001-libc-compat.h-add-musl-workaround.patch \ + " + +SRC_URI[md5sum] = "a2b8349abf4ae00e92155fda22de4d5e" +SRC_URI[sha256sum] = "dc5a980873eabf6b00c0be976b6e5562b1400d47d1d07d2ac35d5e5acbcf7bcf" + +# CFLAGS are computed in Makefile and reference CCOPTS +# +EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'" diff --git a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch deleted file mode 100644 index f63eb90cd..000000000 --- a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch +++ /dev/null @@ -1,56 +0,0 @@ -From bdf01a581d58eb5340e9238d143dbcac9db5b11c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 30 Jan 2016 19:29:45 +0000 -Subject: [PATCH] check for nss.h - -nss.h may not available on all libc implementations, e.g. musl does not -have this header, this patch detects nss.h presence and defines the data -types that are required if nss.h is missing on platform - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - configure.ac | 2 +- - src/nss.c | 11 +++++++++++ - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index aa66bc6..ce19b07 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -71,7 +71,7 @@ AC_PROG_LIBTOOL - - # Checks for header files. - AC_HEADER_STDC --AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h nss.h sys/ioctl.h]) -+AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h nss.h sys/ioctl.h nss.h]) - - # Checks for typedefs, structures, and compiler characteristics. - AC_C_CONST -diff --git a/src/nss.c b/src/nss.c -index e48e315..406733b 100644 ---- a/src/nss.c -+++ b/src/nss.c -@@ -29,7 +29,18 @@ - #include - #include - #include -+#ifdef HAVE_NSS_H - #include -+#else -+enum nss_status { -+ NSS_STATUS_TRYAGAIN = -2, -+ NSS_STATUS_UNAVAIL, -+ NSS_STATUS_NOTFOUND, -+ NSS_STATUS_SUCCESS, -+ NSS_STATUS_RETURN -+}; -+#endif -+ - #include - #include - --- -2.7.0 - diff --git a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb index d0eb2768d..953505971 100644 --- a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb +++ b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb @@ -9,7 +9,6 @@ DEPENDS = "avahi" PR = "r7" SRC_URI = "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-${PV}.tar.gz \ - file://0001-check-for-nss.h.patch \ " SRC_URI[md5sum] = "03938f17646efbb50aa70ba5f99f51d7" @@ -21,6 +20,8 @@ localstatedir = "/" inherit autotools +COMPATIBLE_HOST_libc-musl = 'null' + EXTRA_OECONF = "--libdir=${base_libdir} --disable-lynx --enable-avahi" # suppress warning, but don't bother with autonamer diff --git a/poky/meta/recipes-connectivity/ofono/ofono.inc b/poky/meta/recipes-connectivity/ofono/ofono.inc index 0472414b1..e1185c6e6 100644 --- a/poky/meta/recipes-connectivity/ofono/ofono.inc +++ b/poky/meta/recipes-connectivity/ofono/ofono.inc @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ inherit autotools pkgconfig update-rc.d systemd bluetooth gobject-introspection-data -DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info" +DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell" INITSCRIPT_NAME = "ofono" INITSCRIPT_PARAMS = "defaults 22" @@ -19,7 +19,7 @@ PACKAGECONFIG ??= "\ PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir=" PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, ${BLUEZ}" -EXTRA_OECONF += "--enable-test" +EXTRA_OECONF += "--enable-test --enable-external-ell" SYSTEMD_SERVICE_${PN} = "ofono.service" diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch new file mode 100644 index 000000000..77073ddb1 --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch @@ -0,0 +1,50 @@ +From eeaf8dac80f15a2b7c18d1d4ee63106973a6a873 Mon Sep 17 00:00:00 2001 +From: Adrian Bunk +Date: Tue, 21 May 2019 14:13:35 +0300 +Subject: Makefile.am: Don't overwrite src_ofonod_DEPENDENCIES + +src_ofonod_DEPENDENCIES did overwrite the dependencies +automatically generated from src_ofonod_LDADD with +incomplete dependencies. + +This fixes the following build error: +... + CCLD src/ofonod +libtool: error: cannot find the library 'gdbus/libgdbus-internal.la' or unhandled argument 'gdbus/libgdbus-internal.la' +make: *** [Makefile:3448: src/ofonod] Error 1 + +Upstream-Status: Submitted +Signed-off-by: Adrian Bunk +--- + Makefile.am | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index d2e310d5..5edc4488 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -6,12 +6,10 @@ noinst_LTLIBRARIES = + if EXTERNAL_ELL + ell_cflags = @ELL_CFLAGS@ + ell_ldadd = @ELL_LIBS@ +-ell_dependencies = + ell_built_sources = + else + ell_cflags = + ell_ldadd = ell/libell-internal.la +-ell_dependencies = $(ell_ldadd) + ell_built_sources = ell/internal ell/ell.h + + noinst_LTLIBRARIES += ell/libell-internal.la +@@ -729,8 +727,6 @@ src_ofonod_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) $(ell_ldadd) \ + src_ofonod_LDFLAGS = -Wl,--export-dynamic \ + -Wl,--version-script=$(srcdir)/src/ofono.ver + +-src_ofonod_DEPENDENCIES = $(ell_dependencies) +- + BUILT_SOURCES = $(local_headers) $(ell_built_sources) src/builtin.h + + CLEANFILES = $(BUILT_SOURCES) $(rules_DATA) +-- +2.20.1 + diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch new file mode 100644 index 000000000..f9858e7f2 --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch @@ -0,0 +1,36 @@ +From 48e31f9fc3cf3c486c3d27a67b2687f6df0c5c71 Mon Sep 17 00:00:00 2001 +From: Denis Kenzior +Date: Thu, 16 May 2019 15:10:53 -0500 +Subject: main: Quiet ld errors with external ell + +When oFono is built with --enable-external-ell, the compiler for some +reason does not generate a debug section on some systems. This is due +to the fact that l_debug is never called. However, ell also does not +call l_debug, yet when built-in ell is used, the section is created by +the compiler. + +For now work around this by adding a no-op l_debug() call in main.c. +The real fix is to migrate all of the oFono logging functionality to use +ell instead. + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk +--- + src/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/main.c b/src/main.c +index 8623a060..4529cde1 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -236,6 +236,7 @@ int main(int argc, char **argv) + event_loop = g_main_loop_new(NULL, FALSE); + + l_log_set_stderr(); ++ l_debug(""); + l_debug_enable("*"); + l_main_init(); + +-- +2.20.1 + diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch new file mode 100644 index 000000000..8a5a300ad --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch @@ -0,0 +1,36 @@ +From 22b52db4842611ac31a356f023fc09595384e2ad Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 23 May 2019 18:11:22 -0700 +Subject: [PATCH] mbim: add an optional TEMP_FAILURE_RETRY macro copy + +Fixes build on musl which does not provide this macro + +Upstream-Status: Submitted [https://lists.ofono.org/pipermail/ofono/2019-May/019370.html] +Signed-off-by: Khem Raj +--- + drivers/mbimmodem/mbim-private.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/drivers/mbimmodem/mbim-private.h b/drivers/mbimmodem/mbim-private.h +index e159235..51693ea 100644 +--- a/drivers/mbimmodem/mbim-private.h ++++ b/drivers/mbimmodem/mbim-private.h +@@ -21,6 +21,15 @@ + + #define align_len(len, boundary) (((len)+(boundary)-1) & ~((boundary)-1)) + ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(expression) ({ \ ++ __typeof(expression) __result; \ ++ do { \ ++ __result = (expression); \ ++ } while (__result == -1 && errno == EINTR); \ ++ __result; }) ++#endif ++ + enum mbim_control_message { + MBIM_OPEN_MSG = 0x1, + MBIM_CLOSE_MSG = 0x2, +-- +2.21.0 + diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb index a22b99a72..900a6d26d 100644 --- a/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb +++ b/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb @@ -5,6 +5,9 @@ SRC_URI = "\ file://ofono \ file://0001-build-Fix-a-race-condition.patch \ file://0001-build-Add-check-for-explicit_bzero-support.patch \ + file://0001-main-Quiet-ld-errors-with-external-ell.patch \ + file://0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch \ + file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \ " SRC_URI[md5sum] = "4fa0372630ff03f223452e4d05efa8f8" SRC_URI[sha256sum] = "67f0f8e5740dea5b46309e40667d1e560be39c90ef08dd01ff9e9ce8e61f0679" diff --git a/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch b/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch deleted file mode 100644 index 4c9d57442..000000000 --- a/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 5df934e2279e8ed1f07b990f4b2b3baf6470f7e5 Mon Sep 17 00:00:00 2001 -From: "dtucker@openbsd.org" -Date: Thu, 24 Jan 2019 16:52:17 +0000 -Subject: [PATCH] upstream: Have progressmeter force an update at the beginning - and - -end of each transfer. Fixes the problem recently introduces where very quick -transfers do not display the progressmeter at all. Spotted by naddy@ - -OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a -Upstream-Status: Backport -Signed-off-by: Anuj Mittal ---- - progressmeter.c | 13 +++++-------- - progressmeter.h | 4 ++-- - scp.c | 2 +- - sftp-client.c | 2 +- - 4 files changed, 9 insertions(+), 12 deletions(-) - -diff --git a/progressmeter.c b/progressmeter.c -index add462d..e385c12 100644 ---- a/progressmeter.c -+++ b/progressmeter.c -@@ -1,4 +1,4 @@ --/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */ -+/* $OpenBSD: progressmeter.c,v 1.47 2019/01/24 16:52:17 dtucker Exp $ */ - /* - * Copyright (c) 2003 Nils Nordman. All rights reserved. - * -@@ -59,9 +59,6 @@ static void format_rate(char *, int, off_t); - static void sig_winch(int); - static void setscreensize(void); - --/* updates the progressmeter to reflect the current state of the transfer */ --void refresh_progress_meter(void); -- - /* signal handler for updating the progress meter */ - static void sig_alarm(int); - -@@ -120,7 +117,7 @@ format_size(char *buf, int size, off_t bytes) - } - - void --refresh_progress_meter(void) -+refresh_progress_meter(int force_update) - { - char buf[MAX_WINSIZE + 1]; - off_t transferred; -@@ -131,7 +128,7 @@ refresh_progress_meter(void) - int hours, minutes, seconds; - int file_len; - -- if ((!alarm_fired && !win_resized) || !can_output()) -+ if ((!force_update && !alarm_fired && !win_resized) || !can_output()) - return; - alarm_fired = 0; - -@@ -254,7 +251,7 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr) - bytes_per_second = 0; - - setscreensize(); -- refresh_progress_meter(); -+ refresh_progress_meter(1); - - signal(SIGALRM, sig_alarm); - signal(SIGWINCH, sig_winch); -@@ -271,7 +268,7 @@ stop_progress_meter(void) - - /* Ensure we complete the progress */ - if (cur_pos != end_pos) -- refresh_progress_meter(); -+ refresh_progress_meter(1); - - atomicio(vwrite, STDOUT_FILENO, "\n", 1); - } -diff --git a/progressmeter.h b/progressmeter.h -index 8f66780..1703ea7 100644 ---- a/progressmeter.h -+++ b/progressmeter.h -@@ -1,4 +1,4 @@ --/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */ -+/* $OpenBSD: progressmeter.h,v 1.5 2019/01/24 16:52:17 dtucker Exp $ */ - /* - * Copyright (c) 2002 Nils Nordman. All rights reserved. - * -@@ -24,5 +24,5 @@ - */ - - void start_progress_meter(const char *, off_t, off_t *); --void refresh_progress_meter(void); -+void refresh_progress_meter(int); - void stop_progress_meter(void); -diff --git a/scp.c b/scp.c -index 4a342a6..0587cec 100644 ---- a/scp.c -+++ b/scp.c -@@ -585,7 +585,7 @@ scpio(void *_cnt, size_t s) - off_t *cnt = (off_t *)_cnt; - - *cnt += s; -- refresh_progress_meter(); -+ refresh_progress_meter(0); - if (limit_kbps > 0) - bandwidth_limit(&bwlimit, s); - return 0; -diff --git a/sftp-client.c b/sftp-client.c -index 2bc698f..cf2887a 100644 ---- a/sftp-client.c -+++ b/sftp-client.c -@@ -101,7 +101,7 @@ sftpio(void *_bwlimit, size_t amount) - { - struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit; - -- refresh_progress_meter(); -+ refresh_progress_meter(0); - if (bwlimit != NULL) - bandwidth_limit(bwlimit, amount); - return 0; --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch deleted file mode 100644 index c5b3baece..000000000 --- a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 6010c0303a422a9c5fa8860c061bf7105eb7f8b2 Mon Sep 17 00:00:00 2001 -From: "djm@openbsd.org" -Date: Fri, 16 Nov 2018 03:03:10 +0000 -Subject: [PATCH] upstream: disallow empty incoming filename or ones that refer - to the - -current directory; based on report/patch from Harry Sintonen - -OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9 - -CVE: CVE-2018-20685 -Upstream-Status: Backport -Signed-off-by: Anuj Mittal ---- - scp.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/scp.c b/scp.c -index 60682c6..4f3fdcd 100644 ---- a/scp.c -+++ b/scp.c -@@ -1,4 +1,4 @@ --/* $OpenBSD: scp.c,v 1.197 2018/06/01 04:31:48 dtucker Exp $ */ -+/* $OpenBSD: scp.c,v 1.198 2018/11/16 03:03:10 djm Exp $ */ - /* - * scp - secure remote copy. This is basically patched BSD rcp which - * uses ssh to do the data transfer (instead of using rcmd). -@@ -1106,7 +1106,8 @@ sink(int argc, char **argv) - SCREWUP("size out of range"); - size = (off_t)ull; - -- if ((strchr(cp, '/') != NULL) || (strcmp(cp, "..") == 0)) { -+ if (*cp == '\0' || strchr(cp, '/') != NULL || -+ strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) { - run_err("error: unexpected filename: %s", cp); - exit(1); - } --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch deleted file mode 100644 index dabe4a6c9..000000000 --- a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch +++ /dev/null @@ -1,275 +0,0 @@ -From 15d47c3bd8551521240bc459fc004c280daef817 Mon Sep 17 00:00:00 2001 -From: "dtucker@openbsd.org" -Date: Wed, 23 Jan 2019 08:01:46 +0000 -Subject: [PATCH] upstream: Sanitize scp filenames via snmprintf. To do this we - move - -the progressmeter formatting outside of signal handler context and have the -atomicio callback called for EINTR too. bz#2434 with contributions from djm -and jjelen at redhat.com, ok djm@ - -OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8 -CVE: CVE-2019-6109 -Upstream-Status: Backport -Signed-off-by: Anuj Mittal ---- - atomicio.c | 20 +++++++++++++++----- - progressmeter.c | 53 ++++++++++++++++++++++++----------------------------- - progressmeter.h | 3 ++- - scp.c | 1 + - sftp-client.c | 16 +++++++++------- - 5 files changed, 51 insertions(+), 42 deletions(-) - -diff --git a/atomicio.c b/atomicio.c -index f854a06..d91bd76 100644 ---- a/atomicio.c -+++ b/atomicio.c -@@ -1,4 +1,4 @@ --/* $OpenBSD: atomicio.c,v 1.28 2016/07/27 23:18:12 djm Exp $ */ -+/* $OpenBSD: atomicio.c,v 1.29 2019/01/23 08:01:46 dtucker Exp $ */ - /* - * Copyright (c) 2006 Damien Miller. All rights reserved. - * Copyright (c) 2005 Anil Madhavapeddy. All rights reserved. -@@ -65,9 +65,14 @@ atomicio6(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n, - res = (f) (fd, s + pos, n - pos); - switch (res) { - case -1: -- if (errno == EINTR) -+ if (errno == EINTR) { -+ /* possible SIGALARM, update callback */ -+ if (cb != NULL && cb(cb_arg, 0) == -1) { -+ errno = EINTR; -+ return pos; -+ } - continue; -- if (errno == EAGAIN || errno == EWOULDBLOCK) { -+ } else if (errno == EAGAIN || errno == EWOULDBLOCK) { - #ifndef BROKEN_READ_COMPARISON - (void)poll(&pfd, 1, -1); - #endif -@@ -122,9 +127,14 @@ atomiciov6(ssize_t (*f) (int, const struct iovec *, int), int fd, - res = (f) (fd, iov, iovcnt); - switch (res) { - case -1: -- if (errno == EINTR) -+ if (errno == EINTR) { -+ /* possible SIGALARM, update callback */ -+ if (cb != NULL && cb(cb_arg, 0) == -1) { -+ errno = EINTR; -+ return pos; -+ } - continue; -- if (errno == EAGAIN || errno == EWOULDBLOCK) { -+ } else if (errno == EAGAIN || errno == EWOULDBLOCK) { - #ifndef BROKEN_READV_COMPARISON - (void)poll(&pfd, 1, -1); - #endif -diff --git a/progressmeter.c b/progressmeter.c -index fe9bf52..add462d 100644 ---- a/progressmeter.c -+++ b/progressmeter.c -@@ -1,4 +1,4 @@ --/* $OpenBSD: progressmeter.c,v 1.45 2016/06/30 05:17:05 dtucker Exp $ */ -+/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */ - /* - * Copyright (c) 2003 Nils Nordman. All rights reserved. - * -@@ -31,6 +31,7 @@ - - #include - #include -+#include - #include - #include - #include -@@ -39,6 +40,7 @@ - #include "progressmeter.h" - #include "atomicio.h" - #include "misc.h" -+#include "utf8.h" - - #define DEFAULT_WINSIZE 80 - #define MAX_WINSIZE 512 -@@ -61,7 +63,7 @@ static void setscreensize(void); - void refresh_progress_meter(void); - - /* signal handler for updating the progress meter */ --static void update_progress_meter(int); -+static void sig_alarm(int); - - static double start; /* start progress */ - static double last_update; /* last progress update */ -@@ -74,6 +76,7 @@ static long stalled; /* how long we have been stalled */ - static int bytes_per_second; /* current speed in bytes per second */ - static int win_size; /* terminal window size */ - static volatile sig_atomic_t win_resized; /* for window resizing */ -+static volatile sig_atomic_t alarm_fired; - - /* units for format_size */ - static const char unit[] = " KMGT"; -@@ -126,9 +129,17 @@ refresh_progress_meter(void) - off_t bytes_left; - int cur_speed; - int hours, minutes, seconds; -- int i, len; - int file_len; - -+ if ((!alarm_fired && !win_resized) || !can_output()) -+ return; -+ alarm_fired = 0; -+ -+ if (win_resized) { -+ setscreensize(); -+ win_resized = 0; -+ } -+ - transferred = *counter - (cur_pos ? cur_pos : start_pos); - cur_pos = *counter; - now = monotime_double(); -@@ -158,16 +169,11 @@ refresh_progress_meter(void) - - /* filename */ - buf[0] = '\0'; -- file_len = win_size - 35; -+ file_len = win_size - 36; - if (file_len > 0) { -- len = snprintf(buf, file_len + 1, "\r%s", file); -- if (len < 0) -- len = 0; -- if (len >= file_len + 1) -- len = file_len; -- for (i = len; i < file_len; i++) -- buf[i] = ' '; -- buf[file_len] = '\0'; -+ buf[0] = '\r'; -+ snmprintf(buf+1, sizeof(buf)-1 , &file_len, "%*s", -+ file_len * -1, file); - } - - /* percent of transfer done */ -@@ -228,22 +234,11 @@ refresh_progress_meter(void) - - /*ARGSUSED*/ - static void --update_progress_meter(int ignore) -+sig_alarm(int ignore) - { -- int save_errno; -- -- save_errno = errno; -- -- if (win_resized) { -- setscreensize(); -- win_resized = 0; -- } -- if (can_output()) -- refresh_progress_meter(); -- -- signal(SIGALRM, update_progress_meter); -+ signal(SIGALRM, sig_alarm); -+ alarm_fired = 1; - alarm(UPDATE_INTERVAL); -- errno = save_errno; - } - - void -@@ -259,10 +254,9 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr) - bytes_per_second = 0; - - setscreensize(); -- if (can_output()) -- refresh_progress_meter(); -+ refresh_progress_meter(); - -- signal(SIGALRM, update_progress_meter); -+ signal(SIGALRM, sig_alarm); - signal(SIGWINCH, sig_winch); - alarm(UPDATE_INTERVAL); - } -@@ -286,6 +280,7 @@ stop_progress_meter(void) - static void - sig_winch(int sig) - { -+ signal(SIGWINCH, sig_winch); - win_resized = 1; - } - -diff --git a/progressmeter.h b/progressmeter.h -index bf179dc..8f66780 100644 ---- a/progressmeter.h -+++ b/progressmeter.h -@@ -1,4 +1,4 @@ --/* $OpenBSD: progressmeter.h,v 1.3 2015/01/14 13:54:13 djm Exp $ */ -+/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */ - /* - * Copyright (c) 2002 Nils Nordman. All rights reserved. - * -@@ -24,4 +24,5 @@ - */ - - void start_progress_meter(const char *, off_t, off_t *); -+void refresh_progress_meter(void); - void stop_progress_meter(void); -diff --git a/scp.c b/scp.c -index 4f3fdcd..4a342a6 100644 ---- a/scp.c -+++ b/scp.c -@@ -585,6 +585,7 @@ scpio(void *_cnt, size_t s) - off_t *cnt = (off_t *)_cnt; - - *cnt += s; -+ refresh_progress_meter(); - if (limit_kbps > 0) - bandwidth_limit(&bwlimit, s); - return 0; -diff --git a/sftp-client.c b/sftp-client.c -index 4986d6d..2bc698f 100644 ---- a/sftp-client.c -+++ b/sftp-client.c -@@ -101,7 +101,9 @@ sftpio(void *_bwlimit, size_t amount) - { - struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit; - -- bandwidth_limit(bwlimit, amount); -+ refresh_progress_meter(); -+ if (bwlimit != NULL) -+ bandwidth_limit(bwlimit, amount); - return 0; - } - -@@ -121,8 +123,8 @@ send_msg(struct sftp_conn *conn, struct sshbuf *m) - iov[1].iov_base = (u_char *)sshbuf_ptr(m); - iov[1].iov_len = sshbuf_len(m); - -- if (atomiciov6(writev, conn->fd_out, iov, 2, -- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_out) != -+ if (atomiciov6(writev, conn->fd_out, iov, 2, sftpio, -+ conn->limit_kbps > 0 ? &conn->bwlimit_out : NULL) != - sshbuf_len(m) + sizeof(mlen)) - fatal("Couldn't send packet: %s", strerror(errno)); - -@@ -138,8 +140,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial) - - if ((r = sshbuf_reserve(m, 4, &p)) != 0) - fatal("%s: buffer error: %s", __func__, ssh_err(r)); -- if (atomicio6(read, conn->fd_in, p, 4, -- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) != 4) { -+ if (atomicio6(read, conn->fd_in, p, 4, sftpio, -+ conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) != 4) { - if (errno == EPIPE || errno == ECONNRESET) - fatal("Connection closed"); - else -@@ -157,8 +159,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial) - - if ((r = sshbuf_reserve(m, msg_len, &p)) != 0) - fatal("%s: buffer error: %s", __func__, ssh_err(r)); -- if (atomicio6(read, conn->fd_in, p, msg_len, -- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) -+ if (atomicio6(read, conn->fd_in, p, msg_len, sftpio, -+ conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) - != msg_len) { - if (errno == EPIPE) - fatal("Connection closed"); --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch deleted file mode 100644 index e498da381..000000000 --- a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch +++ /dev/null @@ -1,187 +0,0 @@ -From 15cc3497367d2e9729353b3df75518548e845c82 Mon Sep 17 00:00:00 2001 -From: "djm@openbsd.org" -Date: Sat, 26 Jan 2019 22:41:28 +0000 -Subject: [PATCH] upstream: check in scp client that filenames sent during - -remote->local directory copies satisfy the wildcard specified by the user. - -This checking provides some protection against a malicious server -sending unexpected filenames, but it comes at a risk of rejecting wanted -files due to differences between client and server wildcard expansion rules. - -For this reason, this also adds a new -T flag to disable the check. - -reported by Harry Sintonen -fix approach suggested by markus@; -has been in snaps for ~1wk courtesy deraadt@ - -OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda - -CVE: CVE-2019-6111 -Upstream-Status: Backport -Signed-off-by: Anuj Mittal ---- - scp.1 | 12 +++++++++++- - scp.c | 37 +++++++++++++++++++++++++++++-------- - 2 files changed, 40 insertions(+), 9 deletions(-) - -diff --git a/scp.1 b/scp.1 -index 0e5cc1b..397e770 100644 ---- a/scp.1 -+++ b/scp.1 -@@ -18,7 +18,7 @@ - .Nd secure copy (remote file copy program) - .Sh SYNOPSIS - .Nm scp --.Op Fl 346BCpqrv -+.Op Fl 346BCpqrTv - .Op Fl c Ar cipher - .Op Fl F Ar ssh_config - .Op Fl i Ar identity_file -@@ -208,6 +208,16 @@ to use for the encrypted connection. - The program must understand - .Xr ssh 1 - options. -+.It Fl T -+Disable strict filename checking. -+By default when copying files from a remote host to a local directory -+.Nm -+checks that the received filenames match those requested on the command-line -+to prevent the remote end from sending unexpected or unwanted files. -+Because of differences in how various operating systems and shells interpret -+filename wildcards, these checks may cause wanted files to be rejected. -+This option disables these checks at the expense of fully trusting that -+the server will not send unexpected filenames. - .It Fl v - Verbose mode. - Causes -diff --git a/scp.c b/scp.c -index 0587cec..b2d331e 100644 ---- a/scp.c -+++ b/scp.c -@@ -94,6 +94,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -375,14 +376,14 @@ void verifydir(char *); - struct passwd *pwd; - uid_t userid; - int errs, remin, remout; --int pflag, iamremote, iamrecursive, targetshouldbedirectory; -+int Tflag, pflag, iamremote, iamrecursive, targetshouldbedirectory; - - #define CMDNEEDS 64 - char cmd[CMDNEEDS]; /* must hold "rcp -r -p -d\0" */ - - int response(void); - void rsource(char *, struct stat *); --void sink(int, char *[]); -+void sink(int, char *[], const char *); - void source(int, char *[]); - void tolocal(int, char *[]); - void toremote(int, char *[]); -@@ -421,8 +422,9 @@ main(int argc, char **argv) - addargs(&args, "-oRemoteCommand=none"); - addargs(&args, "-oRequestTTY=no"); - -- fflag = tflag = 0; -- while ((ch = getopt(argc, argv, "dfl:prtvBCc:i:P:q12346S:o:F:")) != -1) -+ fflag = Tflag = tflag = 0; -+ while ((ch = getopt(argc, argv, -+ "dfl:prtTvBCc:i:P:q12346S:o:F:")) != -1) { - switch (ch) { - /* User-visible flags. */ - case '1': -@@ -501,9 +503,13 @@ main(int argc, char **argv) - setmode(0, O_BINARY); - #endif - break; -+ case 'T': -+ Tflag = 1; -+ break; - default: - usage(); - } -+ } - argc -= optind; - argv += optind; - -@@ -534,7 +540,7 @@ main(int argc, char **argv) - } - if (tflag) { - /* Receive data. */ -- sink(argc, argv); -+ sink(argc, argv, NULL); - exit(errs != 0); - } - if (argc < 2) -@@ -792,7 +798,7 @@ tolocal(int argc, char **argv) - continue; - } - free(bp); -- sink(1, argv + argc - 1); -+ sink(1, argv + argc - 1, src); - (void) close(remin); - remin = remout = -1; - } -@@ -968,7 +974,7 @@ rsource(char *name, struct stat *statp) - (sizeof(type) != 4 && sizeof(type) != 8)) - - void --sink(int argc, char **argv) -+sink(int argc, char **argv, const char *src) - { - static BUF buffer; - struct stat stb; -@@ -984,6 +990,7 @@ sink(int argc, char **argv) - unsigned long long ull; - int setimes, targisdir, wrerrno = 0; - char ch, *cp, *np, *targ, *why, *vect[1], buf[2048], visbuf[2048]; -+ char *src_copy = NULL, *restrict_pattern = NULL; - struct timeval tv[2]; - - #define atime tv[0] -@@ -1008,6 +1015,17 @@ sink(int argc, char **argv) - (void) atomicio(vwrite, remout, "", 1); - if (stat(targ, &stb) == 0 && S_ISDIR(stb.st_mode)) - targisdir = 1; -+ if (src != NULL && !iamrecursive && !Tflag) { -+ /* -+ * Prepare to try to restrict incoming filenames to match -+ * the requested destination file glob. -+ */ -+ if ((src_copy = strdup(src)) == NULL) -+ fatal("strdup failed"); -+ if ((restrict_pattern = strrchr(src_copy, '/')) != NULL) { -+ *restrict_pattern++ = '\0'; -+ } -+ } - for (first = 1;; first = 0) { - cp = buf; - if (atomicio(read, remin, cp, 1) != 1) -@@ -1112,6 +1130,9 @@ sink(int argc, char **argv) - run_err("error: unexpected filename: %s", cp); - exit(1); - } -+ if (restrict_pattern != NULL && -+ fnmatch(restrict_pattern, cp, 0) != 0) -+ SCREWUP("filename does not match request"); - if (targisdir) { - static char *namebuf; - static size_t cursize; -@@ -1149,7 +1170,7 @@ sink(int argc, char **argv) - goto bad; - } - vect[0] = xstrdup(np); -- sink(1, vect); -+ sink(1, vect, src); - if (setimes) { - setimes = 0; - if (utimes(vect[0], tv) < 0) --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch b/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch index 7e043a2db..20036da93 100644 --- a/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch +++ b/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch @@ -11,14 +11,17 @@ would lead to program abort. Upstream-Status: Submitted [http://bugzilla.mindrot.org/show_bug.cgi?id=2608] Signed-off-by: Yuanjie Huang + +Complete the fix +Signed-off-by: Hongxu Jia --- - openbsd-compat/strlcat.c | 8 ++++++-- - openbsd-compat/strlcpy.c | 8 ++++++-- - openbsd-compat/strnlen.c | 8 ++++++-- - 3 files changed, 18 insertions(+), 6 deletions(-) + openbsd-compat/strlcat.c | 10 +++++++--- + openbsd-compat/strlcpy.c | 8 ++++++-- + openbsd-compat/strnlen.c | 8 ++++++-- + 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/openbsd-compat/strlcat.c b/openbsd-compat/strlcat.c -index bcc1b61..e758ebf 100644 +index bcc1b61..124e1e3 100644 --- a/openbsd-compat/strlcat.c +++ b/openbsd-compat/strlcat.c @@ -23,6 +23,7 @@ @@ -29,6 +32,15 @@ index bcc1b61..e758ebf 100644 /* * Appends src to string dst of size siz (unlike strncat, siz is the +@@ -42,7 +43,7 @@ strlcat(char *dst, const char *src, size_t siz) + /* Find the end of dst and adjust bytes left but don't go past end */ + while (n-- != 0 && *d != '\0') + d++; +- dlen = d - dst; ++ dlen = (uintptr_t)d - (uintptr_t)dst; + n = siz - dlen; + + if (n == 0) @@ -55,8 +56,11 @@ strlcat(char *dst, const char *src, size_t siz) s++; } @@ -70,7 +82,7 @@ index b4b1b60..b06f374 100644 #endif /* !HAVE_STRLCPY */ diff --git a/openbsd-compat/strnlen.c b/openbsd-compat/strnlen.c -index 93d5155..9b8de5d 100644 +index 7ad3573..7040f1f 100644 --- a/openbsd-compat/strnlen.c +++ b/openbsd-compat/strnlen.c @@ -23,6 +23,7 @@ @@ -95,5 +107,5 @@ index 93d5155..9b8de5d 100644 } #endif -- -1.9.1 +2.17.1 diff --git a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb deleted file mode 100644 index 3b4ed7223..000000000 --- a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb +++ /dev/null @@ -1,167 +0,0 @@ -SUMMARY = "A suite of security-related network utilities based on \ -the SSH protocol including the ssh client and sshd server" -DESCRIPTION = "Secure rlogin/rsh/rcp/telnet replacement (OpenSSH) \ -Ssh (Secure Shell) is a program for logging into a remote machine \ -and for executing commands on a remote machine." -HOMEPAGE = "http://www.openssh.com/" -SECTION = "console/network" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8" - -DEPENDS = "zlib openssl" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" - -SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \ - file://sshd_config \ - file://ssh_config \ - file://init \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ - file://sshd.socket \ - file://sshd@.service \ - file://sshdgenkeys.service \ - file://volatiles.99_sshd \ - file://run-ptest \ - file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \ - file://sshd_check_keys \ - file://add-test-support-for-busybox.patch \ - file://CVE-2018-20685.patch \ - file://CVE-2019-6109.patch \ - file://0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch \ - file://CVE-2019-6111.patch \ - " -SRC_URI[md5sum] = "c6af50b7a474d04726a5aa747a5dce8f" -SRC_URI[sha256sum] = "6b4b3ba2253d84ed3771c8050728d597c91cfce898713beb7b64a305b6f11aad" - -PAM_SRC_URI = "file://sshd" - -inherit useradd update-rc.d update-alternatives systemd - -USERADD_PACKAGES = "${PN}-sshd" -USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd" -INITSCRIPT_PACKAGES = "${PN}-sshd" -INITSCRIPT_NAME_${PN}-sshd = "sshd" -INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9" - -SYSTEMD_PACKAGES = "${PN}-sshd" -SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket" - -inherit autotools-brokensep ptest - -EXTRA_AUTORECONF += "--exclude=aclocal" - -# login path is hardcoded in sshd -EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ - --without-zlib-version-check \ - --with-privsep-path=${localstatedir}/run/sshd \ - --sysconfdir=${sysconfdir}/ssh \ - --with-xauth=${bindir}/xauth \ - --disable-strip \ - " - -# musl doesn't implement wtmp/utmp -EXTRA_OECONF_append_libc-musl = " --disable-wtmp" - -# Since we do not depend on libbsd, we do not want configure to use it -# just because it finds libutil.h. But, specifying --disable-libutil -# causes compile errors, so... -CACHED_CONFIGUREVARS += "ac_cv_header_bsd_libutil_h=no ac_cv_header_libutil_h=no" - -# passwd path is hardcoded in sshd -CACHED_CONFIGUREVARS += "ac_cv_path_PATH_PASSWD_PROG=${bindir}/passwd" - -# We don't want to depend on libblockfile -CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no" - -do_configure_prepend () { - export LD="${CC}" - install -m 0644 ${WORKDIR}/sshd_config ${B}/ - install -m 0644 ${WORKDIR}/ssh_config ${B}/ -} - -do_compile_ptest() { - # skip regress/unittests/ binaries: this will silently skip - # unittests in run-ptests which is good because they are so slow. - oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \ - regress/check-perm regress/mkdtemp -} - -do_install_append () { - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then - install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd - sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config - fi - - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then - sed -i -e 's:#X11Forwarding no:X11Forwarding yes:' ${D}${sysconfdir}/ssh/sshd_config - fi - - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd - rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin - rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir} - install -d ${D}/${sysconfdir}/default/volatiles - install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd - install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir} - - # Create config files for read-only rootfs - install -d ${D}${sysconfdir}/ssh - install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly - sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly - echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly - echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly - echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly - - install -d ${D}${systemd_unitdir}/system - install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system - install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system - install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system - sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - -e 's,@BINDIR@,${bindir},g' \ - -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ - ${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service - - sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ - ${D}${sysconfdir}/init.d/sshd - - install -D -m 0755 ${WORKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys -} - -do_install_ptest () { - sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libexecdir}/sftp-server|" regress/test-exec.sh - cp -r regress ${D}${PTEST_PATH} -} - -ALLOW_EMPTY_${PN} = "1" - -PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server" -FILES_${PN}-scp = "${bindir}/scp.${BPN}" -FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config" -FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system" -FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd" -FILES_${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys" -FILES_${PN}-sftp = "${bindir}/sftp" -FILES_${PN}-sftp-server = "${libexecdir}/sftp-server" -FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*" -FILES_${PN}-keygen = "${bindir}/ssh-keygen" - -RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen" -RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}" -RRECOMMENDS_${PN}-sshd_append_class-target = " rng-tools" -RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed" - -RPROVIDES_${PN}-ssh = "ssh" -RPROVIDES_${PN}-sshd = "sshd" - -RCONFLICTS_${PN} = "dropbear" -RCONFLICTS_${PN}-sshd = "dropbear" - -CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config" -CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config" - -ALTERNATIVE_PRIORITY = "90" -ALTERNATIVE_${PN}-scp = "scp" -ALTERNATIVE_${PN}-ssh = "ssh" - -BBCLASSEXTEND += "nativesdk" diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb new file mode 100644 index 000000000..0a5c2ffae --- /dev/null +++ b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb @@ -0,0 +1,164 @@ +SUMMARY = "A suite of security-related network utilities based on \ +the SSH protocol including the ssh client and sshd server" +DESCRIPTION = "Secure rlogin/rsh/rcp/telnet replacement (OpenSSH) \ +Ssh (Secure Shell) is a program for logging into a remote machine \ +and for executing commands on a remote machine." +HOMEPAGE = "http://www.openssh.com/" +SECTION = "console/network" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8" + +DEPENDS = "zlib openssl" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \ + file://sshd_config \ + file://ssh_config \ + file://init \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ + file://sshd.socket \ + file://sshd@.service \ + file://sshdgenkeys.service \ + file://volatiles.99_sshd \ + file://run-ptest \ + file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \ + file://sshd_check_keys \ + file://add-test-support-for-busybox.patch \ + " +SRC_URI[md5sum] = "bf050f002fe510e1daecd39044e1122d" +SRC_URI[sha256sum] = "bd943879e69498e8031eb6b7f44d08cdc37d59a7ab689aa0b437320c3481fd68" + +PAM_SRC_URI = "file://sshd" + +inherit useradd update-rc.d update-alternatives systemd + +USERADD_PACKAGES = "${PN}-sshd" +USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd" +INITSCRIPT_PACKAGES = "${PN}-sshd" +INITSCRIPT_NAME_${PN}-sshd = "sshd" +INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9" + +SYSTEMD_PACKAGES = "${PN}-sshd" +SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket" + +inherit autotools-brokensep ptest + +EXTRA_AUTORECONF += "--exclude=aclocal" + +# login path is hardcoded in sshd +EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ + --without-zlib-version-check \ + --with-privsep-path=${localstatedir}/run/sshd \ + --sysconfdir=${sysconfdir}/ssh \ + --with-xauth=${bindir}/xauth \ + --disable-strip \ + " + +# musl doesn't implement wtmp/utmp +EXTRA_OECONF_append_libc-musl = " --disable-wtmp" + +# Since we do not depend on libbsd, we do not want configure to use it +# just because it finds libutil.h. But, specifying --disable-libutil +# causes compile errors, so... +CACHED_CONFIGUREVARS += "ac_cv_header_bsd_libutil_h=no ac_cv_header_libutil_h=no" + +# passwd path is hardcoded in sshd +CACHED_CONFIGUREVARS += "ac_cv_path_PATH_PASSWD_PROG=${bindir}/passwd" + +# We don't want to depend on libblockfile +CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no" + +do_configure_prepend () { + export LD="${CC}" + install -m 0644 ${WORKDIR}/sshd_config ${B}/ + install -m 0644 ${WORKDIR}/ssh_config ${B}/ +} + +do_compile_ptest() { + # skip regress/unittests/ binaries: this will silently skip + # unittests in run-ptests which is good because they are so slow. + oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \ + regress/check-perm regress/mkdtemp +} + +do_install_append () { + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then + install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd + sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config + fi + + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then + sed -i -e 's:#X11Forwarding no:X11Forwarding yes:' ${D}${sysconfdir}/ssh/sshd_config + fi + + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd + rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin + rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir} + install -d ${D}/${sysconfdir}/default/volatiles + install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd + install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir} + + # Create config files for read-only rootfs + install -d ${D}${sysconfdir}/ssh + install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly + sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly + echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly + echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly + echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly + + install -d ${D}${systemd_unitdir}/system + install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system + install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system + install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@BINDIR@,${bindir},g' \ + -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ + ${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service + + sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ + ${D}${sysconfdir}/init.d/sshd + + install -D -m 0755 ${WORKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys +} + +do_install_ptest () { + sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libexecdir}/sftp-server|" regress/test-exec.sh + cp -r regress ${D}${PTEST_PATH} +} + +ALLOW_EMPTY_${PN} = "1" + +PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server" +FILES_${PN}-scp = "${bindir}/scp.${BPN}" +FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config" +FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system" +FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd" +FILES_${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys" +FILES_${PN}-sftp = "${bindir}/sftp" +FILES_${PN}-sftp-server = "${libexecdir}/sftp-server" +FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*" +FILES_${PN}-keygen = "${bindir}/ssh-keygen" + +RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen" +RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}" +RRECOMMENDS_${PN}-sshd_append_class-target = " rng-tools" +# gdb would make attach-ptrace test pass rather than skip but not worth the build dependencies +RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils" + +RPROVIDES_${PN}-ssh = "ssh" +RPROVIDES_${PN}-sshd = "sshd" + +RCONFLICTS_${PN} = "dropbear" +RCONFLICTS_${PN}-sshd = "dropbear" + +CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config" +CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config" + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_${PN}-scp = "scp" +ALTERNATIVE_${PN}-ssh = "ssh" + +BBCLASSEXTEND += "nativesdk" diff --git a/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch b/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch deleted file mode 100644 index 900ef97fc..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch +++ /dev/null @@ -1,69 +0,0 @@ -Upstream-Status: Backport [https://github.com/openssl/openssl/commit/f426625b6ae9a7831010750490a5f0ad689c5ba3] -Signed-off-by: Ross Burton - -From f426625b6ae9a7831010750490a5f0ad689c5ba3 Mon Sep 17 00:00:00 2001 -From: Matt Caswell -Date: Tue, 5 Mar 2019 14:39:15 +0000 -Subject: [PATCH] Prevent over long nonces in ChaCha20-Poly1305 - -ChaCha20-Poly1305 is an AEAD cipher, and requires a unique nonce input for -every encryption operation. RFC 7539 specifies that the nonce value (IV) -should be 96 bits (12 bytes). OpenSSL allows a variable nonce length and -front pads the nonce with 0 bytes if it is less than 12 bytes. However it -also incorrectly allows a nonce to be set of up to 16 bytes. In this case -only the last 12 bytes are significant and any additional leading bytes are -ignored. - -It is a requirement of using this cipher that nonce values are unique. -Messages encrypted using a reused nonce value are susceptible to serious -confidentiality and integrity attacks. If an application changes the -default nonce length to be longer than 12 bytes and then makes a change to -the leading bytes of the nonce expecting the new value to be a new unique -nonce then such an application could inadvertently encrypt messages with a -reused nonce. - -Additionally the ignored bytes in a long nonce are not covered by the -integrity guarantee of this cipher. Any application that relies on the -integrity of these ignored leading bytes of a long nonce may be further -affected. - -Any OpenSSL internal use of this cipher, including in SSL/TLS, is safe -because no such use sets such a long nonce value. However user -applications that use this cipher directly and set a non-default nonce -length to be longer than 12 bytes may be vulnerable. - -CVE: CVE-2019-1543 - -Fixes #8345 - -Reviewed-by: Paul Dale -Reviewed-by: Richard Levitte -(Merged from https://github.com/openssl/openssl/pull/8406) - -(cherry picked from commit 2a3d0ee9d59156c48973592331404471aca886d6) ---- - crypto/evp/e_chacha20_poly1305.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/crypto/evp/e_chacha20_poly1305.c b/crypto/evp/e_chacha20_poly1305.c -index c1917bb86a6..d3e2c622a1b 100644 ---- a/crypto/evp/e_chacha20_poly1305.c -+++ b/crypto/evp/e_chacha20_poly1305.c -@@ -30,6 +30,8 @@ typedef struct { - - #define data(ctx) ((EVP_CHACHA_KEY *)(ctx)->cipher_data) - -+#define CHACHA20_POLY1305_MAX_IVLEN 12 -+ - static int chacha_init_key(EVP_CIPHER_CTX *ctx, - const unsigned char user_key[CHACHA_KEY_SIZE], - const unsigned char iv[CHACHA_CTR_SIZE], int enc) -@@ -533,7 +535,7 @@ static int chacha20_poly1305_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, - return 1; - - case EVP_CTRL_AEAD_SET_IVLEN: -- if (arg <= 0 || arg > CHACHA_CTR_SIZE) -+ if (arg <= 0 || arg > CHACHA20_POLY1305_MAX_IVLEN) - return 0; - actx->nonce_len = arg; - return 1; diff --git a/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch b/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch index 7c4b084f3..b7c0e9697 100644 --- a/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch +++ b/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch @@ -18,14 +18,14 @@ index 3baa8ce..9ef52ed 100755 - ($mi2) = $mi2 =~ /(\d+)/; - my $ver = $ma*10000 + $mi1*100 + $mi2; - if ($ver < $minver) { -- $disabled{afalgeng} = "too-old-kernel"; +- disable('too-old-kernel', 'afalgeng'); - } else { - push @{$config{engdirs}}, "afalg"; - } - } else { -- $disabled{afalgeng} = "cross-compiling"; +- disable('cross-compiling', 'afalgeng'); - } + push @{$config{engdirs}}, "afalg"; } else { - $disabled{afalgeng} = "not-linux"; + disable('not-linux', 'afalgeng'); } diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb deleted file mode 100644 index 8bb3a309a..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb +++ /dev/null @@ -1,202 +0,0 @@ -SUMMARY = "Secure Socket Layer" -DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools." -HOMEPAGE = "http://www.openssl.org/" -BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html" -SECTION = "libs/network" - -# "openssl" here actually means both OpenSSL and SSLeay licenses apply -# (see meta/files/common-licenses/OpenSSL to which "openssl" is SPDXLICENSEMAPped) -LICENSE = "openssl" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d343e62fc9c833710bbbed25f27364c8" - -DEPENDS = "hostperl-runtime-native" - -SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \ - file://run-ptest \ - file://0001-skip-test_symbol_presence.patch \ - file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \ - file://afalg.patch \ - file://CVE-2019-1543.patch \ - " - -SRC_URI_append_class-nativesdk = " \ - file://environment.d-openssl.sh \ - " - -SRC_URI[md5sum] = "4532712e7bcc9414f5bce995e4e13930" -SRC_URI[sha256sum] = "5c557b023230413dfb0756f3137a13e6d726838ccd1430888ad15bfb2b43ea4b" - -inherit lib_package multilib_header ptest - -PACKAGECONFIG ?= "" -PACKAGECONFIG_class-native = "" -PACKAGECONFIG_class-nativesdk = "" - -PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux" - -B = "${WORKDIR}/build" -do_configure[cleandirs] = "${B}" - -#| ./libcrypto.so: undefined reference to `getcontext' -#| ./libcrypto.so: undefined reference to `setcontext' -#| ./libcrypto.so: undefined reference to `makecontext' -EXTRA_OECONF_append_libc-musl = " no-async" -EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm" - -# This prevents openssl from using getrandom() which is not available on older glibc versions -# (native versions can be built with newer glibc, but then relocated onto a system with older glibc) -EXTRA_OECONF_class-native = "--with-rand-seed=devrandom" -EXTRA_OECONF_class-nativesdk = "--with-rand-seed=devrandom" - -# Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate. -CFLAGS_append_class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin" -CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin" - -do_configure () { - os=${HOST_OS} - case $os in - linux-gnueabi |\ - linux-gnuspe |\ - linux-musleabi |\ - linux-muslspe |\ - linux-musl ) - os=linux - ;; - *) - ;; - esac - target="$os-${HOST_ARCH}" - case $target in - linux-arm*) - target=linux-armv4 - ;; - linux-aarch64*) - target=linux-aarch64 - ;; - linux-i?86 | linux-viac3) - target=linux-x86 - ;; - linux-gnux32-x86_64 | linux-muslx32-x86_64 ) - target=linux-x32 - ;; - linux-gnu64-x86_64) - target=linux-x86_64 - ;; - linux-mips | linux-mipsel) - # specifying TARGET_CC_ARCH prevents openssl from (incorrectly) adding target architecture flags - target="linux-mips32 ${TARGET_CC_ARCH}" - ;; - linux-gnun32-mips*) - target=linux-mips64 - ;; - linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el) - target=linux64-mips64 - ;; - linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*) - target=linux-generic32 - ;; - linux-powerpc) - target=linux-ppc - ;; - linux-powerpc64) - target=linux-ppc64 - ;; - linux-riscv32) - target=linux-generic32 - ;; - linux-riscv64) - target=linux-generic64 - ;; - linux-sparc | linux-supersparc) - target=linux-sparcv9 - ;; - esac - - useprefix=${prefix} - if [ "x$useprefix" = "x" ]; then - useprefix=/ - fi - # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the - # environment variables set by bitbake. Adjust the environment variables instead. - PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \ - perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target - perl ${B}/configdata.pm --dump -} - -do_install () { - oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install - - oe_multilib_header openssl/opensslconf.h - - # Create SSL structure for packages such as ca-certificates which - # contain hard-coded paths to /etc/ssl. Debian does the same. - install -d ${D}${sysconfdir}/ssl - mv ${D}${libdir}/ssl-1.1/certs \ - ${D}${libdir}/ssl-1.1/private \ - ${D}${libdir}/ssl-1.1/openssl.cnf \ - ${D}${sysconfdir}/ssl/ - - # Although absolute symlinks would be OK for the target, they become - # invalid if native or nativesdk are relocated from sstate. - ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-1.1/certs - ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-1.1/private - ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-1.1/openssl.cnf -} - -do_install_append_class-native () { - create_wrapper ${D}${bindir}/openssl \ - OPENSSL_CONF=${libdir}/ssl-1.1/openssl.cnf \ - SSL_CERT_DIR=${libdir}/ssl-1.1/certs \ - SSL_CERT_FILE=${libdir}/ssl-1.1/cert.pem \ - OPENSSL_ENGINES=${libdir}/ssl-1.1/engines -} - -do_install_append_class-nativesdk () { - mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh - sed 's|/usr/lib/ssl/|/usr/lib/ssl-1.1/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh -} - -PTEST_BUILD_HOST_FILES += "configdata.pm" -PTEST_BUILD_HOST_PATTERN = "perl_version =" -do_install_ptest () { - # Prune the build tree - rm -f ${B}/fuzz/*.* ${B}/test/*.* - - cp ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH} - cp -r ${S}/external ${B}/test ${S}/test ${B}/fuzz ${S}/util ${B}/util ${D}${PTEST_PATH} - - # For test_shlibload - ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/libcrypto.so - ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/libssl.so - - install -d ${D}${PTEST_PATH}/apps - ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps - install -m644 ${S}/apps/*.pem ${S}/apps/*.srl ${S}/apps/openssl.cnf ${D}${PTEST_PATH}/apps - install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps - - install -d ${D}${PTEST_PATH}/engines - install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines -} - -# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto -# package RRECOMMENDS on this package. This will enable the configuration -# file to be installed for both the openssl-bin package and the libcrypto -# package since the openssl-bin package depends on the libcrypto package. - -PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc" - -FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}" -FILES_libssl = "${libdir}/libssl${SOLIBS}" -FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf" -FILES_${PN}-engines = "${libdir}/engines-1.1" -FILES_${PN}-misc = "${libdir}/ssl-1.1/misc" -FILES_${PN} =+ "${libdir}/ssl-1.1/*" -FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh" - -CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf" - -RRECOMMENDS_libcrypto += "openssl-conf" -RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb new file mode 100644 index 000000000..534be5754 --- /dev/null +++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb @@ -0,0 +1,201 @@ +SUMMARY = "Secure Socket Layer" +DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools." +HOMEPAGE = "http://www.openssl.org/" +BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html" +SECTION = "libs/network" + +# "openssl" here actually means both OpenSSL and SSLeay licenses apply +# (see meta/files/common-licenses/OpenSSL to which "openssl" is SPDXLICENSEMAPped) +LICENSE = "openssl" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d343e62fc9c833710bbbed25f27364c8" + +DEPENDS = "hostperl-runtime-native" + +SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \ + file://run-ptest \ + file://0001-skip-test_symbol_presence.patch \ + file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \ + file://afalg.patch \ + " + +SRC_URI_append_class-nativesdk = " \ + file://environment.d-openssl.sh \ + " + +SRC_URI[md5sum] = "15e21da6efe8aa0e0768ffd8cd37a5f6" +SRC_URI[sha256sum] = "f6fb3079ad15076154eda9413fed42877d668e7069d9b87396d0804fdb3f4c90" + +inherit lib_package multilib_header ptest + +PACKAGECONFIG ?= "" +PACKAGECONFIG_class-native = "" +PACKAGECONFIG_class-nativesdk = "" + +PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux" + +B = "${WORKDIR}/build" +do_configure[cleandirs] = "${B}" + +#| ./libcrypto.so: undefined reference to `getcontext' +#| ./libcrypto.so: undefined reference to `setcontext' +#| ./libcrypto.so: undefined reference to `makecontext' +EXTRA_OECONF_append_libc-musl = " no-async" +EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm" + +# This prevents openssl from using getrandom() which is not available on older glibc versions +# (native versions can be built with newer glibc, but then relocated onto a system with older glibc) +EXTRA_OECONF_class-native = "--with-rand-seed=devrandom" +EXTRA_OECONF_class-nativesdk = "--with-rand-seed=devrandom" + +# Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate. +CFLAGS_append_class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin" +CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin" + +do_configure () { + os=${HOST_OS} + case $os in + linux-gnueabi |\ + linux-gnuspe |\ + linux-musleabi |\ + linux-muslspe |\ + linux-musl ) + os=linux + ;; + *) + ;; + esac + target="$os-${HOST_ARCH}" + case $target in + linux-arm*) + target=linux-armv4 + ;; + linux-aarch64*) + target=linux-aarch64 + ;; + linux-i?86 | linux-viac3) + target=linux-x86 + ;; + linux-gnux32-x86_64 | linux-muslx32-x86_64 ) + target=linux-x32 + ;; + linux-gnu64-x86_64) + target=linux-x86_64 + ;; + linux-mips | linux-mipsel) + # specifying TARGET_CC_ARCH prevents openssl from (incorrectly) adding target architecture flags + target="linux-mips32 ${TARGET_CC_ARCH}" + ;; + linux-gnun32-mips*) + target=linux-mips64 + ;; + linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el) + target=linux64-mips64 + ;; + linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*) + target=linux-generic32 + ;; + linux-powerpc) + target=linux-ppc + ;; + linux-powerpc64) + target=linux-ppc64 + ;; + linux-riscv32) + target=linux-generic32 + ;; + linux-riscv64) + target=linux-generic64 + ;; + linux-sparc | linux-supersparc) + target=linux-sparcv9 + ;; + esac + + useprefix=${prefix} + if [ "x$useprefix" = "x" ]; then + useprefix=/ + fi + # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the + # environment variables set by bitbake. Adjust the environment variables instead. + PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \ + perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target + perl ${B}/configdata.pm --dump +} + +do_install () { + oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install + + oe_multilib_header openssl/opensslconf.h + + # Create SSL structure for packages such as ca-certificates which + # contain hard-coded paths to /etc/ssl. Debian does the same. + install -d ${D}${sysconfdir}/ssl + mv ${D}${libdir}/ssl-1.1/certs \ + ${D}${libdir}/ssl-1.1/private \ + ${D}${libdir}/ssl-1.1/openssl.cnf \ + ${D}${sysconfdir}/ssl/ + + # Although absolute symlinks would be OK for the target, they become + # invalid if native or nativesdk are relocated from sstate. + ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-1.1/certs + ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-1.1/private + ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-1.1/openssl.cnf +} + +do_install_append_class-native () { + create_wrapper ${D}${bindir}/openssl \ + OPENSSL_CONF=${libdir}/ssl-1.1/openssl.cnf \ + SSL_CERT_DIR=${libdir}/ssl-1.1/certs \ + SSL_CERT_FILE=${libdir}/ssl-1.1/cert.pem \ + OPENSSL_ENGINES=${libdir}/ssl-1.1/engines +} + +do_install_append_class-nativesdk () { + mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d + install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh + sed 's|/usr/lib/ssl/|/usr/lib/ssl-1.1/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh +} + +PTEST_BUILD_HOST_FILES += "configdata.pm" +PTEST_BUILD_HOST_PATTERN = "perl_version =" +do_install_ptest () { + # Prune the build tree + rm -f ${B}/fuzz/*.* ${B}/test/*.* + + cp ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH} + cp -r ${S}/external ${B}/test ${S}/test ${B}/fuzz ${S}/util ${B}/util ${D}${PTEST_PATH} + + # For test_shlibload + ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/ + ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/ + + install -d ${D}${PTEST_PATH}/apps + ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps + install -m644 ${S}/apps/*.pem ${S}/apps/*.srl ${S}/apps/openssl.cnf ${D}${PTEST_PATH}/apps + install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps + + install -d ${D}${PTEST_PATH}/engines + install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines +} + +# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto +# package RRECOMMENDS on this package. This will enable the configuration +# file to be installed for both the openssl-bin package and the libcrypto +# package since the openssl-bin package depends on the libcrypto package. + +PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc" + +FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}" +FILES_libssl = "${libdir}/libssl${SOLIBS}" +FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf" +FILES_${PN}-engines = "${libdir}/engines-1.1" +FILES_${PN}-misc = "${libdir}/ssl-1.1/misc" +FILES_${PN} =+ "${libdir}/ssl-1.1/*" +FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh" + +CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf" + +RRECOMMENDS_libcrypto += "openssl-conf" +RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch b/poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch deleted file mode 100644 index 4bbd36766..000000000 --- a/poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e6a7d96fa3675bdd3f4d7a3d7682381789eef22f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 15 Feb 2016 20:25:34 +0000 -Subject: [PATCH] define NETDB_INTERNAL to -1 if not available - -helps build with musl - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - compat.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/compat.h b/compat.h -index c8bee4d..bfb013a 100644 ---- a/compat.h -+++ b/compat.h -@@ -666,6 +666,10 @@ typedef int sig_atomic_t; - # define NETDB_INTERNAL h_NETDB_INTERNAL - #endif - -+#if !defined(NETDB_INTERNAL) -+# define NETDB_INTERNAL (-1) -+#endif -+ - #ifndef INET_ADDRSTRLEN - # define INET_ADDRSTRLEN sizeof(struct sockaddr_in) - #endif --- -2.7.1 - diff --git a/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb b/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb index 7a889a380..067f7c644 100644 --- a/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb +++ b/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb @@ -12,7 +12,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://README;beginline=257;endline=287;md5=338c05eadd013872abb1d6e198e10a3f" SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \ - file://0001-define-NETDB_INTERNAL-to-1-if-not-available.patch \ " SRC_URI[md5sum] = "b2a032a47b8b89a18485697fa975154f" diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb index a83620e85..c347daf50 100644 --- a/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb +++ b/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb @@ -30,3 +30,5 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" FILES_${PN} = "${sysconfdir}/inittab" CONFFILES_${PN} = "${sysconfdir}/inittab" + +RCONFLICTS_${PN} = "sysvinit-inittab" diff --git a/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb b/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb index b7383bd2a..9afbc2b6a 100644 --- a/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb +++ b/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb @@ -2,7 +2,7 @@ SUMMARY = "High level language (GLib) binding for D-Bus" DESCRIPTION = "GLib bindings for the D-Bus message bus that integrate \ the D-Bus library with the GLib thread abstraction and main loop." HOMEPAGE = "http://www.freedesktop.org/Software/dbus" -LICENSE = "AFL-2 | GPLv2+" +LICENSE = "AFL-2.1 | GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=cf5b3a2f7083750d504333114e738656 \ file://dbus/dbus-glib.h;beginline=7;endline=21;md5=7755c9d7abccd5dbd25a6a974538bb3c" SECTION = "base" diff --git a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb b/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb deleted file mode 100644 index f95b31a86..000000000 --- a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "D-Bus test package (for D-bus functionality testing only)" -HOMEPAGE = "http://dbus.freedesktop.org" -SECTION = "base" -LICENSE = "AFL-2 | GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \ - file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c" - -DEPENDS = "dbus glib-2.0" - -RDEPENDS_${PN}-dev = "" - -SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ - file://tmpdir.patch \ - file://run-ptest \ - file://python-config.patch \ - file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ - " - -SRC_URI[md5sum] = "ea11069521beeee4e47f0086596a43c8" -SRC_URI[sha256sum] = "9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8" - -S="${WORKDIR}/dbus-${PV}" -FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:" - -inherit autotools pkgconfig gettext ptest upstream-version-is-even - -EXTRA_OECONF_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}" -EXTRA_OECONF_X_class-native = "--without-x" - -EXTRA_OECONF = "--enable-tests \ - --enable-modular-tests \ - --enable-installed-tests \ - --enable-checks \ - --enable-asserts \ - --enable-largefile \ - --disable-xml-docs \ - --disable-doxygen-docs \ - --disable-libaudit \ - --with-dbus-test-dir=${PTEST_PATH} \ - ${EXTRA_OECONF_X} \ - --enable-embedded-tests \ - " - -EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}" -PACKAGECONFIG_class-native = "" -PACKAGECONFIG_class-nativesdk = "" - -PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd" -PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm" -PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session" -PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,," - -do_install() { - : -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/test - l="shell printf refs syslog marshal syntax corrupt dbus-daemon dbus-daemon-eavesdrop loopback relay \ - variant uid-permissions syntax spawn sd-activation names monitor message fdpass service shell-service" - for i in $l; do install ${B}/test/.libs/test-$i ${D}${PTEST_PATH}/test; done - - l="bus bus-system bus-launch-helper" - for i in $l; do install ${B}/bus/.libs/test-$i ${D}${PTEST_PATH}/test; done - - install -d ${D}${PTEST_PATH}/bus - install ${B}/bus/.libs/dbus-daemon-launch-helper-test ${D}${PTEST_PATH}/bus - - install ${B}/test/test-segfault ${D}${PTEST_PATH}/test - - cp -r ${B}/test/data ${D}${PTEST_PATH}/test - install ${B}/dbus/.libs/test-dbus ${D}${PTEST_PATH}/test - - install -d ${D}${PTEST_PATH}/test/.libs - cp -a ${B}/dbus/.libs/*.so* ${D}${PTEST_PATH}/test/.libs - - # Remove build host references... - find "${D}${PTEST_PATH}/test/data" \( -name *.service -o -name *.conf -o -name "*.aaprofile" \) -type f -exec \ - sed -i \ - -e 's:${B}:${PTEST_PATH}:g' \ - {} + - sed -i -e 's;@PTEST_PATH@;${PTEST_PATH};g' ${D}${PTEST_PATH}/run-ptest -} - -RDEPENDS_${PN}-ptest += "bash make dbus" -RDEPENDS_${PN}-ptest_remove = "${PN}" - -PRIVATE_LIBS_${PN}-ptest = "libdbus-1.so.3" diff --git a/poky/meta/recipes-core/dbus/dbus-test_1.12.16.bb b/poky/meta/recipes-core/dbus/dbus-test_1.12.16.bb new file mode 100644 index 000000000..bea0e74ed --- /dev/null +++ b/poky/meta/recipes-core/dbus/dbus-test_1.12.16.bb @@ -0,0 +1,90 @@ +SUMMARY = "D-Bus test package (for D-bus functionality testing only)" +HOMEPAGE = "http://dbus.freedesktop.org" +SECTION = "base" +LICENSE = "AFL-2.1 | GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \ + file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c" + +DEPENDS = "dbus glib-2.0" + +RDEPENDS_${PN}-dev = "" + +SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ + file://tmpdir.patch \ + file://run-ptest \ + file://python-config.patch \ + file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ + " + +SRC_URI[md5sum] = "2dbeae80dfc9e3632320c6a53d5e8890" +SRC_URI[sha256sum] = "54a22d2fa42f2eb2a871f32811c6005b531b9613b1b93a0d269b05e7549fec80" + +S="${WORKDIR}/dbus-${PV}" +FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:" + +inherit autotools pkgconfig gettext ptest upstream-version-is-even + +EXTRA_OECONF_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}" +EXTRA_OECONF_X_class-native = "--without-x" + +EXTRA_OECONF = "--enable-tests \ + --enable-modular-tests \ + --enable-installed-tests \ + --enable-checks \ + --enable-asserts \ + --enable-largefile \ + --disable-xml-docs \ + --disable-doxygen-docs \ + --disable-libaudit \ + --with-dbus-test-dir=${PTEST_PATH} \ + ${EXTRA_OECONF_X} \ + --enable-embedded-tests \ + " + +EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}" +PACKAGECONFIG_class-native = "" +PACKAGECONFIG_class-nativesdk = "" + +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd" +PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm" +PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session" +PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,," + +do_install() { + : +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test + l="shell printf refs syslog marshal syntax corrupt dbus-daemon dbus-daemon-eavesdrop loopback relay \ + variant uid-permissions syntax spawn sd-activation names monitor message fdpass service shell-service" + for i in $l; do install ${B}/test/.libs/test-$i ${D}${PTEST_PATH}/test; done + + l="bus bus-system bus-launch-helper" + for i in $l; do install ${B}/bus/.libs/test-$i ${D}${PTEST_PATH}/test; done + + install -d ${D}${PTEST_PATH}/bus + install ${B}/bus/.libs/dbus-daemon-launch-helper-test ${D}${PTEST_PATH}/bus + + install ${B}/test/test-segfault ${D}${PTEST_PATH}/test + + cp -r ${B}/test/data ${D}${PTEST_PATH}/test + install ${B}/dbus/.libs/test-dbus ${D}${PTEST_PATH}/test + + install -d ${D}${PTEST_PATH}/test/.libs + cp -a ${B}/dbus/.libs/*.so* ${D}${PTEST_PATH}/test/.libs + + # Remove build host references... + find "${D}${PTEST_PATH}/test/data" \( -name *.service -o -name *.conf -o -name "*.aaprofile" \) -type f -exec \ + sed -i \ + -e 's:${B}:${PTEST_PATH}:g' \ + {} + + sed -i -e 's;@PTEST_PATH@;${PTEST_PATH};g' ${D}${PTEST_PATH}/run-ptest +} + +RDEPENDS_${PN}-ptest += "bash make dbus" +RDEPENDS_${PN}-ptest_remove = "${PN}" + +PRIVATE_LIBS_${PN}-ptest = "libdbus-1.so.3" diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.12.bb b/poky/meta/recipes-core/dbus/dbus_1.12.12.bb deleted file mode 100644 index 6e9be79ff..000000000 --- a/poky/meta/recipes-core/dbus/dbus_1.12.12.bb +++ /dev/null @@ -1,175 +0,0 @@ -SUMMARY = "D-Bus message bus" -DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed." -HOMEPAGE = "http://dbus.freedesktop.org" -SECTION = "base" -LICENSE = "AFL-2 | GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \ - file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c" -DEPENDS = "expat virtual/libintl autoconf-archive" -RDEPENDS_dbus_class-native = "" -RDEPENDS_dbus_class-nativesdk = "" -PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}" -ALLOW_EMPTY_dbus-ptest = "1" -RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest" - -SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ - file://tmpdir.patch \ - file://dbus-1.init \ - file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ -" - -SRC_URI[md5sum] = "ea11069521beeee4e47f0086596a43c8" -SRC_URI[sha256sum] = "9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8" - -inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even - -INITSCRIPT_NAME = "dbus-1" -INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ." - -python __anonymous() { - if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): - d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") -} - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "-r netdev" -USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \ - --no-create-home --shell /bin/false \ - --user-group messagebus" - -CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf" - -DEBIANNAME_${PN} = "dbus-1" - -PACKAGES =+ "${PN}-lib" - -OLDPKGNAME = "dbus-x11" -OLDPKGNAME_class-nativesdk = "" - -# for compatibility -RPROVIDES_${PN} = "${OLDPKGNAME}" -RREPLACES_${PN} += "${OLDPKGNAME}" - -FILES_${PN} = "${bindir}/dbus-daemon* \ - ${bindir}/dbus-uuidgen \ - ${bindir}/dbus-cleanup-sockets \ - ${bindir}/dbus-send \ - ${bindir}/dbus-monitor \ - ${bindir}/dbus-launch \ - ${bindir}/dbus-run-session \ - ${bindir}/dbus-update-activation-environment \ - ${libexecdir}/dbus* \ - ${sysconfdir} \ - ${localstatedir} \ - ${datadir}/dbus-1/services \ - ${datadir}/dbus-1/system-services \ - ${datadir}/dbus-1/session.d \ - ${datadir}/dbus-1/session.conf \ - ${datadir}/dbus-1/system.d \ - ${datadir}/dbus-1/system.conf \ - ${datadir}/xml/dbus-1 \ - ${systemd_system_unitdir} \ - ${systemd_user_unitdir} \ - ${nonarch_libdir}/sysusers.d/dbus.conf \ - ${nonarch_libdir}/tmpfiles.d/dbus.conf \ -" -FILES_${PN}-lib = "${libdir}/lib*.so.*" -RRECOMMENDS_${PN}-lib = "${PN}" -FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool" - -PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}" -pkg_postinst_dbus() { - # If both systemd and sysvinit are enabled, mask the dbus-1 init script - if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then - if [ -n "$D" ]; then - OPTS="--root=$D" - fi - systemctl $OPTS mask dbus-1.service - fi - - if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then - /etc/init.d/populate-volatile.sh update - fi -} - -EXTRA_OECONF = "--disable-tests \ - --disable-xml-docs \ - --disable-doxygen-docs \ - --disable-libaudit \ - --enable-largefile \ - " - -EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl" -EXTRA_OECONF_append_class-native = " --disable-selinux" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \ - user-session \ - " - -PACKAGECONFIG_class-native = "" -PACKAGECONFIG_class-nativesdk = "" - -PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd" -PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm" -PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session" - -do_install() { - autotools_do_install - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/init.d - sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh - install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1 - install -d ${D}${sysconfdir}/default/volatiles - echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \ - > ${D}${sysconfdir}/default/volatiles/99_dbus - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - for i in dbus.target.wants sockets.target.wants multi-user.target.wants; do \ - install -d ${D}${systemd_system_unitdir}/$i; done - install -m 0644 ${B}/bus/dbus.service ${B}/bus/dbus.socket ${D}${systemd_system_unitdir}/ - ln -fs ../dbus.socket ${D}${systemd_system_unitdir}/dbus.target.wants/dbus.socket - ln -fs ../dbus.socket ${D}${systemd_system_unitdir}/sockets.target.wants/dbus.socket - ln -fs ../dbus.service ${D}${systemd_system_unitdir}/multi-user.target.wants/dbus.service - fi - - - mkdir -p ${D}${localstatedir}/lib/dbus - - chown messagebus:messagebus ${D}${localstatedir}/lib/dbus - - chown root:messagebus ${D}${libexecdir}/dbus-daemon-launch-helper - chmod 4755 ${D}${libexecdir}/dbus-daemon-launch-helper - - # Remove Red Hat initscript - rm -rf ${D}${sysconfdir}/rc.d - - # Remove empty testexec directory as we don't build tests - rm -rf ${D}${libdir}/dbus-1.0/test - - # Remove /var/run as it is created on startup - rm -rf ${D}${localstatedir}/run -} - -do_install_class-native() { - autotools_do_install - - # dbus-launch has no X support so lets not install it in case the host - # has a more featured and useful version - rm -f ${D}${bindir}/dbus-launch -} - -do_install_class-nativesdk() { - autotools_do_install - - # dbus-launch has no X support so lets not install it in case the host - # has a more featured and useful version - rm -f ${D}${bindir}/dbus-launch - - # Remove /var/run to avoid QA error - rm -rf ${D}${localstatedir}/run -} -BBCLASSEXTEND = "native nativesdk" - -INSANE_SKIP_${PN}-ptest += "build-deps" diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.16.bb b/poky/meta/recipes-core/dbus/dbus_1.12.16.bb new file mode 100644 index 000000000..05716608b --- /dev/null +++ b/poky/meta/recipes-core/dbus/dbus_1.12.16.bb @@ -0,0 +1,175 @@ +SUMMARY = "D-Bus message bus" +DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed." +HOMEPAGE = "http://dbus.freedesktop.org" +SECTION = "base" +LICENSE = "AFL-2.1 | GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \ + file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c" +DEPENDS = "expat virtual/libintl autoconf-archive" +RDEPENDS_dbus_class-native = "" +RDEPENDS_dbus_class-nativesdk = "" +PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}" +ALLOW_EMPTY_dbus-ptest = "1" +RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest" + +SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ + file://tmpdir.patch \ + file://dbus-1.init \ + file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ +" + +SRC_URI[md5sum] = "2dbeae80dfc9e3632320c6a53d5e8890" +SRC_URI[sha256sum] = "54a22d2fa42f2eb2a871f32811c6005b531b9613b1b93a0d269b05e7549fec80" + +inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even + +INITSCRIPT_NAME = "dbus-1" +INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ." + +python __anonymous() { + if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): + d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") +} + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "-r netdev" +USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \ + --no-create-home --shell /bin/false \ + --user-group messagebus" + +CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf" + +DEBIANNAME_${PN} = "dbus-1" + +PACKAGES =+ "${PN}-lib" + +OLDPKGNAME = "dbus-x11" +OLDPKGNAME_class-nativesdk = "" + +# for compatibility +RPROVIDES_${PN} = "${OLDPKGNAME}" +RREPLACES_${PN} += "${OLDPKGNAME}" + +FILES_${PN} = "${bindir}/dbus-daemon* \ + ${bindir}/dbus-uuidgen \ + ${bindir}/dbus-cleanup-sockets \ + ${bindir}/dbus-send \ + ${bindir}/dbus-monitor \ + ${bindir}/dbus-launch \ + ${bindir}/dbus-run-session \ + ${bindir}/dbus-update-activation-environment \ + ${libexecdir}/dbus* \ + ${sysconfdir} \ + ${localstatedir} \ + ${datadir}/dbus-1/services \ + ${datadir}/dbus-1/system-services \ + ${datadir}/dbus-1/session.d \ + ${datadir}/dbus-1/session.conf \ + ${datadir}/dbus-1/system.d \ + ${datadir}/dbus-1/system.conf \ + ${datadir}/xml/dbus-1 \ + ${systemd_system_unitdir} \ + ${systemd_user_unitdir} \ + ${nonarch_libdir}/sysusers.d/dbus.conf \ + ${nonarch_libdir}/tmpfiles.d/dbus.conf \ +" +FILES_${PN}-lib = "${libdir}/lib*.so.*" +RRECOMMENDS_${PN}-lib = "${PN}" +FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool" + +PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}" +pkg_postinst_dbus() { + # If both systemd and sysvinit are enabled, mask the dbus-1 init script + if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then + if [ -n "$D" ]; then + OPTS="--root=$D" + fi + systemctl $OPTS mask dbus-1.service + fi + + if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then + /etc/init.d/populate-volatile.sh update + fi +} + +EXTRA_OECONF = "--disable-tests \ + --disable-xml-docs \ + --disable-doxygen-docs \ + --disable-libaudit \ + --enable-largefile \ + " + +EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl" +EXTRA_OECONF_append_class-native = " --disable-selinux" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \ + user-session \ + " + +PACKAGECONFIG_class-native = "" +PACKAGECONFIG_class-nativesdk = "" + +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd" +PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm" +PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session" + +do_install() { + autotools_do_install + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh + install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1 + install -d ${D}${sysconfdir}/default/volatiles + echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \ + > ${D}${sysconfdir}/default/volatiles/99_dbus + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + for i in dbus.target.wants sockets.target.wants multi-user.target.wants; do \ + install -d ${D}${systemd_system_unitdir}/$i; done + install -m 0644 ${B}/bus/dbus.service ${B}/bus/dbus.socket ${D}${systemd_system_unitdir}/ + ln -fs ../dbus.socket ${D}${systemd_system_unitdir}/dbus.target.wants/dbus.socket + ln -fs ../dbus.socket ${D}${systemd_system_unitdir}/sockets.target.wants/dbus.socket + ln -fs ../dbus.service ${D}${systemd_system_unitdir}/multi-user.target.wants/dbus.service + fi + + + mkdir -p ${D}${localstatedir}/lib/dbus + + chown messagebus:messagebus ${D}${localstatedir}/lib/dbus + + chown root:messagebus ${D}${libexecdir}/dbus-daemon-launch-helper + chmod 4755 ${D}${libexecdir}/dbus-daemon-launch-helper + + # Remove Red Hat initscript + rm -rf ${D}${sysconfdir}/rc.d + + # Remove empty testexec directory as we don't build tests + rm -rf ${D}${libdir}/dbus-1.0/test + + # Remove /var/run as it is created on startup + rm -rf ${D}${localstatedir}/run +} + +do_install_class-native() { + autotools_do_install + + # dbus-launch has no X support so lets not install it in case the host + # has a more featured and useful version + rm -f ${D}${bindir}/dbus-launch +} + +do_install_class-nativesdk() { + autotools_do_install + + # dbus-launch has no X support so lets not install it in case the host + # has a more featured and useful version + rm -f ${D}${bindir}/dbus-launch + + # Remove /var/run to avoid QA error + rm -rf ${D}${localstatedir}/run +} +BBCLASSEXTEND = "native nativesdk" + +INSANE_SKIP_${PN}-ptest += "build-deps" diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc index 25376038f..b74d186cd 100644 --- a/poky/meta/recipes-core/dropbear/dropbear.inc +++ b/poky/meta/recipes-core/dropbear/dropbear.inc @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a5ec40cafba26fc4396d0b550f824e01" DEPENDS = "zlib virtual/crypt" RPROVIDES_${PN} = "ssh sshd" +RCONFLICTS_${PN} = "openssh-sshd openssh" DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch index f24625494..a3d71f2b7 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch @@ -1,4 +1,4 @@ -From 17fc9230fb932432d8faaaabf8c56fdc4845495e Mon Sep 17 00:00:00 2001 +From d29dfba67b1808eea6d428085f95b6e42cf2d1e4 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Tue, 22 Mar 2016 15:14:58 +0200 Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM @@ -10,29 +10,14 @@ Signed-off-by: Jussi Kukkonen Upstream-Status: Inappropriate [OE specific] --- - gio/Makefile.am | 3 ++- gio/meson.build | 1 + - 2 files changed, 3 insertions(+), 1 deletion(-) + 1 file changed, 1 insertion(+) -diff --git a/gio/Makefile.am b/gio/Makefile.am -index e14cad2..bf2bcc7 100644 ---- a/gio/Makefile.am -+++ b/gio/Makefile.am -@@ -835,7 +835,8 @@ gio.def: libgio-2.0.la - gio-2.0.lib: libgio-2.0.la gio.def - $(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/gio.def -out:$@ - --bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings gio-launch-desktop -+bin_PROGRAMS = glib-compile-schemas glib-compile-resources gsettings gio-launch-desktop -+libexec_PROGRAMS = gio-querymodules - - glib_compile_resources_LDADD = libgio-2.0.la \ - $(top_builddir)/gobject/libgobject-2.0.la \ diff --git a/gio/meson.build b/gio/meson.build -index b83d8f5..85d8b14 100644 +index 4e5e021..90a741a 100644 --- a/gio/meson.build +++ b/gio/meson.build -@@ -925,6 +925,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu +@@ -940,6 +940,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu c_args : gio_c_args, # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch deleted file mode 100644 index f0c5d84ba..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch +++ /dev/null @@ -1,64 +0,0 @@ -From abc26aed7a28678dfcc20b21726a97c7c02ea73b Mon Sep 17 00:00:00 2001 -From: Anuj Mittal -Date: Thu, 14 Feb 2019 14:55:15 +0800 -Subject: [PATCH] Revert "Use absolute paths in pkg-config files" - -This reverts commit e7a7c9b97776fa2a638d18ea3a931ba84e778f80. - -The glib pkgconfig files now contain absolute paths, but they're -target paths so when we used them from a sysroot it fails. Upstream -thinks that we should be setting -GLIB_MKENUMS=/path/to/sysroot/usr/bin/glib-mkenums but that really -doesn't scale. - -For now, we just revert the change to put absolute paths into -the sysroot. This should be re-evaluated when we move the recipe to use -meson. - -Upstream-Status: Inappropriate [Revert of an upstream commit] -Signed-off-by: Anuj Mittal ---- - gio-2.0.pc.in | 7 +++---- - glib-2.0.pc.in | 7 +++---- - 2 files changed, 6 insertions(+), 8 deletions(-) - -diff --git a/gio-2.0.pc.in b/gio-2.0.pc.in -index d67e80839..526f0daa0 100644 ---- a/gio-2.0.pc.in -+++ b/gio-2.0.pc.in -@@ -5,11 +5,10 @@ includedir=@includedir@ - - datadir=@datadir@ - schemasdir=${datadir}/glib-2.0/schemas --bindir=@bindir@ - giomoduledir=@GIO_MODULE_DIR@ --glib_compile_schemas=${bindir}/glib-compile-schemas --glib_compile_resources=${bindir}/glib-compile-resources --gdbus_codegen=${bindir}/gdbus-codegen -+glib_compile_schemas=glib-compile-schemas -+glib_compile_resources=glib-compile-resources -+gdbus_codegen=gdbus-codegen - - Name: GIO - Description: glib I/O library -diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in -index 3c5ea81dc..275fc0163 100644 ---- a/glib-2.0.pc.in -+++ b/glib-2.0.pc.in -@@ -3,10 +3,9 @@ exec_prefix=@exec_prefix@ - libdir=@libdir@ - includedir=@includedir@ - --bindir=@bindir@ --glib_genmarshal=${bindir}/glib-genmarshal --gobject_query=${bindir}/gobject-query --glib_mkenums=${bindir}/glib-mkenums -+glib_genmarshal=glib-genmarshal -+gobject_query=gobject-query -+glib_mkenums=glib-mkenums - - Name: GLib - Description: C Utility Library --- -2.17.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch index 2b7fab7bd..d22a646c5 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch @@ -1,4 +1,4 @@ -From 4169f11beedacfbb8c7934a4c99189d44935a6b9 Mon Sep 17 00:00:00 2001 +From f5a4b4c0579734923c9caf70944322efff57318b Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 13 Feb 2019 15:32:05 +0100 Subject: [PATCH] Set host_machine correctly when building with mingw32 @@ -8,13 +8,13 @@ Signed-off-by: Alexander Kanavin --- gio/tests/meson.build | 8 ++++---- - glib/tests/meson.build | 4 ++-- + glib/tests/meson.build | 2 +- meson.build | 3 +++ tests/meson.build | 2 +- - 4 files changed, 10 insertions(+), 7 deletions(-) + 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/gio/tests/meson.build b/gio/tests/meson.build -index 181f5c7..11a1f12 100644 +index 028b196..217ccb1 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build @@ -12,7 +12,7 @@ test_c_args = [ @@ -26,57 +26,48 @@ index 181f5c7..11a1f12 100644 common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] endif -@@ -122,7 +122,7 @@ if dbus1_dep.found() +@@ -119,7 +119,7 @@ if dbus1_dep.found() endif # Test programs buildable on UNIX only -if host_machine.system() != 'windows' +if host_system != 'windows' - gio_tests += [{ + gio_tests += { 'file' : {}, 'gdbus-peer' : { -@@ -314,7 +314,7 @@ if host_machine.system() != 'windows' +@@ -327,7 +327,7 @@ if host_machine.system() != 'windows' endif # unix # Test programs buildable on Windows only -if host_machine.system() == 'windows' +if host_system == 'windows' - gio_tests += [{'win32-streams' : {}}] + gio_tests += {'win32-streams' : {}} endif -@@ -379,7 +379,7 @@ if cc.get_id() != 'msvc' - }] +@@ -392,7 +392,7 @@ if cc.get_id() != 'msvc' + } endif -if host_machine.system() != 'windows' +if host_system != 'windows' - test_extra_programs += [{ + test_extra_programs += { 'gdbus-example-unix-fd-client' : { 'install' : false, diff --git a/glib/tests/meson.build b/glib/tests/meson.build -index d7b6a7a..6678a08 100644 +index d54fc41..a4761fe 100644 --- a/glib/tests/meson.build +++ b/glib/tests/meson.build -@@ -45,7 +45,7 @@ glib_tests = { - 'hook' : {}, - 'hostutils' : {}, - 'include' : { -- 'skip' : host_machine.system() == 'windows', -+ 'skip' : host_system == 'windows', - }, - 'keyfile' : {}, - 'list' : {}, -@@ -112,7 +112,7 @@ glib_tests = { - 'utils' : {}, - 'unicode' : {}, - 'unix' : { -- 'skip' : host_machine.system() == 'windows', -+ 'skip' : host_system == 'windows', - }, - 'uri' : {}, - '1bit-mutex' : {}, +@@ -132,7 +132,7 @@ if glib_conf.has('HAVE_EVENTFD') + } + endif + +-if host_machine.system() == 'windows' ++if host_system == 'windows' + if winsock2.found() + glib_tests += { + 'gpoll' : { diff --git a/meson.build b/meson.build -index f7405a2..4348f20 100644 +index a745024..e87eae5 100644 --- a/meson.build +++ b/meson.build @@ -31,6 +31,9 @@ else @@ -90,15 +81,15 @@ index f7405a2..4348f20 100644 glib_version = meson.project_version() glib_api_version = '2.0' diff --git a/tests/meson.build b/tests/meson.build -index 80e45d7..9f3869f 100644 +index 11075dd..cd6067b 100644 --- a/tests/meson.build +++ b/tests/meson.build -@@ -67,7 +67,7 @@ test_extra_programs = { +@@ -66,7 +66,7 @@ test_extra_programs = { 'unicode-collate' : {}, } -if host_machine.system() != 'windows' +if host_system != 'windows' - tests += [{ + tests += { 'timeloop' : {}, - 'spawn-test' : {}, + 'iochannel-test' : {}, diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch index 5ccd3203f..ff2629f06 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch @@ -1,4 +1,4 @@ -From 1481c6d5f08f9dbbe10abc87b372a1f61db36476 Mon Sep 17 00:00:00 2001 +From 23cd157352ac8a53f992ddc6d6d01caadf1c79bc Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Mon, 9 Nov 2015 11:07:27 +0200 Subject: [PATCH] Enable more tests while cross-compiling @@ -9,54 +9,16 @@ case we can depend on glib-2.0-native. Upstream-Status: Inappropriate [OE specific] Signed-off-by: Jussi Kukkonen + --- - gio/tests/Makefile.am | 10 ++++++---- - gio/tests/meson.build | 15 ++++++++------- - tests/gobject/Makefile.am | 6 ++++++ - 3 files changed, 20 insertions(+), 11 deletions(-) + gio/tests/meson.build | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) -diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am -index c4e7a92..633e85c 100644 ---- a/gio/tests/Makefile.am -+++ b/gio/tests/Makefile.am -@@ -583,10 +583,9 @@ test_programs += \ - endif - - # ----------------------------------------------------------------------------- --# The resources test is a bit more complicated, and we cannot build it when --# cross-compiling GIO because it requires running a binary... -+# The resources test is a bit more complicated, and requires glib-native -+# for running a binary - --if !CROSS_COMPILING - test_programs += resources - resources_SOURCES = resources.c - nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h -@@ -611,7 +610,11 @@ if !ENABLE_INSTALLED_TESTS - libresourceplugin_la_LDFLAGS += -rpath / - endif - -+if !CROSS_COMPILING - glib_compile_resources=$(top_builddir)/gio/glib-compile-resources -+else -+glib_compile_resources=glib-compile-resources -+endif - - test-generated.txt: test1.txt - $(AM_V_GEN) echo "Generated" > $@ && \ -@@ -632,7 +635,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) -- - - EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml - CLEANFILES += test-generated.txt test_resources.c test_resources2.[ch] plugin_resources.c test.gresource --endif # !CROSS_COMPILING - - BUILT_SOURCES += giotypefuncs.inc - diff --git a/gio/tests/meson.build b/gio/tests/meson.build -index dca33bd..181f5c7 100644 +index 65f43e2..028b196 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build -@@ -173,7 +173,7 @@ if host_machine.system() != 'windows' +@@ -185,7 +185,7 @@ if host_machine.system() != 'windows' # Test programs that need to bring up a session bus (requires dbus-daemon) have_dbus_daemon = find_program('dbus-daemon', required : false).found() @@ -65,8 +27,8 @@ index dca33bd..181f5c7 100644 annotate_args = [ '--annotate', 'org.project.Bar', 'Key1', 'Value1', '--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2', -@@ -406,12 +406,13 @@ if installed_tests_enabled - install_subdir('cert-tests', install_dir : installed_tests_execdir) +@@ -453,12 +453,13 @@ if installed_tests_enabled + install_data('static-link.py', install_dir : installed_tests_execdir) endif -if not meson.is_cross_build() or meson.has_exe_wrapper() @@ -81,7 +43,7 @@ index dca33bd..181f5c7 100644 '--target=@OUTPUT@', '--sourcedir=' + meson.current_source_dir(), '--generate-source', -@@ -428,7 +429,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() +@@ -482,7 +483,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() test_gresource = custom_target('test.gresource', input : 'test.gresource.xml', output : 'test.gresource', @@ -90,7 +52,7 @@ index dca33bd..181f5c7 100644 '--target=@OUTPUT@', '--sourcedir=' + meson.current_source_dir(), '--sourcedir=' + meson.current_build_dir(), -@@ -439,7 +440,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() +@@ -493,7 +494,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() test_resources2_c = custom_target('test_resources2.c', input : 'test3.gresource.xml', output : 'test_resources2.c', @@ -99,7 +61,7 @@ index dca33bd..181f5c7 100644 '--target=@OUTPUT@', '--sourcedir=' + meson.current_source_dir(), '--generate', -@@ -450,7 +451,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() +@@ -504,7 +505,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() test_resources2_h = custom_target('test_resources2.h', input : 'test3.gresource.xml', output : 'test_resources2.h', @@ -108,30 +70,54 @@ index dca33bd..181f5c7 100644 '--target=@OUTPUT@', '--sourcedir=' + meson.current_source_dir(), '--generate', -@@ -461,7 +462,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() - test_resources_c = custom_target('test_resources.c', +@@ -516,7 +517,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() input : 'test2.gresource.xml', + depends : big_test_resource, output : 'test_resources.c', - command : [glib_compile_resources, + command : ['glib-compile-resources', '--target=@OUTPUT@', '--sourcedir=' + meson.current_source_dir(), - '--generate-source', -diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am -index 1bcefbe..77e646a 100644 ---- a/tests/gobject/Makefile.am -+++ b/tests/gobject/Makefile.am -@@ -51,7 +51,13 @@ if ENABLE_TIMELOOP - installed_test_programs += timeloop-closure - endif - -+# The marshal test requires running a binary, which means we require -+# glib-native when cross-compiling -+if !CROSS_COMPILING - glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal -+else -+glib_genmarshal=$(shell which glib-genmarshal) -+endif - - testmarshal.h: stamp-testmarshal.h - @true + '--sourcedir=' + meson.current_build_dir(), +@@ -527,7 +528,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() + digit_test_resources_c = custom_target('digit_test_resources.c', + input : '111_digit_test.gresource.xml', + output : 'digit_test_resources.c', +- command : [glib_compile_resources, ++ command : ['glib-compile-resources', + '--target=@OUTPUT@', + '--sourcedir=' + meson.current_source_dir(), + '--sourcedir=' + meson.current_build_dir(), +@@ -538,7 +539,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() + digit_test_resources_h = custom_target('digit_test_resources.h', + input : '111_digit_test.gresource.xml', + output : 'digit_test_resources.h', +- command : [glib_compile_resources, ++ command : ['glib-compile-resources', + '--target=@OUTPUT@', + '--sourcedir=' + meson.current_source_dir(), + '--generate', +@@ -565,11 +566,12 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() + # Support for --add-symbol was added to LLVM objcopy in 2019 + # (https://reviews.llvm.org/D58234). FIXME: This test could be enabled for + # LLVM once that support is in a stable release. +- if build_machine.system() == 'linux' and cc.get_id() == 'gcc' ++ #if build_machine.system() == 'linux' and cc.get_id() == 'gcc' ++ if not meson.is_cross_build() + test_gresource_binary = custom_target('test5.gresource', + input : 'test5.gresource.xml', + output : 'test5.gresource', +- command : [glib_compile_resources, ++ command : ['glib-compile-resources', + '--target=@OUTPUT@', + '--sourcedir=' + meson.current_source_dir(), + '--sourcedir=' + meson.current_build_dir(), +@@ -581,7 +583,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() + test_resources_binary_c = custom_target('test_resources_binary.c', + input : 'test5.gresource.xml', + output : 'test_resources_binary.c', +- command : [glib_compile_resources, ++ command : ['glib-compile-resources', + '--target=@OUTPUT@', + '--sourcedir=' + meson.current_source_dir(), + '--sourcedir=' + meson.current_build_dir(), diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch deleted file mode 100644 index c36a397fe..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch +++ /dev/null @@ -1,104 +0,0 @@ -Fix the last few remaining bugs in glib's date/locale code. - -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 93d8482384ebc5c7d1f3d92b0190db0371269663 Mon Sep 17 00:00:00 2001 -From: Rafal Luzynski -Date: Fri, 10 May 2019 00:40:27 +0200 -Subject: [PATCH] build: Fix a typo in the test whether _NL_ABALTMON_n is - supported - -The correct spelling is "_NL_ABALTMON_n" rather than "_NL_ALTMON_n". -The typo made Meson build think that _NL_ABALTMON_n constants are -not supported which was totally wrong. This made g_date_time_format() -output incorrect abbreviated month names in some languages. -The old configure.ac script was correct here. - -Bug introduced in commit be4f96b6502c01d2a51d60b7a669c8ef82e22a4d. - -Closes: #1759 ---- - meson.build | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -diff --git a/meson.build b/meson.build -index c5d2ce5f8..08fa40ac5 100644 ---- a/meson.build -+++ b/meson.build -@@ -1002,20 +1002,20 @@ if cc.links('''#ifndef _GNU_SOURCE - #include - int main (int argc, char ** argv) { - char *str; -- str = nl_langinfo (_NL_ALTMON_1); -- str = nl_langinfo (_NL_ALTMON_2); -- str = nl_langinfo (_NL_ALTMON_3); -- str = nl_langinfo (_NL_ALTMON_4); -- str = nl_langinfo (_NL_ALTMON_5); -- str = nl_langinfo (_NL_ALTMON_6); -- str = nl_langinfo (_NL_ALTMON_7); -- str = nl_langinfo (_NL_ALTMON_8); -- str = nl_langinfo (_NL_ALTMON_9); -- str = nl_langinfo (_NL_ALTMON_10); -- str = nl_langinfo (_NL_ALTMON_11); -- str = nl_langinfo (_NL_ALTMON_12); -+ str = nl_langinfo (_NL_ABALTMON_1); -+ str = nl_langinfo (_NL_ABALTMON_2); -+ str = nl_langinfo (_NL_ABALTMON_3); -+ str = nl_langinfo (_NL_ABALTMON_4); -+ str = nl_langinfo (_NL_ABALTMON_5); -+ str = nl_langinfo (_NL_ABALTMON_6); -+ str = nl_langinfo (_NL_ABALTMON_7); -+ str = nl_langinfo (_NL_ABALTMON_8); -+ str = nl_langinfo (_NL_ABALTMON_9); -+ str = nl_langinfo (_NL_ABALTMON_10); -+ str = nl_langinfo (_NL_ABALTMON_11); -+ str = nl_langinfo (_NL_ABALTMON_12); - return 0; -- }''', name : 'nl_langinfo (_NL_ALTMON_n)') -+ }''', name : 'nl_langinfo (_NL_ABALTMON_n)') - glib_conf.set('HAVE_LANGINFO_ABALTMON', 1) - endif - --- -2.18.1 - -From 35c28be32762d5af6b93cb6a3420c5977f7bf599 Mon Sep 17 00:00:00 2001 -From: Rafal Luzynski -Date: Mon, 13 May 2019 23:11:28 +0200 -Subject: [PATCH] tests: Update month name check for Greek locale -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Update the abbreviated month name in the test to match the actual -translation. Otherwise the test fails with false positive. - -Vocabulary: - -July (nominative) - Greek: Ιούλιος (abbreviated: Ιούλ) -Of July (genitive) - Greek: Ιουλίου (abbreviated: Ιουλ) - -This is similar to commit 4d215e006ee69bd7a993bf853722993433adbf9a -and commit 7fe793e125c316ac34edd8158df5a132cb044bc1. - -Closes #1776 ---- - glib/tests/date.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/glib/tests/date.c b/glib/tests/date.c -index 8eb28712b..ff13ad101 100644 ---- a/glib/tests/date.c -+++ b/glib/tests/date.c -@@ -388,7 +388,7 @@ test_month_names (void) - TEST_DATE ( 1, 4, 2018, "%OB %Y", "Απρίλιος 2018"); - TEST_DATE ( 1, 5, 2018, "%OB %Y", "Μάιος 2018"); - TEST_DATE ( 1, 6, 2018, "%OB %Y", "Ιούνιος 2018"); -- TEST_DATE (16, 7, 2018, "%e %b %Y", "16 Ιούλ 2018"); -+ TEST_DATE (16, 7, 2018, "%e %b %Y", "16 Ιουλ 2018"); - TEST_DATE ( 1, 8, 2018, "%Ob %Y", "Αύγ 2018"); - } - else --- -2.18.1 diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch index a4e0c9201..2d698a67c 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch @@ -1,4 +1,4 @@ -From 9d985803c50cfb99253c757934985f937da34822 Mon Sep 17 00:00:00 2001 +From 17ca85e329bf39c004b73a02e94b597dac41ddfe Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 11 Mar 2016 15:35:55 +0000 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds @@ -19,7 +19,7 @@ Signed-off-by: Jussi Kukkonen 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gio/giomodule.c b/gio/giomodule.c -index 36c0cef..912e490 100644 +index b92162d..fce9933 100644 --- a/gio/giomodule.c +++ b/gio/giomodule.c @@ -40,6 +40,8 @@ @@ -31,7 +31,7 @@ index 36c0cef..912e490 100644 #endif #include -@@ -1099,7 +1101,15 @@ get_gio_module_dir (void) +@@ -1156,7 +1158,15 @@ get_gio_module_dir (void) #endif g_free (install_dir); #else diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest index 8f082d34f..fc50082c8 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest @@ -2,5 +2,5 @@ set -eux useradd glib2-test -su glib2-test -c gnome-desktop-testing-runner glib +su glib2-test -c 'gnome-desktop-testing-runner glib' userdel glib2-test diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb deleted file mode 100644 index d749be34e..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb +++ /dev/null @@ -1,27 +0,0 @@ -require glib.inc - -PE = "1" - -SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ - file://run-ptest \ - file://uclibc_musl_translation.patch \ - file://Enable-more-tests-while-cross-compiling.patch \ - file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ - file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ - file://0001-Do-not-ignore-return-value-of-write.patch \ - file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ - file://0001-Revert-Use-absolute-paths-in-pkg-config-files.patch \ - file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ - file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ - file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \ - file://0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch \ - file://fix-nl-abaltmon.patch \ - file://glib-meson.cross \ - " - -SRC_URI_append_class-native = " file://relocate-modules.patch" - -SRC_URI[md5sum] = "8058c7bde846dcffe5fa453eca366d73" -SRC_URI[sha256sum] = "8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481" diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb new file mode 100644 index 000000000..f4ade098e --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb @@ -0,0 +1,25 @@ +require glib.inc + +PE = "1" + +SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ + file://run-ptest \ + file://uclibc_musl_translation.patch \ + file://Enable-more-tests-while-cross-compiling.patch \ + file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ + file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ + file://0001-Do-not-ignore-return-value-of-write.patch \ + file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ + file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ + file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ + file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \ + file://0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch \ + file://glib-meson.cross \ + " + +SRC_URI_append_class-native = " file://relocate-modules.patch" + +SRC_URI[md5sum] = "112a850caa8d2c21e24d4c9844e8b1fe" +SRC_URI[sha256sum] = "04ab0d560d45790d055f50db2d69974eab8b693a77390075462c56e652b760b9" diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc index 82107a8a1..3ae22f5e8 100644 --- a/poky/meta/recipes-core/glib-2.0/glib.inc +++ b/poky/meta/recipes-core/glib-2.0/glib.inc @@ -48,7 +48,7 @@ PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" PACKAGECONFIG[libelf] = ",,elfutils" PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus" -EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=false" +EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=disabled" EXTRA_OEMESON_append_class-target = " --cross-file ${WORKDIR}/glib-meson.cross" do_configure_prepend() { @@ -140,6 +140,7 @@ CODEGEN_PYTHON_RDEPENDS_mingw32 = "" RDEPENDS_${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}" RDEPENDS_${PN}-ptest += "\ + coreutils \ libgcc \ dbus \ gnome-desktop-testing \ diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb deleted file mode 100644 index 09af229d6..000000000 --- a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "GLib networking extensions" -DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies." -HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/" -BUGTRACKER = "http://bugzilla.gnome.org" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SECTION = "libs" -DEPENDS = "glib-2.0" - -SRC_URI[archive.md5sum] = "83321ffc3c336894b8a5bc18db3fe58d" -SRC_URI[archive.sha256sum] = "d71c6b2faa5ac29100314f08a1be020a2afd0291f025614c0af0d17b14435d92" - -PACKAGECONFIG ??= "gnutls" - -PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls" -PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy" - -EXTRA_OEMESON = "-Dgnome_proxy=disabled" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gettext upstream-version-is-even gio-module-cache - -FILES_${PN} += "\ - ${libdir}/gio/modules/libgio*.so \ - ${datadir}/dbus-1/services/ \ - ${systemd_user_unitdir} \ - " -FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la" -FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a" diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb new file mode 100644 index 000000000..4d4fe6491 --- /dev/null +++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb @@ -0,0 +1,32 @@ +SUMMARY = "GLib networking extensions" +DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies." +HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/" +BUGTRACKER = "http://bugzilla.gnome.org" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SECTION = "libs" +DEPENDS = "glib-2.0" + +SRC_URI[archive.md5sum] = "bf46d1208ac00d78a45fbf621d459025" +SRC_URI[archive.sha256sum] = "c022f3d10f55a5b7c31676fb001b4cb6401db8ab9f6e8418c69de00d0f268732" + +PACKAGECONFIG ??= "gnutls" + +PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls" +PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl" +PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy" + +EXTRA_OEMESON = "-Dgnome_proxy=disabled" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gettext upstream-version-is-even gio-module-cache + +FILES_${PN} += "\ + ${libdir}/gio/modules/libgio*.so \ + ${datadir}/dbus-1/services/ \ + ${systemd_user_unitdir} \ + " +FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la" +FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a" diff --git a/poky/meta/recipes-core/glibc/glibc-locale.inc b/poky/meta/recipes-core/glibc/glibc-locale.inc index a985d26c7..f033635bd 100644 --- a/poky/meta/recipes-core/glibc/glibc-locale.inc +++ b/poky/meta/recipes-core/glibc/glibc-locale.inc @@ -12,9 +12,7 @@ BINUTILSDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot" BINUTILSDEP_class-nativesdk = "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot" do_package[depends] += "${BINUTILSDEP}" -# localedef links with libc.so and glibc-collateral.inc inhibits all default deps -# cannot add virtual/libc to DEPENDS, because it would conflict with libc-initial in RSS -RDEPENDS_localedef += "glibc" +DEPENDS += "virtual/libc" # Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION # is set. The idea is to avoid running localedef on the target (at first boot) diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb index 3302a86da..e9cac98c5 100644 --- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb @@ -22,7 +22,7 @@ IMAGE_FSTYPES = "wic.vmdk" inherit core-image module-base setuptools3 -SRCREV ?= "5c504dd014a1bd3e6b3fea528a11aca7dff4d931" +SRCREV ?= "bb59bcd016bdd815809ac10df45d61c364c46df0" SRC_URI = "git://git.yoctoproject.org/poky \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb deleted file mode 100644 index b44c07b4d..000000000 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Extended cryptographic library (from glibc)" -DESCRIPTION = "Forked code from glibc libary to extract only crypto part." -HOMEPAGE = "https://github.com/besser82/libxcrypt" -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM ?= "file://LICENSING;md5=be275bc7f91642efe7709a8ae7a1433b \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -inherit autotools pkgconfig - -PV = "4.4.4" - -SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}" -SRCREV = "3b251d4e1af66aa7697c4ac96c689f996fa90c32" -SRCBRANCH ?= "develop" - -PROVIDES = "virtual/crypt" - -FILES_${PN} = "${libdir}/libcrypt*.so.* \ - ${libdir}/libcrypt-*.so \ - ${libdir}/libowcrypt*.so.* \ - ${libdir}/libowcrypt-*.so \ -" - -S = "${WORKDIR}/git" - -BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" -TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error=missing-attributes" -CPPFLAGS_append_class-nativesdk = " -Wno-error=missing-attributes" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb new file mode 100644 index 000000000..637c0e6ff --- /dev/null +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb @@ -0,0 +1,32 @@ +SUMMARY = "Extended cryptographic library (from glibc)" +DESCRIPTION = "Forked code from glibc libary to extract only crypto part." +HOMEPAGE = "https://github.com/besser82/libxcrypt" +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM ?= "file://LICENSING;md5=be275bc7f91642efe7709a8ae7a1433b \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +inherit autotools pkgconfig + +PV = "4.4.6" + +SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}" +SRCREV = "398943774c5ff38baf1bc5ee088855fd8983bb05" +SRCBRANCH ?= "develop" + +PROVIDES = "virtual/crypt" + +FILES_${PN} = "${libdir}/libcrypt*.so.* \ + ${libdir}/libcrypt-*.so \ + ${libdir}/libowcrypt*.so.* \ + ${libdir}/libowcrypt-*.so \ +" + +S = "${WORKDIR}/git" + +BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" +TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error=missing-attributes" +CPPFLAGS_append_class-nativesdk = " -Wno-error=missing-attributes" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-core/meta/uninative-tarball.bb b/poky/meta/recipes-core/meta/uninative-tarball.bb index e0cb9ffee..25635fc2f 100644 --- a/poky/meta/recipes-core/meta/uninative-tarball.bb +++ b/poky/meta/recipes-core/meta/uninative-tarball.bb @@ -57,7 +57,7 @@ fakeroot create_sdk_files() { } -fakeroot tar_sdk() { +fakeroot archive_sdk() { cd ${SDK_OUTPUT}/${SDKPATH} DEST="./${SDK_ARCH}-${SDK_OS}" @@ -65,5 +65,5 @@ fakeroot tar_sdk() { rm sysroots -rf patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative - tar ${SDKTAROPTS} -c -j --file=${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . + ${SDK_ARCHIVE_CMD} } diff --git a/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch b/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch deleted file mode 100644 index 4d48d6165..000000000 --- a/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 19cbebc3fa33c6a1a71a6036da4d67c98f859f06 Mon Sep 17 00:00:00 2001 -From: Adrian Bunk -Date: Wed, 15 May 2019 16:08:33 +0300 -Subject: unistd.h: Add TEMP_FAILURE_RETRY - -Signed-off-by: Adrian Bunk -Upstream-Status: Inappropriate [oe-specific] ---- - include/unistd.h | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/include/unistd.h b/include/unistd.h -index 9485da7a..8a75af57 100644 ---- a/include/unistd.h -+++ b/include/unistd.h -@@ -460,6 +460,17 @@ int eaccess(const char *, int); - #define _CS_V6_ENV 1148 - #define _CS_V7_ENV 1149 - -+#ifdef _GNU_SOURCE -+#ifndef TEMP_FAILURE_RETRY -+# define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+#endif -+ - #ifdef __cplusplus - } - #endif --- -2.20.1 - diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index 2b433aed8..a7fae4a65 100644 --- a/poky/meta/recipes-core/musl/musl_git.bb +++ b/poky/meta/recipes-core/musl/musl_git.bb @@ -4,7 +4,7 @@ require musl.inc inherit linuxloader -SRCREV = "65c8be380431eebe4d70d130bd38563f8df9a7d7" +SRCREV = "ac304227bb3ea1787d581f17d76a5f5f3abff51f" BASEVER = "1.1.22" @@ -15,7 +15,6 @@ PV = "${BASEVER}+git${SRCPV}" SRC_URI = "git://git.musl-libc.org/musl \ file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \ file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \ - file://0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb index 928c47742..ef6ca9879 100644 --- a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb +++ b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb @@ -8,4 +8,4 @@ SRC_URI += "file://0001-tic-hang.patch \ SRCREV = "7a97a7f937762ba342d5b2fd7cd090885a809835" S = "${WORKDIR}/git" EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache" -UPSTREAM_CHECK_GITTAGREGEX = "upstream/(?P\d+(\.\d+)+(\+\d+)*)" +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+(\+\d+)*)" diff --git a/poky/meta/recipes-core/newlib/libgloss_3.0.0.bb b/poky/meta/recipes-core/newlib/libgloss_3.0.0.bb deleted file mode 100644 index c9ed30d98..000000000 --- a/poky/meta/recipes-core/newlib/libgloss_3.0.0.bb +++ /dev/null @@ -1,33 +0,0 @@ -require newlib.inc - -DEPENDS += "newlib" - -FILESEXTRAPATHS_prepend := "${THISDIR}/libgloss:" - -SRC_URI_append_powerpc = " file://fix-rs6000-crt0.patch" -SRC_URI_append_arm = " file://fix_makefile_include_arm_h.patch" - -do_configure() { - ${S}/libgloss/configure ${EXTRA_OECONF} -} - -do_install_prepend() { - # install doesn't create this itself, avoid install error - install -d ${D}${prefix}/${TARGET_SYS}/lib -} - -do_install_append() { - # Move libs to default directories so they can be picked up later - install -d ${D}${libdir} - mv -v ${D}${prefix}/${TARGET_SYS}/lib/* ${D}${libdir} - - # Remove original directory - rmdir -p --ignore-fail-on-non-empty ${D}${prefix}/${TARGET_SYS}/lib -} - -# Split packages correctly -FILES_${PN} += "${libdir}/*.ld ${libdir}/*.specs" -FILES_${PN}-dev += "${libdir}/cpu-init/*" - -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" diff --git a/poky/meta/recipes-core/newlib/libgloss_3.1.0.bb b/poky/meta/recipes-core/newlib/libgloss_3.1.0.bb new file mode 100644 index 000000000..c9ed30d98 --- /dev/null +++ b/poky/meta/recipes-core/newlib/libgloss_3.1.0.bb @@ -0,0 +1,33 @@ +require newlib.inc + +DEPENDS += "newlib" + +FILESEXTRAPATHS_prepend := "${THISDIR}/libgloss:" + +SRC_URI_append_powerpc = " file://fix-rs6000-crt0.patch" +SRC_URI_append_arm = " file://fix_makefile_include_arm_h.patch" + +do_configure() { + ${S}/libgloss/configure ${EXTRA_OECONF} +} + +do_install_prepend() { + # install doesn't create this itself, avoid install error + install -d ${D}${prefix}/${TARGET_SYS}/lib +} + +do_install_append() { + # Move libs to default directories so they can be picked up later + install -d ${D}${libdir} + mv -v ${D}${prefix}/${TARGET_SYS}/lib/* ${D}${libdir} + + # Remove original directory + rmdir -p --ignore-fail-on-non-empty ${D}${prefix}/${TARGET_SYS}/lib +} + +# Split packages correctly +FILES_${PN} += "${libdir}/*.ld ${libdir}/*.specs" +FILES_${PN}-dev += "${libdir}/cpu-init/*" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" diff --git a/poky/meta/recipes-core/newlib/newlib.inc b/poky/meta/recipes-core/newlib/newlib.inc index f50e5fed8..418cf0793 100644 --- a/poky/meta/recipes-core/newlib/newlib.inc +++ b/poky/meta/recipes-core/newlib/newlib.inc @@ -3,21 +3,21 @@ HOMEPAGE = "https://sourceware.org/newlib/" DESCRIPTION = "C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products." SECTION = "libs" -LICENSE = "GPLv2 & LGPLv3 & GPLv3 & LGPLv2" +LICENSE = "GPLv2 & LGPLv3 & GPLv3 & LGPLv2 & BSD-2-Clause" LIC_FILES_CHKSUM = " \ file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ file://COPYING.LIBGLOSS;md5=73f5c98779aea7dba4a6c94a74ab0ae2 \ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://COPYING.NEWLIB;md5=956a4b1487f7677cdcceeee8f05a21f0 \ + file://COPYING.NEWLIB;md5=100d470af54e2d1d79fbd8498a32ff26 \ file://newlib/libc/posix/COPYRIGHT;md5=103468ff1982be840fdf4ee9f8b51bbf \ file://newlib/libc/sys/linux/linuxthreads/LICENSE;md5=73640207fbc79b198c7ffd4ad4d97aa0 \ " SRC_URI = "ftp://sourceware.org/pub/newlib/newlib-${PV}.tar.gz" -SRC_URI[md5sum] = "81ec873108b8593c586f91ca65963952" -SRC_URI[sha256sum] = "c8566335ee74e5fcaeb8595b4ebd0400c4b043d6acb3263ecb1314f8f5501332" +SRC_URI[md5sum] = "f84263b7d524df92a9c9fb30b79e0134" +SRC_URI[sha256sum] = "fb4fa1cc21e9060719208300a61420e4089d6de6ef59cf533b57fe74801d102a" INHIBIT_DEFAULT_DEPS = "1" DEPENDS = "virtual/${TARGET_PREFIX}gcc" diff --git a/poky/meta/recipes-core/newlib/newlib_3.0.0.bb b/poky/meta/recipes-core/newlib/newlib_3.0.0.bb deleted file mode 100644 index db13724eb..000000000 --- a/poky/meta/recipes-core/newlib/newlib_3.0.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -require newlib.inc - -PROVIDES += "virtual/libc virtual/libiconv virtual/libintl" - -do_configure() { - ${S}/configure ${EXTRA_OECONF} -} - -do_install_append() { - # Move include files and libs to default directories so they can be picked up later - mv -v ${D}${prefix}/${TARGET_SYS}/lib ${D}${libdir} - mv -v ${D}${prefix}/${TARGET_SYS}/include ${D}${includedir} - - # Remove original directory - rmdir ${D}${prefix}/${TARGET_SYS} -} - -# No rpm package is actually created but -dev depends on it, avoid dnf error -RDEPENDS_${PN}-dev_libc-newlib = "" diff --git a/poky/meta/recipes-core/newlib/newlib_3.1.0.bb b/poky/meta/recipes-core/newlib/newlib_3.1.0.bb new file mode 100644 index 000000000..7ab5b2b94 --- /dev/null +++ b/poky/meta/recipes-core/newlib/newlib_3.1.0.bb @@ -0,0 +1,20 @@ +require newlib.inc + +PROVIDES += "virtual/libc virtual/libiconv virtual/libintl" + +do_configure() { + export CC_FOR_TARGET="${CC}" + ${S}/configure ${EXTRA_OECONF} +} + +do_install_append() { + # Move include files and libs to default directories so they can be picked up later + mv -v ${D}${prefix}/${TARGET_SYS}/lib ${D}${libdir} + mv -v ${D}${prefix}/${TARGET_SYS}/include ${D}${includedir} + + # Remove original directory + rmdir ${D}${prefix}/${TARGET_SYS} +} + +# No rpm package is actually created but -dev depends on it, avoid dnf error +RDEPENDS_${PN}-dev_libc-newlib = "" diff --git a/poky/meta/recipes-core/systemd/systemd-conf/wired.network b/poky/meta/recipes-core/systemd/systemd-conf/wired.network new file mode 100644 index 000000000..253aee938 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd-conf/wired.network @@ -0,0 +1,9 @@ +[Match] +Name=en* eth* + +[Network] +DHCP=yes + +[DHCP] +RouteMetric=10 +ClientIdentifier=mac diff --git a/poky/meta/recipes-core/systemd/systemd-conf_242.bb b/poky/meta/recipes-core/systemd/systemd-conf_242.bb index 96beea53a..d9ec023bf 100644 --- a/poky/meta/recipes-core/systemd/systemd-conf_242.bb +++ b/poky/meta/recipes-core/systemd/systemd-conf_242.bb @@ -10,17 +10,22 @@ SRC_URI = "\ file://logind.conf \ file://system.conf \ file://system.conf-qemuall \ + file://wired.network \ " do_install() { install -D -m0644 ${WORKDIR}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf install -D -m0644 ${WORKDIR}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf + install -D -m0644 ${WORKDIR}/wired.network ${D}${systemd_unitdir}/network/80-wired.network } # Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 do_install_append_qemuall() { install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf + + # Do not install wired.network for qemu bsps + rm -rf ${D}${systemd_unitdir}/network } PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -29,4 +34,5 @@ FILES_${PN} = "\ ${systemd_unitdir}/journald.conf.d/ \ ${systemd_unitdir}/logind.conf.d/ \ ${systemd_unitdir}/system.conf.d/ \ + ${systemd_unitdir}/network/ \ " diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch b/poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch new file mode 100644 index 000000000..6f192a2ad --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch @@ -0,0 +1,50 @@ +From f491dfdc88ddbba36a24a75b2063aff027461b83 Mon Sep 17 00:00:00 2001 +From: Adrian Bunk +Date: Thu, 16 May 2019 22:20:07 +0300 +Subject: Replace the legacy ULONG_LONG_MAX with the C99 ULLONG_MAX + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk +--- + src/journal-remote/journal-remote-main.c | 4 ++-- + src/shutdown/shutdown.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c +index 2321a91e7b..d32c51c3ce 100644 +--- a/src/journal-remote/journal-remote-main.c ++++ b/src/journal-remote/journal-remote-main.c +@@ -528,7 +528,7 @@ static int dispatch_http_event(sd_event_source *event, + void *userdata) { + MHDDaemonWrapper *d = userdata; + int r; +- MHD_UNSIGNED_LONG_LONG timeout = ULONG_LONG_MAX; ++ MHD_UNSIGNED_LONG_LONG timeout = ULLONG_MAX; + + assert(d); + +@@ -538,7 +538,7 @@ static int dispatch_http_event(sd_event_source *event, + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "MHD_run failed!"); + if (MHD_get_timeout(d->daemon, &timeout) == MHD_NO) +- timeout = ULONG_LONG_MAX; ++ timeout = ULLONG_MAX; + + r = sd_event_source_set_time(d->timer_event, timeout); + if (r < 0) { +diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c +index 35b2c2aa46..9623fe9ea2 100644 +--- a/src/shutdown/shutdown.c ++++ b/src/shutdown/shutdown.c +@@ -212,7 +212,7 @@ static int sync_making_progress(unsigned long long *prev_dirty) { + } + + static void sync_with_progress(void) { +- unsigned long long dirty = ULONG_LONG_MAX; ++ unsigned long long dirty = ULLONG_MAX; + unsigned checks; + pid_t pid; + int r; +-- +2.20.1 + diff --git a/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch b/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch new file mode 100644 index 000000000..f0ae1db60 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch @@ -0,0 +1,41 @@ +From 18bddeaaf225d5becfc10cd2c6a1d037c90574a2 Mon Sep 17 00:00:00 2001 +From: Tomas Mraz +Date: Tue, 11 Jun 2019 15:10:21 +0200 +Subject: [PATCH] resolved: Fix incorrect use of OpenSSL BUF_MEM + +Fixes: #12763 +Upstream-Status: Backport [Not yet released] + https://github.com/systemd/systemd/commit/18bddeaaf225d5becfc10cd2c6a1d037c90574a2 +Signed-off-by: Alex Kiernan +--- + src/resolve/resolved-dnstls-openssl.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/resolve/resolved-dnstls-openssl.c b/src/resolve/resolved-dnstls-openssl.c +index f269e4d6487f..5d9223007581 100644 +--- a/src/resolve/resolved-dnstls-openssl.c ++++ b/src/resolve/resolved-dnstls-openssl.c +@@ -6,6 +6,7 @@ + + #include + #include ++#include + + #include "io-util.h" + #include "resolved-dns-stream.h" +@@ -34,9 +35,11 @@ static int dnstls_flush_write_buffer(DnsStream *stream) { + return ss; + } else { + stream->dnstls_data.write_buffer->length -= ss; +- stream->dnstls_data.write_buffer->data += ss; + + if (stream->dnstls_data.write_buffer->length > 0) { ++ memmove(stream->dnstls_data.write_buffer->data, ++ stream->dnstls_data.write_buffer->data + ss, ++ stream->dnstls_data.write_buffer->length); + stream->dnstls_events |= EPOLLOUT; + return -EAGAIN; + } +-- +2.17.1 + diff --git a/poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch b/poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch new file mode 100644 index 000000000..565deba1d --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch @@ -0,0 +1,35 @@ +From 010f917cf222d2c7205584056fe0e4c581a2e1b1 Mon Sep 17 00:00:00 2001 +From: Adrian Bunk +Date: Thu, 16 May 2019 22:09:46 +0300 +Subject: src/udev/udev-event.c must #include + +Fixes the following build failure with musl: +../git/src/udev/udev-event.c: In function 'spawn_wait': +../git/src/udev/udev-event.c:600:53: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'? + r = sd_event_add_child(e, NULL, spawn->pid, WEXITED, on_spawn_sigchld, spawn); + ^~~~~~~ + +This looks like a bug in udev-event.c that could also have broken +the compilation after some future glibc header reshuffle. + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk +--- + src/udev/udev-event.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c +index cab1b5ac0c..a0a7ac0f9e 100644 +--- a/src/udev/udev-event.c ++++ b/src/udev/udev-event.c +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + #include + + #include "sd-event.h" +-- +2.20.1 + diff --git a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch b/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch deleted file mode 100644 index dbaae4f39..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch +++ /dev/null @@ -1,27 +0,0 @@ -From aa6cd19ae428769a38fe7d95f98db0a9c19ae90a Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 25 Feb 2019 15:14:49 +0800 -Subject: [PATCH 12/24] fix missing ULONG_LONG_MAX definition in case of musl - -Upstream-Status: Inappropriate [musl] - -Signed-off-by: Chen Qi ---- - src/basic/missing_type.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h -index 23602eb..7d7c1e4 100644 ---- a/src/basic/missing_type.h -+++ b/src/basic/missing_type.h -@@ -39,3 +39,7 @@ typedef int (*__compar_fn_t)(const void *, const void *); - #ifndef FTW_SKIP_SIBLINGS - #define FTW_SKIP_SIBLINGS 3 - #endif -+ -+#ifndef ULONG_LONG_MAX -+#define ULONG_LONG_MAX ULLONG_MAX -+#endif --- -2.7.4 - diff --git a/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch b/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch deleted file mode 100644 index 47212bc3c..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6c5364736f5afd1106ac240f03806af53979cc60 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 25 Feb 2019 15:56:50 +0800 -Subject: [PATCH 22/24] include sys/wait.h to avoid compile failure - -Fix the following error: -src/udev/udev-event.c:581:53: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'? - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Chen Qi ---- - src/udev/udev-event.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c -index 07b7365..e532bb7 100644 ---- a/src/udev/udev-event.c -+++ b/src/udev/udev-event.c -@@ -8,7 +8,9 @@ - #include - #include - #include -- -+#ifndef __GLIBC__ -+#include -+#endif - #include "sd-event.h" - - #include "alloc-util.h" --- -2.7.4 - diff --git a/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch b/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch index 22186b8a7..37987b57f 100644 --- a/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch +++ b/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch @@ -1,12 +1,12 @@ -From 93e6b81b721d9eb966a257bfdf7df6e8280b885c Mon Sep 17 00:00:00 2001 +From 56fb30d93e96d7f983af0cb4dff9155da91dd671 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 16:37:19 +0800 -Subject: [PATCH 23/24] socket-util.h: include string.h +Subject: socket-util.h: include string.h Fix the following compile error: src/basic/socket-util.h:187:30: error: implicit declaration of function 'strnlen'; did you mean 'strlen'? [-Werror=implicit-function-declaration] -Upstream-Status: Pending +Upstream-Status: Accepted Signed-off-by: Chen Qi --- @@ -14,17 +14,17 @@ Signed-off-by: Chen Qi 1 file changed, 1 insertion(+) diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h -index 574d2b7..097aa4d 100644 +index 6920fd99ba..36ec422f2c 100644 --- a/src/basic/socket-util.h +++ b/src/basic/socket-util.h -@@ -12,6 +12,7 @@ +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include #include #include #include -+#include - - #include "macro.h" - #include "missing_socket.h" -- -2.7.4 +2.20.1 diff --git a/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch b/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch index bae9d3eaa..ada404b05 100644 --- a/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch +++ b/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch @@ -1,30 +1,30 @@ -From 2560a6b7b9adc5bd5dec0f87c2e3025ced8a2af2 Mon Sep 17 00:00:00 2001 +From 56e3c9581e2c9b7435d5fcbd74b47c7ccf6b3891 Mon Sep 17 00:00:00 2001 From: Andrej Valek Date: Thu, 18 Apr 2019 10:47:11 +0200 -Subject: [PATCH] fs-utilh: add missing sys/stat include +Subject: fs-util.h: add missing sys/stat include fix error: | error: passing argument 5 of 'chase_symlinks_and_stat' from incompatible pointer type [-Werror=incompatible-pointer-types] Signed-off-by: Andrej Valek -Upstream-Status: Pending +Upstream-Status: Accepted --- src/basic/fs-util.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h -index b965120..e2fdfff 100644 +index b9651205e6..c153bc4448 100644 --- a/src/basic/fs-util.h +++ b/src/basic/fs-util.h -@@ -8,6 +8,7 @@ +@@ -7,6 +7,7 @@ + #include #include #include - #include +#include + #include #include - #include "errno-util.h" -- -2.11.0 +2.20.1 diff --git a/poky/meta/recipes-core/systemd/systemd_242.bb b/poky/meta/recipes-core/systemd/systemd_242.bb index 20714fc70..29f64b995 100644 --- a/poky/meta/recipes-core/systemd/systemd_242.bb +++ b/poky/meta/recipes-core/systemd/systemd_242.bb @@ -24,10 +24,11 @@ SRC_URI += "file://touchscreen.rules \ file://0005-rules-watch-metadata-changes-in-ide-devices.patch \ file://0006-network-remove-redunant-link-name-in-message.patch \ file://99-default.preset \ + file://0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch \ " # patches needed by musl -SRC_URI += "${SRC_URI_MUSL}" +SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}" SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.patch \ file://0002-don-t-use-glibc-specific-qsort_r.patch \ file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \ @@ -38,7 +39,7 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa file://0008-add-missing-FTW_-macros-for-musl.patch \ file://0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch \ file://0011-Use-uintmax_t-for-handling-rlim_t.patch \ - file://0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch \ + file://0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch \ file://0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ file://0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ file://0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ @@ -47,7 +48,7 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa file://0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \ file://0020-missing_type.h-add-__compar_d_fn_t-definition.patch \ file://0021-avoid-redefinition-of-prctl_mm_map-structure.patch \ - file://0022-include-sys-wait.h-to-avoid-compile-failure.patch \ + file://0001-src-udev-udev-event.c-must-include-sys-wait.h.patch \ file://0023-socket-util.h-include-string.h.patch \ file://0024-test-json.c-define-M_PIl.patch \ file://0025-fs-utilh-add-missing-sys-stat-include.patch \ @@ -603,6 +604,8 @@ FILES_udev += "${base_sbindir}/udevd \ FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d" +RCONFLICTS_${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}" + INITSCRIPT_PACKAGES = "udev" INITSCRIPT_NAME_udev = "systemd-udevd" INITSCRIPT_PARAMS_udev = "start 03 S ." diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb index bfd890d92..8781492d4 100644 --- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb +++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb @@ -90,5 +90,4 @@ CONFFILES_${PN} = "${sysconfdir}/inittab" USE_VT ?= "1" SYSVINIT_ENABLED_GETTYS ?= "1" - - +RCONFLICTS_${PN} = "busybox-inittab" diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc index 34255a2de..84c701275 100644 --- a/poky/meta/recipes-core/util-linux/util-linux.inc +++ b/poky/meta/recipes-core/util-linux/util-linux.inc @@ -6,21 +6,21 @@ disk partitioning, kernel message management, filesystem creation, and system lo SECTION = "base" -LICENSE = "GPLv2+ & LGPLv2.1+ & BSD" +LICENSE = "GPLv2+ & LGPLv2.1+ & BSD-3-Clause & BSD-4-Clause" -LIC_FILES_CHKSUM = "file://README.licensing;md5=1715f5ee3e01203ca1e1e0b9ee65918c \ +LIC_FILES_CHKSUM = "file://README.licensing;md5=972a134f1e14b2b060e365df2fab0099 \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://Documentation/licenses/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://Documentation/licenses/COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \ - file://Documentation/licenses/COPYING.BSD-3;md5=58dcd8452651fc8b07d1f65ce07ca8af \ - file://Documentation/licenses/COPYING.UCB;md5=263860f8968d8bafa5392cab74285262 \ - file://libuuid/COPYING;md5=b442ffb762cf8d3e9df1b99e0bb4af70 \ - file://libmount/COPYING;md5=fb93f01d4361069c5616327705373b16 \ - file://libblkid/COPYING;md5=fb93f01d4361069c5616327705373b16" + file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \ + file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af \ + file://Documentation/licenses/COPYING.BSD-4-Clause-UC;md5=263860f8968d8bafa5392cab74285262 \ + file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c \ + file://libmount/COPYING;md5=7c7e39fb7d70ffe5d693a643e29987c2 \ + file://libblkid/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04" #gtk-doc is not enabled as it requires xmlto which requires util-linux inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest -DEPENDS = "zlib ncurses virtual/crypt" +DEPENDS = "libcap-ng ncurses virtual/crypt zlib" MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${MAJOR_VERSION}/${BP}.tar.xz \ @@ -102,6 +102,10 @@ EXTRA_OECONF = "\ --libdir='${UTIL_LINUX_LIBDIR}' \ " +EXTRA_OECONF_append_class-target = " --enable-setpriv" +EXTRA_OECONF_append_class-native = " --without-cap-ng --disable-setpriv" +EXTRA_OECONF_append_class-nativesdk = " --without-cap-ng --disable-setpriv" + PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" # inherit manpages requires this to be present, however util-linux does not have # configuration options, and installs manpages always @@ -109,8 +113,6 @@ PACKAGECONFIG[manpages] = "" PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam," # Respect the systemd feature for uuidd PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd" -# Build setpriv requires libcap-ng -PACKAGECONFIG[libcap-ng] = "--enable-setpriv,--disable-setpriv,libcap-ng," # Build python bindings for libmount PACKAGECONFIG[pylibmount] = "--with-python=3 --enable-pylibmount,--without-python --disable-pylibmount,python3" # Readline support @@ -142,7 +144,8 @@ RDEPENDS_${PN}_class-nativesdk = "" RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev ${PN}-libuuid-dev" RDEPENDS_${PN}-bash-completion += "${PN}-lsblk" -RDEPENDS_${PN}-ptest = "bash grep coreutils which btrfs-tools ${PN} sed" +RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs grep iproute2 kmod mdadm procps sed socat which xz" +RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug" RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff" ALLOW_EMPTY_${PN}-swaponoff = "1" @@ -247,6 +250,7 @@ ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile" ALTERNATIVE_LINK_NAME[renice] = "${bindir}/renice" ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev" ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill" +ALTERNATIVE_LINK_NAME[setpriv] = "${bindir}/setpriv" ALTERNATIVE_LINK_NAME[setsid] = "${bindir}/setsid" ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su" ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" @@ -259,7 +263,10 @@ ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare" ALTERNATIVE_LINK_NAME[utmpdump] = "${bindir}/utmpdump" ALTERNATIVE_LINK_NAME[wall] = "${bindir}/wall" -ALTERNATIVE_${PN}-doc = "blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1" +ALTERNATIVE_${PN}-doc = "\ +blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 \ +mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\ +" ALTERNATIVE_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}" ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8" @@ -275,6 +282,7 @@ ALTERNATIVE_LINK_NAME[mesg.1] = "${mandir}/man1/mesg.1" ALTERNATIVE_LINK_NAME[mountpoint.1] = "${mandir}/man1/mountpoint.1" ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8" ALTERNATIVE_LINK_NAME[rfkill.8] = "${mandir}/man8/rfkill.8" +ALTERNATIVE_LINK_NAME[setpriv.1] = "${mandir}/man1/setpriv.1" ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1" ALTERNATIVE_LINK_NAME[sulogin.8] = "${mandir}/man8/sulogin.8" ALTERNATIVE_LINK_NAME[utmpdump.1] = "${mandir}/man1/utmpdump.1" @@ -317,4 +325,8 @@ do_install_ptest() { sed -i -e \ '/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \ ${D}${PTEST_PATH}/tests/commands.sh + + + sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest + } diff --git a/poky/meta/recipes-core/util-linux/util-linux/run-ptest b/poky/meta/recipes-core/util-linux/util-linux/run-ptest index 03248325b..e135ee583 100644 --- a/poky/meta/recipes-core/util-linux/util-linux/run-ptest +++ b/poky/meta/recipes-core/util-linux/util-linux/run-ptest @@ -1,5 +1,14 @@ #!/bin/sh + +# When udevd (from eudev) is running most eject/mount tests will fail because +# of automount. We need to stop udevd before executing util-linux's tests. +# The systemd-udevd daemon doesn't change the outcome of util-linux's tests. +UDEV_PID="`pidof "@base_sbindir@/udevd"`" +if [ "x$UDEV_PID" != "x" ]; then + /etc/init.d/udev stop +fi + current_path=$(readlink -f $0) export bindir=$(dirname $current_path) export PATH=$bindir/bin:$PATH @@ -27,3 +36,8 @@ do }' done + +if [ "x$UDEV_PID" != "x" ]; then + /etc/init.d/udev start +fi + diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb b/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb deleted file mode 100644 index e0bd38363..000000000 --- a/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -require util-linux.inc - -SRC_URI += "file://configure-sbindir.patch \ - file://runuser.pamd \ - file://runuser-l.pamd \ - file://ptest.patch \ - file://run-ptest \ - file://display_testname_for_subtest.patch \ - file://avoid_parallel_tests.patch \ - file://check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch \ -" -SRC_URI[md5sum] = "9e5b1b8c1dc99455bdb6b462cf9436d9" -SRC_URI[sha256sum] = "86e6707a379c7ff5489c218cfaf1e3464b0b95acf7817db0bc5f179e356a67b2" diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb b/poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb new file mode 100644 index 000000000..538e27612 --- /dev/null +++ b/poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb @@ -0,0 +1,13 @@ +require util-linux.inc + +SRC_URI += "file://configure-sbindir.patch \ + file://runuser.pamd \ + file://runuser-l.pamd \ + file://ptest.patch \ + file://run-ptest \ + file://display_testname_for_subtest.patch \ + file://avoid_parallel_tests.patch \ + file://check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch \ +" +SRC_URI[md5sum] = "91653b90fcbe9c161153e39b8cc69fb5" +SRC_URI[sha256sum] = "631be8eac6cf6230ba478de211941d526808dba3cd436380793334496013ce97" diff --git a/poky/meta/recipes-devtools/apt/apt-native.inc b/poky/meta/recipes-devtools/apt/apt-native.inc index ef232c1eb..d82678632 100644 --- a/poky/meta/recipes-devtools/apt/apt-native.inc +++ b/poky/meta/recipes-devtools/apt/apt-native.inc @@ -7,8 +7,6 @@ USE_NLS = "yes" SRC_URI += "file://db_linking_hack.patch \ file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \ - file://0001-remove-Wsuggest-attribute-from-CFLAGS.patch \ - file://0001-fix-the-gcc-version-check.patch \ " python do_install () { diff --git a/poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch b/poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch deleted file mode 100644 index 3ac92462c..000000000 --- a/poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 53c5d0982f03fd0e24c4195d6e1e42b9ade9d500 Mon Sep 17 00:00:00 2001 -From: Roy Li -Date: Wed, 27 May 2015 14:30:28 +0800 -Subject: [PATCH] fix the gcc version check - -Upstream-Status: pending - -"GCC diagnostic push" is gcc 4.6 feature, gcc 4.4.7 on centos did not know it - -Signed-off-by: Roy Li ---- - apt-pkg/contrib/macros.h | 2 +- - apt-pkg/deb/debsrcrecords.cc | 4 ++-- - apt-pkg/srcrecords.cc | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/apt-pkg/contrib/macros.h b/apt-pkg/contrib/macros.h -index 2727fd8..0ecae50 100644 ---- a/apt-pkg/contrib/macros.h -+++ b/apt-pkg/contrib/macros.h -@@ -136,7 +136,7 @@ - #endif - #endif - --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #define APT_IGNORE_DEPRECATED_PUSH \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") -diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc -index e8295de..40160b2 100644 ---- a/apt-pkg/deb/debsrcrecords.cc -+++ b/apt-pkg/deb/debsrcrecords.cc -@@ -139,13 +139,13 @@ bool debSrcRecordParser::Files(std::vector &F) - for (std::vector::const_iterator f2 = F2.begin(); f2 != F2.end(); ++f2) - { - pkgSrcRecords::File2 f; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" - #endif - f.MD5Hash = f2->MD5Hash; - f.Size = f2->Size; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic pop - #endif - f.Path = f2->Path; -diff --git a/apt-pkg/srcrecords.cc b/apt-pkg/srcrecords.cc -index 53d7e60..1484828 100644 ---- a/apt-pkg/srcrecords.cc -+++ b/apt-pkg/srcrecords.cc -@@ -157,7 +157,7 @@ bool pkgSrcRecords::Parser::Files2(std::vector &F2)/*{{{*/ - for (std::vector::const_iterator f = F.begin(); f != F.end(); ++f) - { - pkgSrcRecords::File2 f2; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" - #endif -@@ -165,7 +165,7 @@ bool pkgSrcRecords::Parser::Files2(std::vector &F2)/*{{{*/ - f2.Size = f->Size; - f2.Hashes.push_back(HashString("MD5Sum", f->MD5Hash)); - f2.FileSize = f->Size; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic pop - #endif - f2.Path = f->Path; --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch b/poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch deleted file mode 100644 index 47870e3c8..000000000 --- a/poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 9fdf50d63df08ee65e7d8e62c35f19ac4841bca9 Mon Sep 17 00:00:00 2001 -From: Roy Li -Date: Wed, 27 May 2015 09:48:45 +0800 -Subject: [PATCH] remove Wsuggest-attribute from CXXFLAGS - -Upstream-Status: Inappropriate - -Wsuggest-attribute is GCC 4.6 feature, centos6 is using GCC -4.4.7 which unknown this flag, so remove it from CXXFLAGS - -Signed-off-by: Roy Li ---- - buildlib/environment.mak.in | 1 - - test/libapt/makefile | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/buildlib/environment.mak.in b/buildlib/environment.mak.in -index 9620722..c344d01 100644 ---- a/buildlib/environment.mak.in -+++ b/buildlib/environment.mak.in -@@ -14,7 +14,6 @@ CXXFLAGS+= @CXXFLAGS@ -Wall -Wextra - CXXFLAGS+= -Wcast-align -Wlogical-op -Wredundant-decls -Wmissing-declarations -Wunsafe-loop-optimizations - CXXFLAGS+= -Wctor-dtor-privacy -Wdisabled-optimization -Winit-self -Wmissing-include-dirs -Wnoexcept -Wsign-promo -Wundef - # suggests methods which already have such an attribute --#CXXFLAGS+= -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wsuggest-attribute=noreturn - # sanitize options to be enabled for testing - #CXXFLAGS+= -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr - # a bit too pedantic to be run by default -diff --git a/test/libapt/makefile b/test/libapt/makefile -index 5ff9cf6..c5b5190 100644 ---- a/test/libapt/makefile -+++ b/test/libapt/makefile -@@ -40,7 +40,6 @@ CXXFLAGS += -pthread - # disable some flags for gtest again - CXXFLAGS+= -Wno-missing-declarations - CXXFLAGS+= -Wno-missing-field-initializers --CXXFLAGS+= -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wno-suggest-attribute=noreturn - CXXFLAGS+= -Wno-undef - - # All Google Test headers. Usually you shouldn't change this definition. --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils_2.32.bb index 51a974890..89315915c 100644 --- a/poky/meta/recipes-devtools/binutils/binutils_2.32.bb +++ b/poky/meta/recipes-devtools/binutils/binutils_2.32.bb @@ -20,6 +20,11 @@ EXTRA_OECONF_class-native = "--enable-targets=all \ --enable-install-libbfd \ --disable-werror" +# gcc9.0 end up mis-compiling libbfd.so with O2 which then crashes on target +# So remove -O2 and use -Os as workaround +SELECTED_OPTIMIZATION_remove_mipsarch = "-O2" +SELECTED_OPTIMIZATION_append_mipsarch = " -Os" + do_install_class-native () { autotools_do_install @@ -47,3 +52,4 @@ PACKAGE_BEFORE_PN += "libbfd" FILES_libbfd = "${libdir}/libbfd-*.so" BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch b/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch index ac16c5770..8a41a3a76 100644 --- a/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch +++ b/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch @@ -1,4 +1,4 @@ -From 4c0d7733f30903f8d7c7cd7433f5c8a7505e35f5 Mon Sep 17 00:00:00 2001 +From 31bb81ef15c42b10844eb8af8738f672076edf0e Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Tue, 21 Apr 2015 00:48:45 -0700 Subject: [PATCH] doc/local.mk: dont-depend-on-help2man.patch @@ -10,15 +10,16 @@ Signed-off-by: Marko Lindqvist Updated for bison 3.0.4 Signed-off-by: Robert Yang + --- - doc/local.mk | 9 +-------- + doc/local.mk | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/doc/local.mk b/doc/local.mk -index c340452..642f385 100644 +index d12836e..f9bf332 100644 --- a/doc/local.mk +++ b/doc/local.mk -@@ -98,10 +98,7 @@ endif ! CROSS_COMPILING +@@ -101,10 +101,7 @@ endif ! CROSS_COMPILING ## Man Pages. ## ## ----------- ## @@ -30,9 +31,9 @@ index c340452..642f385 100644 # Differences to ignore when comparing the man page (the date). remove_time_stamp = \ -@@ -124,10 +121,6 @@ $(top_srcdir)/doc/bison.1: $(MAN_DEPS) +@@ -127,10 +124,6 @@ $(top_srcdir)/doc/bison.1: $(MAN_DEPS) fi - $(AM_V_at)rm -f $@*.t + $(AM_V_at)rm -f $@*.tmp -if ENABLE_YACC -nodist_man_MANS = doc/yacc.1 @@ -41,6 +42,3 @@ index c340452..642f385 100644 ## ----------------------------- ## ## Graphviz examples generation. ## ## ----------------------------- ## --- -1.7.9.5 - diff --git a/poky/meta/recipes-devtools/bison/bison_3.1.bb b/poky/meta/recipes-devtools/bison/bison_3.1.bb deleted file mode 100644 index a743bfdb8..000000000 --- a/poky/meta/recipes-devtools/bison/bison_3.1.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "GNU Project parser generator (yacc replacement)" -DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \ -an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \ -grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \ -little trouble." -HOMEPAGE = "http://www.gnu.org/software/bison/" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SECTION = "devel" -DEPENDS = "bison-native flex-native" - -SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ - file://dont-depend-on-help2man.patch.patch \ - file://add-with-bisonlocaledir.patch \ -" - -# No point in hardcoding path to m4, just use PATH -EXTRA_OECONF += "M4=m4" - -SRC_URI[md5sum] = "db7e431785ad96870bfa570a15cab079" -SRC_URI[sha256sum] = "7c2464ad6cb7b513b2c350a092d919327e1f63d12ff024836acbb504475da5c6" - -inherit autotools gettext texinfo - -# The automatic m4 path detection gets confused, so force the right value -acpaths = "-I ${S}/m4" - -do_compile_prepend() { - for i in mfcalc calc++ rpcalc; do mkdir -p ${B}/examples/$i; done -} - -do_install_append_class-native() { - create_wrapper ${D}/${bindir}/bison \ - BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison -} -do_install_append_class-nativesdk() { - create_wrapper ${D}/${bindir}/bison \ - BISON_PKGDATADIR=${datadir}/bison -} -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/bison/bison_3.3.2.bb b/poky/meta/recipes-devtools/bison/bison_3.3.2.bb new file mode 100644 index 000000000..adb9d48e9 --- /dev/null +++ b/poky/meta/recipes-devtools/bison/bison_3.3.2.bb @@ -0,0 +1,40 @@ +SUMMARY = "GNU Project parser generator (yacc replacement)" +DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \ +an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \ +grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \ +little trouble." +HOMEPAGE = "http://www.gnu.org/software/bison/" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +SECTION = "devel" +DEPENDS = "bison-native flex-native" + +SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ + file://dont-depend-on-help2man.patch.patch \ + file://add-with-bisonlocaledir.patch \ +" + +# No point in hardcoding path to m4, just use PATH +EXTRA_OECONF += "M4=m4" + +SRC_URI[md5sum] = "c9b552dee234b2f6b66e56b27e5234c9" +SRC_URI[sha256sum] = "039ee45b61d95e5003e7e8376f9080001b4066ff357bde271b7faace53b9d804" + +inherit autotools gettext texinfo + +# The automatic m4 path detection gets confused, so force the right value +acpaths = "-I ${S}/m4" + +do_compile_prepend() { + for i in mfcalc calc++ rpcalc; do mkdir -p ${B}/examples/$i; done +} + +do_install_append_class-native() { + create_wrapper ${D}/${bindir}/bison \ + BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison +} +do_install_append_class-nativesdk() { + create_wrapper ${D}/${bindir}/bison \ + BISON_PKGDATADIR=${datadir}/bison +} +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch index a8fcfc0f7..e23be3259 100644 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch @@ -1,4 +1,4 @@ -From eecc48ecad359cd4fab650ce49cfe57e99d1859d Mon Sep 17 00:00:00 2001 +From c384fa875c5128009ac8b6ba11a54a6bd4de575a Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 17 May 2018 12:21:31 +0300 Subject: [PATCH] Add LDFLAGS when building libbtrfsutil.so and python @@ -8,14 +8,14 @@ Upstream-Status: Pending Signed-off-by: Alexander Kanavin --- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 10f0e3b0..1697794c 100644 +index e25e256f..6df00186 100644 --- a/Makefile +++ b/Makefile -@@ -402,7 +402,7 @@ libbtrfsutil/%.o: libbtrfsutil/%.c +@@ -424,7 +424,7 @@ libbtrfsutil/%.o: libbtrfsutil/%.c libbtrfsutil.so.$(libbtrfsutil_version): $(libbtrfsutil_objects) @echo " [LD] $@" @@ -24,12 +24,3 @@ index 10f0e3b0..1697794c 100644 -shared -Wl,-soname,libbtrfsutil.so.$(libbtrfsutil_major) -o $@ libbtrfsutil.a: $(libbtrfsutil_objects) -@@ -417,7 +417,7 @@ ifeq ($(PYTHON_BINDINGS),1) - libbtrfsutil_python: libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so libbtrfsutil/btrfsutil.h - @echo " [PY] libbtrfsutil" - $(Q)cd libbtrfsutil/python; \ -- CFLAGS= LDFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build -+ CFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build - - .PHONY: libbtrfsutil_python - endif diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch new file mode 100644 index 000000000..f69507164 --- /dev/null +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch @@ -0,0 +1,43 @@ +From 730fe2ee2fb9e08cbe885f370afe83fecb18d048 Mon Sep 17 00:00:00 2001 +From: Joshua Watt +Date: Sun, 26 May 2019 21:26:04 -0500 +Subject: [PATCH] btrfs-progs: Pass CFLAGS and LDFLAGS to Python + +Adds Make variables EXTRA_PYTHON_CFLAGS and EXTRA_PYTHON_LDFLAGS which +can be used to pass CFLAGS and LDFLAGS respectively when building the +Python library. + +This is required to support reproducible builds, as there are often +compiler and linker flags that must be passed in order to generate +reproducible output (e.g. -fdebug-prefix-map) + +Signed-off-by: Joshua Watt +Upstream-Status: Accepted [https://github.com/kdave/btrfs-progs/pull/176] +--- + Makefile | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 505bd9c1..814767a8 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,6 +24,10 @@ + # DEBUG_CFLAGS additional compiler flags for debugging build + # EXTRA_CFLAGS additional compiler flags + # EXTRA_LDFLAGS additional linker flags ++# EXTRA_PYTHON_CFLAGS additional compiler flags to pass when building Python ++# library ++# EXTRA_PYTHON_LDFLAGS additional linker flags to pass when building Python ++# library + # + # Testing-specific options (see also tests/README.md): + # TEST=GLOB run test(s) from directories matching GLOB +@@ -439,7 +443,7 @@ ifeq ($(PYTHON_BINDINGS),1) + libbtrfsutil_python: libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so libbtrfsutil/btrfsutil.h + @echo " [PY] libbtrfsutil" + $(Q)cd libbtrfsutil/python; \ +- CFLAGS= LDFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build ++ CFLAGS="$(EXTRA_PYTHON_CFLAGS)" LDFLAGS="$(EXTRA_PYTHON_LDFLAGS)" $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build + + .PHONY: libbtrfsutil_python + endif diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb deleted file mode 100644 index a1e730966..000000000 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "Checksumming Copy on Write Filesystem utilities" -DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ -implementing advanced features while focusing on fault tolerance, repair and \ -easy administration. \ -This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ -btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." - -HOMEPAGE = "https://btrfs.wiki.kernel.org" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067" -SECTION = "base" -DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native" -DEPENDS_append_class-target = " udev" -RDEPENDS_${PN} = "libgcc" - -SRCREV = "5c748404b97035463c79ba4e5fd41b6858535509" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ - file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \ - file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ - " - -inherit autotools-brokensep pkgconfig manpages distutils3-base - -CLEANBROKEN = "1" - -PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" -EXTRA_OECONF = " --disable-zstd" -EXTRA_OECONF_append_libc-musl = " --disable-backtrace " -EXTRA_OEMAKE = "V=1" - -do_configure_prepend() { - # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. - mkdir -p ${S}/config - cp -f $(automake --print-libdir)/install-sh ${S}/config/ -} - -S = "${WORKDIR}/git" - -do_install_append() { - oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python -} - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb new file mode 100644 index 000000000..89cc1bfe2 --- /dev/null +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb @@ -0,0 +1,48 @@ +SUMMARY = "Checksumming Copy on Write Filesystem utilities" +DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ +implementing advanced features while focusing on fault tolerance, repair and \ +easy administration. \ +This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ +btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." + +HOMEPAGE = "https://btrfs.wiki.kernel.org" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067" +SECTION = "base" +DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native" +DEPENDS_append_class-target = " udev" +RDEPENDS_${PN} = "libgcc" + +SRCREV = "43013422dbce4bcc9ed77cfe65b294caa0985ec8" +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ + file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \ + file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + file://0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch \ + " + +inherit autotools-brokensep pkgconfig manpages distutils3-base + +CLEANBROKEN = "1" + +PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" +EXTRA_OECONF = " --disable-zstd" +EXTRA_OECONF_append_libc-musl = " --disable-backtrace " +EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" +EXTRA_PYTHON_CFLAGS_class-native = "" +EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" +EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" + +do_configure_prepend() { + # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. + mkdir -p ${S}/config + cp -f $(automake --print-libdir)/install-sh ${S}/config/ +} + +S = "${WORKDIR}/git" + +do_install_append() { + oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python +} + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/ccache/ccache.inc b/poky/meta/recipes-devtools/ccache/ccache.inc index a31acada5..dcbbf0ca7 100644 --- a/poky/meta/recipes-devtools/ccache/ccache.inc +++ b/poky/meta/recipes-devtools/ccache/ccache.inc @@ -10,6 +10,7 @@ LICENSE = "GPLv3+" DEPENDS = "zlib" SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz" +UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/" inherit autotools diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb deleted file mode 100644 index c70523dca..000000000 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb +++ /dev/null @@ -1,34 +0,0 @@ -DESCRIPTION = "C implementation of createrepo." -HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ - file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ - " - -SRCREV = "5b4c06f6af24633f667da37455281f24a4abd461" - -S = "${WORKDIR}/git" - -DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm" -DEPENDS_append_class-native = " file-replacement-native" - -inherit cmake pkgconfig bash-completion distutils3-base - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF" - -BBCLASSEXTEND = "native nativesdk" - -# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in -do_install_append_class-native() { - create_wrapper ${D}/${bindir}/createrepo_c \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm -} - -do_install_append_class-nativesdk() { - create_wrapper ${D}/${bindir}/createrepo_c \ - RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm - rm -rf ${D}/etc -} diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.0.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.0.bb new file mode 100644 index 000000000..2a3007c38 --- /dev/null +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.0.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "C implementation of createrepo." +HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ + file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ + " + +SRCREV = "8cffea9751b14366a7f6f3664f5d39fe4f0f9253" + +S = "${WORKDIR}/git" + +DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm libmodulemd" +DEPENDS_append_class-native = " file-replacement-native" + +inherit cmake pkgconfig bash-completion distutils3-base + +EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF" + +BBCLASSEXTEND = "native nativesdk" + +# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in +do_install_append_class-native() { + create_wrapper ${D}/${bindir}/createrepo_c \ + RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm +} + +do_install_append_class-nativesdk() { + create_wrapper ${D}/${bindir}/createrepo_c \ + RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm + rm -rf ${D}/etc +} diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch deleted file mode 100644 index b36850886..000000000 --- a/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 0ad7bba80d5b9035089ff2b2f77a774b5b201915 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 26 Aug 2015 16:28:59 +0300 -Subject: [PATCH 5/5] dpkg-compiler.m4: remove -Wvla -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Remove the -Wvla flag from the set of compiler warning flags, since gcc -on old host systems such as CentOS 5.8 doesn't support it, and it -causes a build error for dpkg-native. - -Upstream-Status: Pending - -Signed-off-by: Donn Seeley -Signed-off-by: Robert Yang -Signed-off-by: Aníbal Limón - -Update patch context for dpkg 1.19.4. - -Signed-off-by: Kai Kang ---- - m4/dpkg-compiler.m4 | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/m4/dpkg-compiler.m4 b/m4/dpkg-compiler.m4 -index a6192f6..4c7bf2e 100644 ---- a/m4/dpkg-compiler.m4 -+++ b/m4/dpkg-compiler.m4 -@@ -67,7 +67,6 @@ AC_DEFUN([DPKG_CHECK_COMPILER_WARNINGS], [ - DPKG_CHECK_COMPILER_FLAG([-Wshift-negative-value]) - DPKG_CHECK_COMPILER_FLAG([-Wsizeof-array-argument]) - DPKG_CHECK_COMPILER_FLAG([-Wswitch-bool]) -- DPKG_CHECK_COMPILER_FLAG([-Wvla]) - DPKG_CHECK_COMPILER_FLAG([-Wwrite-strings]) - - AC_LANG_CASE( --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch b/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch deleted file mode 100644 index 5debcc520..000000000 --- a/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 9d260d408f9e17abd1d1dccd685bd7e80a3655a9 Mon Sep 17 00:00:00 2001 -From: Donn Seeley -Date: Tue, 25 Feb 2014 17:44:04 +0800 -Subject: [PATCH] dpkg: fix a link problem for dpkg-native on CentOS 5.8 - -CentOS 5.8 kernels and headers support the sync_file_range() system call, -but glibc 2.5 doesn't provide the syscall stub. It appears that this -problem is known but will never be fixed: - - https://bugzilla.redhat.com/show_bug.cgi?id=518581 - - Bug 518581 - [RHEL5] glibc misses sync_file_range syscall interface - - Status: CLOSED CANTFIX - Last Closed: 2009-11-22 22:19:55 - - Kirby Zhou 2009-08-20 23:37:55 EDT - - Description of problem: - - glibc misses sync_file_range syscall interface. The header file and - man page both say 'sync_file_range' should exist. From man page, - sync_file_range should exist sinc kernel-2.6.17 - - Andreas Schwab 2009-08-21 03:24:24 EDT - - It has only been added to glibc 2.6, and cannot be backported due to - ABI breakage. You can always fall back to syscall(3). - - Ulrich Drepper 2009-11-22 22:19:55 EST - - As comment #1 says, no chance to backport this. - - See the syscall man page for instructions. - - Jon E 2010-03-19 10:32:37 EDT - - then why document it if it's broken and you're not going to fix it? - .. might want to FTFM over at sync_file_range(2) - in the meantime - - borrowing from glibc 2.6 .. any thoughts on this implementation for a - hacky workaround for those still on your "ancient releases" .. (eg: - RHEL5.3)?: - - #ifdef ULI_WONT_FIX_THIS_IN_GLIBC2.5 - #define NR_sync_file_range 277 - int sync_file_range (int fd, __off64_t from, __off64_t to, unsigned int flags) - { - return syscall (NR_sync_file_range, fd, - __LONG_LONG_PAIR ((long) (from >> 32), (long) from), - __LONG_LONG_PAIR ((long) (to >> 32), (long) to), - flags); - } - #endif - - assuming of course that you're on an x86_64 and include/asm- - x86_64/unistd.h has the correct entry - - (fwiw - fio is starting to use this now) - -Rather than attempting to provide an implementation using syscall(), -we take the more conservative route and ignore header support for -sync_file_range() flags when the glibc version is <= 2.5. - -Upstream-Status: Inappropriate [everyone else builds on newer hosts :-)] - -Signed-off-by: Donn Seeley -Signed-off-by: Lei Liu - -Update patch context for dpkg 1.19.4. - -Signed-off-by: Kai Kang ---- - src/archives.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/archives.c b/src/archives.c -index 8476a5c..b05a63f 100644 ---- a/src/archives.c -+++ b/src/archives.c -@@ -68,7 +68,7 @@ fd_writeback_init(int fd) - /* Ignore the return code as it should be considered equivalent to an - * asynchronous hint for the kernel, we are doing an fsync() later on - * anyway. */ --#if defined(SYNC_FILE_RANGE_WRITE) -+#if defined(SYNC_FILE_RANGE_WRITE) && __GLIBC_PREREQ(2, 6) - sync_file_range(fd, 0, 0, SYNC_FILE_RANGE_WRITE); - #elif defined(HAVE_POSIX_FADVISE) - posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED); -@@ -1093,7 +1093,7 @@ tarobject(struct tar_archive *tar, struct tar_entry *ti) - return 0; - } - --#if defined(SYNC_FILE_RANGE_WAIT_BEFORE) -+#if defined(SYNC_FILE_RANGE_WAIT_BEFORE) && __GLIBC_PREREQ(2, 6) - static void - tar_writeback_barrier(struct fsys_namenode_list *files, struct pkginfo *pkg) - { --- -2.16.2 - diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb index c3dbda77a..77fbfb5c9 100644 --- a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb +++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb @@ -9,12 +9,11 @@ SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \ file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \ file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \ file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \ - file://0005-dpkg-compiler.m4-remove-Wvla.patch \ file://0006-add-musleabi-to-known-target-tripets.patch \ file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \ file://0001-dpkg-Support-muslx32-build.patch \ " -SRC_URI_append_class-native = " file://glibc2.5-sync_file_range.patch \ +SRC_URI_append_class-native = " \ file://tweak-options-require-tar-1.27.patch \ " diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb index 0695ee9dc..ed946159b 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb @@ -113,7 +113,8 @@ ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2" ALTERNATIVE_${PN}-tune2fs = "tune2fs" ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs" -RDEPENDS_${PN}-ptest += "${PN} ${PN}-tune2fs coreutils procps bash bzip2 diffutils perl" +RDEPENDS_${PN}-ptest += "coreutils procps bash bzip2 diffutils perl sed" +RDEPENDS_${PN}-ptest += "e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs" do_compile_ptest() { oe_runmake -C ${B}/tests diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb index 157551e6a..5b8049f53 100644 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb @@ -44,7 +44,7 @@ inherit autotools gettext ptest EXTRA_OECONF = "--program-prefix=eu- --without-lzma" EXTRA_OECONF_append_class-native = " --without-bzlib" -RDEPENDS_${PN}-ptest = "libasm libelf bash make coreutils ${PN}-binutils ${PN}" +RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils" EXTRA_OECONF_append_class-target += "--disable-tests-rpath" @@ -61,6 +61,18 @@ do_compile_ptest() { do_install_ptest() { if [ ${PTEST_ENABLED} = "1" ]; then + # copy the files which needed by the cases + TEST_FILES="strip strip.o addr2line elfcmp objdump readelf size.o nm.o nm elflint" + install -d -m 755 ${D}${PTEST_PATH}/src + install -d -m 755 ${D}${PTEST_PATH}/libelf + install -d -m 755 ${D}${PTEST_PATH}/libdw + for test_file in ${TEST_FILES}; do + if [ -f ${B}/src/${test_file} ]; then + cp -r ${B}/src/${test_file} ${D}${PTEST_PATH}/src + fi + done + cp ${D}${libdir}/libelf-${PV}.so ${D}${PTEST_PATH}/libelf/libelf.so + cp ${D}${libdir}/libdw-${PV}.so ${D}${PTEST_PATH}/libdw/libdw.so cp -r ${S}/tests/ ${D}${PTEST_PATH} cp -r ${B}/tests/* ${D}${PTEST_PATH}/tests cp -r ${B}/config.h ${D}${PTEST_PATH} @@ -109,3 +121,26 @@ FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils # The package contains symlinks that trip up insane INSANE_SKIP_${MLPREFIX}libdw = "dev-so" + +# avoid stripping some generated binaries otherwise some of the tests such as test-nlist, +# run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail +INHIBIT_PACKAGE_STRIP_FILES = "\ + ${PKGD}${PTEST_PATH}/tests/test-nlist \ + ${PKGD}${PTEST_PATH}/tests/elfstrmerge \ + ${PKGD}${PTEST_PATH}/tests/backtrace-child \ + ${PKGD}${PTEST_PATH}/tests/backtrace-data \ + ${PKGD}${PTEST_PATH}/tests/deleted \ + ${PKGD}${PTEST_PATH}/src/strip \ + ${PKGD}${PTEST_PATH}/src/addr2line \ + ${PKGD}${PTEST_PATH}/src/elfcmp \ + ${PKGD}${PTEST_PATH}/src/objdump \ + ${PKGD}${PTEST_PATH}/src/readelf \ + ${PKGD}${PTEST_PATH}/src/nm \ + ${PKGD}${PTEST_PATH}/src/elflint \ + ${PKGD}${PTEST_PATH}/libelf/libelf.so \ + ${PKGD}${PTEST_PATH}/libdw/libdw.so \ + ${PKGD}${PTEST_PATH}/backends/libebl_i386.so \ + ${PKGD}${PTEST_PATH}/backends/libebl_x86_64.so \ +" + +EXCLUDE_PACKAGES_FROM_SHLIBS = "${PN}-ptest" diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch index 67ca0e4c7..de8c05f11 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch @@ -1,19 +1,47 @@ -From 61939d2e552e7645ecd671fa01cf1c7a72caa82a Mon Sep 17 00:00:00 2001 +From e82a055f85e398cb03a4eaf5faf351a3a1f19344 Mon Sep 17 00:00:00 2001 From: Mingli Yu -Date: Fri, 12 Apr 2019 16:29:58 +0800 -Subject: [PATCH] skip the test when gcc not deployed +Date: Tue, 21 May 2019 15:20:34 +0800 +Subject: [PATCH v2] skip the test when gcc not deployed Skip the tests which depend on gcc when gcc not deployed. -Upstream-Status: Inappropriate [oe specific] +Upstream-Status: Submitted[https://sourceware.org/ml/elfutils-devel/2019-q2/msg00091.html] Signed-off-by: Mingli Yu --- + tests/run-disasm-x86-64.sh | 2 ++ + tests/run-disasm-x86.sh | 2 ++ tests/run-strip-g.sh | 2 ++ tests/run-strip-nothing.sh | 2 ++ - 2 files changed, 4 insertions(+) + 4 files changed, 8 insertions(+) +diff --git a/tests/run-disasm-x86-64.sh b/tests/run-disasm-x86-64.sh +index a6be62b..c3ef238 100755 +--- a/tests/run-disasm-x86-64.sh ++++ b/tests/run-disasm-x86-64.sh +@@ -22,6 +22,8 @@ case "`uname -m`" in + x86_64) + tempfiles testfile45.o + testfiles testfile45.S testfile45.expect ++ # skip the case if no gcc deployed ++ which gcc || exit 77 + gcc -m64 -c -o testfile45.o testfile45.S + testrun_compare ${abs_top_builddir}/src/objdump -d testfile45.o < testfile45.expect + ;; +diff --git a/tests/run-disasm-x86.sh b/tests/run-disasm-x86.sh +index 28a3df7..544fc28 100755 +--- a/tests/run-disasm-x86.sh ++++ b/tests/run-disasm-x86.sh +@@ -22,6 +22,8 @@ case "`uname -m`" in + x86_64 | i?86 ) + tempfiles testfile44.o + testfiles testfile44.S testfile44.expect ++ # skip the case if no gcc deployed ++ which gcc || exit 77 + gcc -m32 -c -o testfile44.o testfile44.S + testrun_compare ${abs_top_builddir}/src/objdump -d testfile44.o < testfile44.expect + ;; diff --git a/tests/run-strip-g.sh b/tests/run-strip-g.sh index 1303819..a943dec 100755 --- a/tests/run-strip-g.sh diff --git a/poky/meta/recipes-devtools/file/file_5.36.bb b/poky/meta/recipes-devtools/file/file_5.36.bb deleted file mode 100644 index 9a0e5bd22..000000000 --- a/poky/meta/recipes-devtools/file/file_5.36.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "File classification tool" -DESCRIPTION = "File attempts to classify files depending \ -on their contents and prints a description if a match is found." -HOMEPAGE = "http://www.darwinsys.com/file/" -SECTION = "console/utils" - -# two clause BSD -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=0251eaec1188b20d9a72c502ecfdda1b" - -DEPENDS = "zlib file-replacement-native" -DEPENDS_class-native = "zlib-native" - -# Blacklist a bogus tag in upstream check -UPSTREAM_CHECK_GITTAGREGEX = "FILE(?P(?!6_23).+)" - -SRC_URI = "git://github.com/file/file.git" - -SRCREV = "f3a4b9ada3ca99e62c62b9aa78eee4935a8094fe" -S = "${WORKDIR}/git" - -inherit autotools update-alternatives - -ALTERNATIVE_${PN} = "file" -ALTERNATIVE_LINK_NAME[file] = "${bindir}/file" - -EXTRA_OEMAKE_append_class-target = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" -EXTRA_OEMAKE_append_class-nativesdk = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" - -FILES_${PN} += "${datadir}/misc/*.mgc" - -do_install_append_class-native() { - create_cmdline_wrapper ${D}/${bindir}/file \ - --magic-file ${datadir}/misc/magic.mgc -} - -do_install_append_class-nativesdk() { - create_cmdline_wrapper ${D}/${bindir}/file \ - --magic-file ${datadir}/misc/magic.mgc -} - -BBCLASSEXTEND = "native nativesdk" -PROVIDES_append_class-native = " file-replacement-native" -# Don't use NATIVE_PACKAGE_PATH_SUFFIX as that hides libmagic from anyone who -# depends on file-replacement-native. -bindir_append_class-native = "/file-native" diff --git a/poky/meta/recipes-devtools/file/file_5.37.bb b/poky/meta/recipes-devtools/file/file_5.37.bb new file mode 100644 index 000000000..803aa9a27 --- /dev/null +++ b/poky/meta/recipes-devtools/file/file_5.37.bb @@ -0,0 +1,46 @@ +SUMMARY = "File classification tool" +DESCRIPTION = "File attempts to classify files depending \ +on their contents and prints a description if a match is found." +HOMEPAGE = "http://www.darwinsys.com/file/" +SECTION = "console/utils" + +# two clause BSD +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=0251eaec1188b20d9a72c502ecfdda1b" + +DEPENDS = "zlib file-replacement-native" +DEPENDS_class-native = "zlib-native" + +# Blacklist a bogus tag in upstream check +UPSTREAM_CHECK_GITTAGREGEX = "FILE(?P(?!6_23).+)" + +SRC_URI = "git://github.com/file/file.git" + +SRCREV = "a0d5b0e4e9f97d74a9911e95cedd579852e25398" +S = "${WORKDIR}/git" + +inherit autotools update-alternatives + +ALTERNATIVE_${PN} = "file" +ALTERNATIVE_LINK_NAME[file] = "${bindir}/file" + +EXTRA_OEMAKE_append_class-target = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" +EXTRA_OEMAKE_append_class-nativesdk = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" + +FILES_${PN} += "${datadir}/misc/*.mgc" + +do_install_append_class-native() { + create_cmdline_wrapper ${D}/${bindir}/file \ + --magic-file ${datadir}/misc/magic.mgc +} + +do_install_append_class-nativesdk() { + create_cmdline_wrapper ${D}/${bindir}/file \ + --magic-file ${datadir}/misc/magic.mgc +} + +BBCLASSEXTEND = "native nativesdk" +PROVIDES_append_class-native = " file-replacement-native" +# Don't use NATIVE_PACKAGE_PATH_SUFFIX as that hides libmagic from anyone who +# depends on file-replacement-native. +bindir_append_class-native = "/file-native" diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc index fe9c7c360..1781ff5b5 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc @@ -36,7 +36,6 @@ SRC_URI = "\ file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ file://0004-64-bit-multilib-hack.patch \ file://0005-optional-libstdc.patch \ - file://0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \ file://0007-COLLECT_GCC_OPTIONS.patch \ file://0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ file://0009-fortran-cross-compile-hack.patch \ @@ -72,6 +71,8 @@ SRC_URI = "\ file://0039-riscv-Disable-multilib-for-OE.patch \ file://0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch \ file://0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch \ + file://0042-PR-debug-86964.patch \ + file://0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch \ " SRC_URI[md5sum] = "65b210b4bfe7e060051f799e0f994896" SRC_URI[sha256sum] = "64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c" diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch deleted file mode 100644 index 0cea228c8..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 1dba090a11c40b0926f9707a543d658c95e1f156 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:14:20 +0400 -Subject: [PATCH 06/40] gcc: disable MASK_RELAX_PIC_CALLS bit - -The new feature added after 4.3.3 -"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html" -will cause cc1plus eat up all the system memory when build webkit-gtk. -The function mips_get_pic_call_symbol keeps on recursively calling itself. -Disable this feature to walk aside the bug. - -Signed-off-by: Dongxiao Xu -Signed-off-by: Khem Raj - -Upstream-Status: Inappropriate [configuration] ---- - gcc/configure | 7 ------- - gcc/configure.ac | 7 ------- - 2 files changed, 14 deletions(-) - -diff --git a/gcc/configure b/gcc/configure -index 3901722400c..0c9b8ac5f55 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -27553,13 +27553,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6; - rm -f conftest.* - fi - fi -- if test $gcc_cv_as_ld_jalr_reloc = yes; then -- if test x$target_cpu_default = x; then -- target_cpu_default=MASK_RELAX_PIC_CALLS -- else -- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" -- fi -- fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5 - $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; } - -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 1b1362f70fe..53840363115 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4798,13 +4798,6 @@ x: - rm -f conftest.* - fi - fi -- if test $gcc_cv_as_ld_jalr_reloc = yes; then -- if test x$target_cpu_default = x; then -- target_cpu_default=MASK_RELAX_PIC_CALLS -- else -- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" -- fi -- fi - AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc) - - AC_CACHE_CHECK([linker for .eh_frame personality relaxation], --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch new file mode 100644 index 000000000..d9b5d39b7 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch @@ -0,0 +1,94 @@ +From beb921e1106b5bcbb0c6e2be84b241327e2ffc51 Mon Sep 17 00:00:00 2001 +From: law +Date: Mon, 25 Mar 2019 21:19:09 +0000 +Subject: [PATCH] PR debug/86964 * dwarf2out.c + (premark_used_variables): New function. (prune_unused_types_walk): Do + not mark not premarked external variables. (prune_unused_types): + Call premark_used_variables. + + * gcc.dg/debug/dwarf2/pr86964.c: New testcase. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269925 138bc75d-0d04-0410-961f-82ee72b054a4 + +Upstream-Status: Backport +Signed-off-by: Zhixiong Chi +--- + gcc/ChangeLog | 8 ++++++ + gcc/dwarf2out.c | 32 +++++++++++++++++++++ + 2 files changed, 40 insertions(+) + +diff --git a/gcc/ChangeLog b/gcc/ChangeLog +index 2075480ca2b..cdce539ac6f 100644 +--- a/gcc/ChangeLog ++++ b/gcc/ChangeLog +@@ -1,3 +1,11 @@ ++2019-03-25 Johan Karlsson ++ ++ PR debug/86964 ++ * dwarf2out.c (premark_used_variables): New function. ++ (prune_unused_types_walk): Do not mark not premarked external ++ variables. ++ (prune_unused_types): Call premark_used_variables. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c +index ae8bdee9981..b9a624e1ac7 100644 +--- a/gcc/dwarf2out.c ++++ b/gcc/dwarf2out.c +@@ -22658,6 +22658,21 @@ premark_types_used_by_global_vars (void) + ->traverse (NULL); + } + ++/* Mark all variables used by the symtab as perennial. */ ++ ++static void ++premark_used_variables (void) ++{ ++ /* Mark DIEs in the symtab as used. */ ++ varpool_node *var; ++ FOR_EACH_VARIABLE (var) ++ { ++ dw_die_ref die = lookup_decl_die (var->decl); ++ if (die) ++ die->die_perennial_p = 1; ++ } ++} ++ + /* Generate a DW_TAG_call_site DIE in function DECL under SUBR_DIE + for CA_LOC call arg loc node. */ + +@@ -29264,6 +29279,19 @@ prune_unused_types_walk (dw_die_ref die) + + return; + ++ case DW_TAG_variable: ++ if (flag_debug_only_used_symbols) ++ { ++ if (die->die_perennial_p) ++ break; ++ ++ /* premark_used_variables marks external variables --- don't mark ++ them here. */ ++ if (get_AT (die, DW_AT_external)) ++ return; ++ } ++ /* FALLTHROUGH */ ++ + default: + /* Mark everything else. */ + break; +@@ -29390,6 +29418,10 @@ prune_unused_types (void) + /* Mark types that are used in global variables. */ + premark_types_used_by_global_vars (); + ++ /* Mark variables used in the symtab. */ ++ if (flag_debug_only_used_symbols) ++ premark_used_variables (); ++ + /* Set the mark on nodes that are actually used. */ + prune_unused_types_walk (comp_unit_die ()); + for (node = limbo_die_list; node; node = node->next) +-- +2.21.0 diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch new file mode 100644 index 000000000..f15207f58 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch @@ -0,0 +1,813 @@ +From f98495d90ba66f67fe922a4b9229ea787041c418 Mon Sep 17 00:00:00 2001 +From: thopre01 +Date: Thu, 22 Nov 2018 14:46:17 +0000 +Subject: [PATCH] PR85434: Prevent spilling of stack protector guard's address + on ARM + +In case of high register pressure in PIC mode, address of the stack +protector's guard can be spilled on ARM targets as shown in PR85434, +thus allowing an attacker to control what the canary would be compared +against. ARM does lack stack_protect_set and stack_protect_test insn +patterns, defining them does not help as the address is expanded +regularly and the patterns only deal with the copy and test of the +guard with the canary. + +This problem does not occur for x86 targets because the PIC access and +the test can be done in the same instruction. Aarch64 is exempt too +because PIC access insn pattern are mov of UNSPEC which prevents it from +the second access in the epilogue being CSEd in cse_local pass with the +first access in the prologue. + +The approach followed here is to create new "combined" set and test +standard pattern names that take the unexpanded guard and do the set or +test. This allows the target to use an opaque pattern (eg. using UNSPEC) +to hide the individual instructions being generated to the compiler and +split the pattern into generic load, compare and branch instruction +after register allocator, therefore avoiding any spilling. This is here +implemented for the ARM targets. For targets not implementing these new +standard pattern names, the existing stack_protect_set and +stack_protect_test pattern names are used. + +To be able to split PIC access after register allocation, the functions +had to be augmented to force a new PIC register load and to control +which register it loads into. This is because sharing the PIC register +between prologue and epilogue could lead to spilling due to CSE again +which an attacker could use to control what the canary gets compared +against. + +2018-11-22 Thomas Preud'homme + + gcc/ + PR target/85434 + * target-insns.def (stack_protect_combined_set): Define new standard + pattern name. + (stack_protect_combined_test): Likewise. + * cfgexpand.c (stack_protect_prologue): Try new + stack_protect_combined_set pattern first. + * function.c (stack_protect_epilogue): Try new + stack_protect_combined_test pattern first. + * config/arm/arm.c (require_pic_register): Add pic_reg and compute_now + parameters to control which register to use as PIC register and force + reloading PIC register respectively. Insert in the stream of insns if + possible. + (legitimize_pic_address): Expose above new parameters in prototype and + adapt recursive calls accordingly. Use pic_reg if non null instead of + cached one. + (arm_load_pic_register): Add pic_reg parameter and use it if non null. + (arm_legitimize_address): Adapt to new legitimize_pic_address + prototype. + (thumb_legitimize_address): Likewise. + (arm_emit_call_insn): Adapt to require_pic_register prototype change. + (arm_expand_prologue): Adapt to arm_load_pic_register prototype change. + (thumb1_expand_prologue): Likewise. + * config/arm/arm-protos.h (legitimize_pic_address): Adapt to prototype + change. + (arm_load_pic_register): Likewise. + * config/arm/predicated.md (guard_addr_operand): New predicate. + (guard_operand): New predicate. + * config/arm/arm.md (movsi expander): Adapt to legitimize_pic_address + prototype change. + (builtin_setjmp_receiver expander): Adapt to thumb1_expand_prologue + prototype change. + (stack_protect_combined_set): New expander.. + (stack_protect_combined_set_insn): New insn_and_split pattern. + (stack_protect_set_insn): New insn pattern. + (stack_protect_combined_test): New expander. + (stack_protect_combined_test_insn): New insn_and_split pattern. + (arm_stack_protect_test_insn): New insn pattern. + * config/arm/thumb1.md (thumb1_stack_protect_test_insn): New insn pattern. + * config/arm/unspecs.md (UNSPEC_SP_SET): New unspec. + (UNSPEC_SP_TEST): Likewise. + * doc/md.texi (stack_protect_combined_set): Document new standard + pattern name. + (stack_protect_set): Clarify that the operand for guard's address is + legal. + (stack_protect_combined_test): Document new standard pattern name. + (stack_protect_test): Clarify that the operand for guard's address is + legal. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266379 138bc75d-0d04-0410-961f-82ee72b054a4 + +Upstream-Status: Backport +CVE: CVE-2018-12886 +Signed-off-by: Zhixiong Chi +--- + gcc/ChangeLog | 49 ++++++ + gcc/cfgexpand.c | 17 +++ + gcc/config/arm/arm-protos.h | 4 +- + gcc/config/arm/arm.c | 87 ++++++++--- + gcc/config/arm/arm.md | 163 +++++++++++++++++++- + gcc/config/arm/predicates.md | 17 +++ + gcc/config/arm/thumb1.md | 13 ++ + gcc/config/arm/unspecs.md | 3 + + gcc/doc/md.texi | 55 ++++++- + gcc/function.c | 32 +++- + gcc/target-insns.def | 2 + + 11 files changed, 399 insertions(+), 43 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/arm/pr85434.c + +diff --git a/gcc/ChangeLog b/gcc/ChangeLog +index e2ebfd34214..fa41e7112e0 100644 +--- a/gcc/ChangeLog ++++ b/gcc/ChangeLog +@@ -1537,6 +1537,55 @@ + * config/arm/neon.md (movv4hf, movv8hf): Refactored to.. + (mov): ..this and enable unconditionally. + ++2018-11-22 Thomas Preud'homme ++ ++ * target-insns.def (stack_protect_combined_set): Define new standard ++ pattern name. ++ (stack_protect_combined_test): Likewise. ++ * cfgexpand.c (stack_protect_prologue): Try new ++ stack_protect_combined_set pattern first. ++ * function.c (stack_protect_epilogue): Try new ++ stack_protect_combined_test pattern first. ++ * config/arm/arm.c (require_pic_register): Add pic_reg and compute_now ++ parameters to control which register to use as PIC register and force ++ reloading PIC register respectively. Insert in the stream of insns if ++ possible. ++ (legitimize_pic_address): Expose above new parameters in prototype and ++ adapt recursive calls accordingly. Use pic_reg if non null instead of ++ cached one. ++ (arm_load_pic_register): Add pic_reg parameter and use it if non null. ++ (arm_legitimize_address): Adapt to new legitimize_pic_address ++ prototype. ++ (thumb_legitimize_address): Likewise. ++ (arm_emit_call_insn): Adapt to require_pic_register prototype change. ++ (arm_expand_prologue): Adapt to arm_load_pic_register prototype change. ++ (thumb1_expand_prologue): Likewise. ++ * config/arm/arm-protos.h (legitimize_pic_address): Adapt to prototype ++ change. ++ (arm_load_pic_register): Likewise. ++ * config/arm/predicated.md (guard_addr_operand): New predicate. ++ (guard_operand): New predicate. ++ * config/arm/arm.md (movsi expander): Adapt to legitimize_pic_address ++ prototype change. ++ (builtin_setjmp_receiver expander): Adapt to thumb1_expand_prologue ++ prototype change. ++ (stack_protect_combined_set): New expander.. ++ (stack_protect_combined_set_insn): New insn_and_split pattern. ++ (stack_protect_set_insn): New insn pattern. ++ (stack_protect_combined_test): New expander. ++ (stack_protect_combined_test_insn): New insn_and_split pattern. ++ (arm_stack_protect_test_insn): New insn pattern. ++ * config/arm/thumb1.md (thumb1_stack_protect_test_insn): New insn pattern. ++ * config/arm/unspecs.md (UNSPEC_SP_SET): New unspec. ++ (UNSPEC_SP_TEST): Likewise. ++ * doc/md.texi (stack_protect_combined_set): Document new standard ++ pattern name. ++ (stack_protect_set): Clarify that the operand for guard's address is ++ legal. ++ (stack_protect_combined_test): Document new standard pattern name. ++ (stack_protect_test): Clarify that the operand for guard's address is ++ legal. ++ + 2018-11-22 Uros Bizjak + + Backport from mainline +diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c +index 8fa392fcd8a..21bdcdaeaa3 100644 +--- a/gcc/cfgexpand.c ++++ b/gcc/cfgexpand.c +@@ -6185,6 +6185,23 @@ stack_protect_prologue (void) + rtx x, y; + + x = expand_normal (crtl->stack_protect_guard); ++ ++ if (targetm.have_stack_protect_combined_set () && guard_decl) ++ { ++ gcc_assert (DECL_P (guard_decl)); ++ y = DECL_RTL (guard_decl); ++ ++ /* Allow the target to compute address of Y and copy it to X without ++ leaking Y into a register. This combined address + copy pattern ++ allows the target to prevent spilling of any intermediate results by ++ splitting it after register allocator. */ ++ if (rtx_insn *insn = targetm.gen_stack_protect_combined_set (x, y)) ++ { ++ emit_insn (insn); ++ return; ++ } ++ } ++ + if (guard_decl) + y = expand_normal (guard_decl); + else +diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h +index 8d6d2395b84..00f5f16ed02 100644 +--- a/gcc/config/arm/arm-protos.h ++++ b/gcc/config/arm/arm-protos.h +@@ -28,7 +28,7 @@ extern enum unwind_info_type arm_except_unwind_info (struct gcc_options *); + extern int use_return_insn (int, rtx); + extern bool use_simple_return_p (void); + extern enum reg_class arm_regno_class (int); +-extern void arm_load_pic_register (unsigned long); ++extern void arm_load_pic_register (unsigned long, rtx); + extern int arm_volatile_func (void); + extern void arm_expand_prologue (void); + extern void arm_expand_epilogue (bool); +@@ -69,7 +69,7 @@ extern int const_ok_for_dimode_op (HOST_WIDE_INT, enum rtx_code); + extern int arm_split_constant (RTX_CODE, machine_mode, rtx, + HOST_WIDE_INT, rtx, rtx, int); + extern int legitimate_pic_operand_p (rtx); +-extern rtx legitimize_pic_address (rtx, machine_mode, rtx); ++extern rtx legitimize_pic_address (rtx, machine_mode, rtx, rtx, bool); + extern rtx legitimize_tls_address (rtx, rtx); + extern bool arm_legitimate_address_p (machine_mode, rtx, bool); + extern int arm_legitimate_address_outer_p (machine_mode, rtx, RTX_CODE, int); +diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c +index 8393f0b87f3..12417de5102 100644 +--- a/gcc/config/arm/arm.c ++++ b/gcc/config/arm/arm.c +@@ -7379,21 +7379,34 @@ legitimate_pic_operand_p (rtx x) + return 1; + } + +-/* Record that the current function needs a PIC register. Initialize +- cfun->machine->pic_reg if we have not already done so. */ ++/* Record that the current function needs a PIC register. If PIC_REG is null, ++ a new pseudo is allocated as PIC register, otherwise PIC_REG is used. In ++ both case cfun->machine->pic_reg is initialized if we have not already done ++ so. COMPUTE_NOW decide whether and where to set the PIC register. If true, ++ PIC register is reloaded in the current position of the instruction stream ++ irregardless of whether it was loaded before. Otherwise, it is only loaded ++ if not already done so (crtl->uses_pic_offset_table is null). Note that ++ nonnull PIC_REG is only supported iff COMPUTE_NOW is true and null PIC_REG ++ is only supported iff COMPUTE_NOW is false. */ + + static void +-require_pic_register (void) ++require_pic_register (rtx pic_reg, bool compute_now) + { ++ gcc_assert (compute_now == (pic_reg != NULL_RTX)); ++ + /* A lot of the logic here is made obscure by the fact that this + routine gets called as part of the rtx cost estimation process. + We don't want those calls to affect any assumptions about the real + function; and further, we can't call entry_of_function() until we + start the real expansion process. */ +- if (!crtl->uses_pic_offset_table) ++ if (!crtl->uses_pic_offset_table || compute_now) + { +- gcc_assert (can_create_pseudo_p ()); ++ gcc_assert (can_create_pseudo_p () ++ || (pic_reg != NULL_RTX ++ && REG_P (pic_reg) ++ && GET_MODE (pic_reg) == Pmode)); + if (arm_pic_register != INVALID_REGNUM ++ && !compute_now + && !(TARGET_THUMB1 && arm_pic_register > LAST_LO_REGNUM)) + { + if (!cfun->machine->pic_reg) +@@ -7409,8 +7422,10 @@ require_pic_register (void) + { + rtx_insn *seq, *insn; + ++ if (pic_reg == NULL_RTX) ++ pic_reg = gen_reg_rtx (Pmode); + if (!cfun->machine->pic_reg) +- cfun->machine->pic_reg = gen_reg_rtx (Pmode); ++ cfun->machine->pic_reg = pic_reg; + + /* Play games to avoid marking the function as needing pic + if we are being called as part of the cost-estimation +@@ -7421,11 +7436,12 @@ require_pic_register (void) + start_sequence (); + + if (TARGET_THUMB1 && arm_pic_register != INVALID_REGNUM +- && arm_pic_register > LAST_LO_REGNUM) ++ && arm_pic_register > LAST_LO_REGNUM ++ && !compute_now) + emit_move_insn (cfun->machine->pic_reg, + gen_rtx_REG (Pmode, arm_pic_register)); + else +- arm_load_pic_register (0UL); ++ arm_load_pic_register (0UL, pic_reg); + + seq = get_insns (); + end_sequence (); +@@ -7438,16 +7454,33 @@ require_pic_register (void) + we can't yet emit instructions directly in the final + insn stream. Queue the insns on the entry edge, they will + be committed after everything else is expanded. */ +- insert_insn_on_edge (seq, +- single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun))); ++ if (currently_expanding_to_rtl) ++ insert_insn_on_edge (seq, ++ single_succ_edge ++ (ENTRY_BLOCK_PTR_FOR_FN (cfun))); ++ else ++ emit_insn (seq); + } + } + } + } + ++/* Legitimize PIC load to ORIG into REG. If REG is NULL, a new pseudo is ++ created to hold the result of the load. If not NULL, PIC_REG indicates ++ which register to use as PIC register, otherwise it is decided by register ++ allocator. COMPUTE_NOW forces the PIC register to be loaded at the current ++ location in the instruction stream, irregardless of whether it was loaded ++ previously. Note that nonnull PIC_REG is only supported iff COMPUTE_NOW is ++ true and null PIC_REG is only supported iff COMPUTE_NOW is false. ++ ++ Returns the register REG into which the PIC load is performed. */ ++ + rtx +-legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) ++legitimize_pic_address (rtx orig, machine_mode mode, rtx reg, rtx pic_reg, ++ bool compute_now) + { ++ gcc_assert (compute_now == (pic_reg != NULL_RTX)); ++ + if (GET_CODE (orig) == SYMBOL_REF + || GET_CODE (orig) == LABEL_REF) + { +@@ -7480,9 +7513,12 @@ legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) + rtx mem; + + /* If this function doesn't have a pic register, create one now. */ +- require_pic_register (); ++ require_pic_register (pic_reg, compute_now); ++ ++ if (pic_reg == NULL_RTX) ++ pic_reg = cfun->machine->pic_reg; + +- pat = gen_calculate_pic_address (reg, cfun->machine->pic_reg, orig); ++ pat = gen_calculate_pic_address (reg, pic_reg, orig); + + /* Make the MEM as close to a constant as possible. */ + mem = SET_SRC (pat); +@@ -7531,9 +7567,11 @@ legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) + + gcc_assert (GET_CODE (XEXP (orig, 0)) == PLUS); + +- base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), Pmode, reg); ++ base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), Pmode, reg, ++ pic_reg, compute_now); + offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1), Pmode, +- base == reg ? 0 : reg); ++ base == reg ? 0 : reg, pic_reg, ++ compute_now); + + if (CONST_INT_P (offset)) + { +@@ -7633,16 +7671,17 @@ static GTY(()) int pic_labelno; + low register. */ + + void +-arm_load_pic_register (unsigned long saved_regs ATTRIBUTE_UNUSED) ++arm_load_pic_register (unsigned long saved_regs ATTRIBUTE_UNUSED, rtx pic_reg) + { +- rtx l1, labelno, pic_tmp, pic_rtx, pic_reg; ++ rtx l1, labelno, pic_tmp, pic_rtx; + + if (crtl->uses_pic_offset_table == 0 || TARGET_SINGLE_PIC_BASE) + return; + + gcc_assert (flag_pic); + +- pic_reg = cfun->machine->pic_reg; ++ if (pic_reg == NULL_RTX) ++ pic_reg = cfun->machine->pic_reg; + if (TARGET_VXWORKS_RTP) + { + pic_rtx = gen_rtx_SYMBOL_REF (Pmode, VXWORKS_GOTT_BASE); +@@ -8718,7 +8757,8 @@ arm_legitimize_address (rtx x, rtx orig_x, machine_mode mode) + { + /* We need to find and carefully transform any SYMBOL and LABEL + references; so go back to the original address expression. */ +- rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX); ++ rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX, NULL_RTX, ++ false /*compute_now*/); + + if (new_x != orig_x) + x = new_x; +@@ -8786,7 +8826,8 @@ thumb_legitimize_address (rtx x, rtx orig_x, machine_mode mode) + { + /* We need to find and carefully transform any SYMBOL and LABEL + references; so go back to the original address expression. */ +- rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX); ++ rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX, NULL_RTX, ++ false /*compute_now*/); + + if (new_x != orig_x) + x = new_x; +@@ -18074,7 +18115,7 @@ arm_emit_call_insn (rtx pat, rtx addr, bool sibcall) + ? !targetm.binds_local_p (SYMBOL_REF_DECL (addr)) + : !SYMBOL_REF_LOCAL_P (addr))) + { +- require_pic_register (); ++ require_pic_register (NULL_RTX, false /*compute_now*/); + use_reg (&CALL_INSN_FUNCTION_USAGE (insn), cfun->machine->pic_reg); + } + +@@ -22006,7 +22047,7 @@ arm_expand_prologue (void) + mask &= THUMB2_WORK_REGS; + if (!IS_NESTED (func_type)) + mask |= (1 << IP_REGNUM); +- arm_load_pic_register (mask); ++ arm_load_pic_register (mask, NULL_RTX); + } + + /* If we are profiling, make sure no instructions are scheduled before +@@ -25237,7 +25278,7 @@ thumb1_expand_prologue (void) + /* Load the pic register before setting the frame pointer, + so we can use r7 as a temporary work register. */ + if (flag_pic && arm_pic_register != INVALID_REGNUM) +- arm_load_pic_register (live_regs_mask); ++ arm_load_pic_register (live_regs_mask, NULL_RTX); + + if (!frame_pointer_needed && CALLER_INTERWORKING_SLOT_SIZE > 0) + emit_move_insn (gen_rtx_REG (Pmode, ARM_HARD_FRAME_POINTER_REGNUM), +diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md +index c8dc9474b1b..f6196e93168 100644 +--- a/gcc/config/arm/arm.md ++++ b/gcc/config/arm/arm.md +@@ -6021,7 +6021,8 @@ + operands[1] = legitimize_pic_address (operands[1], SImode, + (!can_create_pseudo_p () + ? operands[0] +- : 0)); ++ : NULL_RTX), NULL_RTX, ++ false /*compute_now*/); + } + " + ) +@@ -6309,7 +6310,7 @@ + /* r3 is clobbered by set/longjmp, so we can use it as a scratch + register. */ + if (arm_pic_register != INVALID_REGNUM) +- arm_load_pic_register (1UL << 3); ++ arm_load_pic_register (1UL << 3, NULL_RTX); + DONE; + }") + +@@ -8634,6 +8635,164 @@ + (set_attr "conds" "clob")] + ) + ++;; Named patterns for stack smashing protection. ++(define_expand "stack_protect_combined_set" ++ [(parallel ++ [(set (match_operand:SI 0 "memory_operand" "") ++ (unspec:SI [(match_operand:SI 1 "guard_operand" "")] ++ UNSPEC_SP_SET)) ++ (clobber (match_scratch:SI 2 "")) ++ (clobber (match_scratch:SI 3 ""))])] ++ "" ++ "" ++) ++ ++;; Use a separate insn from the above expand to be able to have the mem outside ++;; the operand #1 when register allocation comes. This is needed to avoid LRA ++;; try to reload the guard since we need to control how PIC access is done in ++;; the -fpic/-fPIC case (see COMPUTE_NOW parameter when calling ++;; legitimize_pic_address ()). ++(define_insn_and_split "*stack_protect_combined_set_insn" ++ [(set (match_operand:SI 0 "memory_operand" "=m,m") ++ (unspec:SI [(mem:SI (match_operand:SI 1 "guard_addr_operand" "X,X"))] ++ UNSPEC_SP_SET)) ++ (clobber (match_scratch:SI 2 "=&l,&r")) ++ (clobber (match_scratch:SI 3 "=&l,&r"))] ++ "" ++ "#" ++ "reload_completed" ++ [(parallel [(set (match_dup 0) (unspec:SI [(mem:SI (match_dup 2))] ++ UNSPEC_SP_SET)) ++ (clobber (match_dup 2))])] ++ " ++{ ++ if (flag_pic) ++ { ++ /* Forces recomputing of GOT base now. */ ++ legitimize_pic_address (operands[1], SImode, operands[2], operands[3], ++ true /*compute_now*/); ++ } ++ else ++ { ++ if (address_operand (operands[1], SImode)) ++ operands[2] = operands[1]; ++ else ++ { ++ rtx mem = XEXP (force_const_mem (SImode, operands[1]), 0); ++ emit_move_insn (operands[2], mem); ++ } ++ } ++}" ++ [(set_attr "arch" "t1,32")] ++) ++ ++(define_insn "*stack_protect_set_insn" ++ [(set (match_operand:SI 0 "memory_operand" "=m,m") ++ (unspec:SI [(mem:SI (match_operand:SI 1 "register_operand" "+&l,&r"))] ++ UNSPEC_SP_SET)) ++ (clobber (match_dup 1))] ++ "" ++ "@ ++ ldr\\t%1, [%1]\;str\\t%1, %0\;movs\t%1,#0 ++ ldr\\t%1, [%1]\;str\\t%1, %0\;mov\t%1,#0" ++ [(set_attr "length" "8,12") ++ (set_attr "conds" "clob,nocond") ++ (set_attr "type" "multiple") ++ (set_attr "arch" "t1,32")] ++) ++ ++(define_expand "stack_protect_combined_test" ++ [(parallel ++ [(set (pc) ++ (if_then_else ++ (eq (match_operand:SI 0 "memory_operand" "") ++ (unspec:SI [(match_operand:SI 1 "guard_operand" "")] ++ UNSPEC_SP_TEST)) ++ (label_ref (match_operand 2)) ++ (pc))) ++ (clobber (match_scratch:SI 3 "")) ++ (clobber (match_scratch:SI 4 "")) ++ (clobber (reg:CC CC_REGNUM))])] ++ "" ++ "" ++) ++ ++;; Use a separate insn from the above expand to be able to have the mem outside ++;; the operand #1 when register allocation comes. This is needed to avoid LRA ++;; try to reload the guard since we need to control how PIC access is done in ++;; the -fpic/-fPIC case (see COMPUTE_NOW parameter when calling ++;; legitimize_pic_address ()). ++(define_insn_and_split "*stack_protect_combined_test_insn" ++ [(set (pc) ++ (if_then_else ++ (eq (match_operand:SI 0 "memory_operand" "m,m") ++ (unspec:SI [(mem:SI (match_operand:SI 1 "guard_addr_operand" "X,X"))] ++ UNSPEC_SP_TEST)) ++ (label_ref (match_operand 2)) ++ (pc))) ++ (clobber (match_scratch:SI 3 "=&l,&r")) ++ (clobber (match_scratch:SI 4 "=&l,&r")) ++ (clobber (reg:CC CC_REGNUM))] ++ "" ++ "#" ++ "reload_completed" ++ [(const_int 0)] ++{ ++ rtx eq; ++ ++ if (flag_pic) ++ { ++ /* Forces recomputing of GOT base now. */ ++ legitimize_pic_address (operands[1], SImode, operands[3], operands[4], ++ true /*compute_now*/); ++ } ++ else ++ { ++ if (address_operand (operands[1], SImode)) ++ operands[3] = operands[1]; ++ else ++ { ++ rtx mem = XEXP (force_const_mem (SImode, operands[1]), 0); ++ emit_move_insn (operands[3], mem); ++ } ++ } ++ if (TARGET_32BIT) ++ { ++ emit_insn (gen_arm_stack_protect_test_insn (operands[4], operands[0], ++ operands[3])); ++ rtx cc_reg = gen_rtx_REG (CC_Zmode, CC_REGNUM); ++ eq = gen_rtx_EQ (CC_Zmode, cc_reg, const0_rtx); ++ emit_jump_insn (gen_arm_cond_branch (operands[2], eq, cc_reg)); ++ } ++ else ++ { ++ emit_insn (gen_thumb1_stack_protect_test_insn (operands[4], operands[0], ++ operands[3])); ++ eq = gen_rtx_EQ (VOIDmode, operands[4], const0_rtx); ++ emit_jump_insn (gen_cbranchsi4 (eq, operands[4], const0_rtx, ++ operands[2])); ++ } ++ DONE; ++} ++ [(set_attr "arch" "t1,32")] ++) ++ ++(define_insn "arm_stack_protect_test_insn" ++ [(set (reg:CC_Z CC_REGNUM) ++ (compare:CC_Z (unspec:SI [(match_operand:SI 1 "memory_operand" "m,m") ++ (mem:SI (match_operand:SI 2 "register_operand" "+l,r"))] ++ UNSPEC_SP_TEST) ++ (const_int 0))) ++ (clobber (match_operand:SI 0 "register_operand" "=&l,&r")) ++ (clobber (match_dup 2))] ++ "TARGET_32BIT" ++ "ldr\t%0, [%2]\;ldr\t%2, %1\;eors\t%0, %2, %0" ++ [(set_attr "length" "8,12") ++ (set_attr "conds" "set") ++ (set_attr "type" "multiple") ++ (set_attr "arch" "t,32")] ++) ++ + (define_expand "casesi" + [(match_operand:SI 0 "s_register_operand" "") ; index to jump on + (match_operand:SI 1 "const_int_operand" "") ; lower bound +diff --git a/gcc/config/arm/predicates.md b/gcc/config/arm/predicates.md +index 7e198f9bce4..69718ee9c7a 100644 +--- a/gcc/config/arm/predicates.md ++++ b/gcc/config/arm/predicates.md +@@ -31,6 +31,23 @@ + || REGNO_REG_CLASS (REGNO (op)) != NO_REGS)); + }) + ++; Predicate for stack protector guard's address in ++; stack_protect_combined_set_insn and stack_protect_combined_test_insn patterns ++(define_predicate "guard_addr_operand" ++ (match_test "true") ++{ ++ return (CONSTANT_ADDRESS_P (op) ++ || !targetm.cannot_force_const_mem (mode, op)); ++}) ++ ++; Predicate for stack protector guard in stack_protect_combined_set and ++; stack_protect_combined_test patterns ++(define_predicate "guard_operand" ++ (match_code "mem") ++{ ++ return guard_addr_operand (XEXP (op, 0), mode); ++}) ++ + (define_predicate "imm_for_neon_inv_logic_operand" + (match_code "const_vector") + { +diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md +index 19dcdbcdd73..cd199c9c529 100644 +--- a/gcc/config/arm/thumb1.md ++++ b/gcc/config/arm/thumb1.md +@@ -1962,4 +1962,17 @@ + }" + [(set_attr "type" "mov_reg")] + ) ++ ++(define_insn "thumb1_stack_protect_test_insn" ++ [(set (match_operand:SI 0 "register_operand" "=&l") ++ (unspec:SI [(match_operand:SI 1 "memory_operand" "m") ++ (mem:SI (match_operand:SI 2 "register_operand" "+l"))] ++ UNSPEC_SP_TEST)) ++ (clobber (match_dup 2))] ++ "TARGET_THUMB1" ++ "ldr\t%0, [%2]\;ldr\t%2, %1\;eors\t%0, %2, %0" ++ [(set_attr "length" "8") ++ (set_attr "conds" "set") ++ (set_attr "type" "multiple")] ++) + +diff --git a/gcc/config/arm/unspecs.md b/gcc/config/arm/unspecs.md +index 19416736ef9..8f9dbcb08dc 100644 +--- a/gcc/config/arm/unspecs.md ++++ b/gcc/config/arm/unspecs.md +@@ -86,6 +86,9 @@ + UNSPEC_PROBE_STACK ; Probe stack memory reference + UNSPEC_NONSECURE_MEM ; Represent non-secure memory in ARMv8-M with + ; security extension ++ UNSPEC_SP_SET ; Represent the setting of stack protector's canary ++ UNSPEC_SP_TEST ; Represent the testing of stack protector's canary ++ ; against the guard. + ]) + + (define_c_enum "unspec" [ +diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi +index 295fc1f1143..895309b2f3c 100644 +--- a/gcc/doc/md.texi ++++ b/gcc/doc/md.texi +@@ -7450,22 +7450,61 @@ builtins. + The get/set patterns have a single output/input operand respectively, + with @var{mode} intended to be @code{Pmode}. + ++@cindex @code{stack_protect_combined_set} instruction pattern ++@item @samp{stack_protect_combined_set} ++This pattern, if defined, moves a @code{ptr_mode} value from an address ++whose declaration RTX is given in operand 1 to the memory in operand 0 ++without leaving the value in a register afterward. If several ++instructions are needed by the target to perform the operation (eg. to ++load the address from a GOT entry then load the @code{ptr_mode} value ++and finally store it), it is the backend's responsibility to ensure no ++intermediate result gets spilled. This is to avoid leaking the value ++some place that an attacker might use to rewrite the stack guard slot ++after having clobbered it. ++ ++If this pattern is not defined, then the address declaration is ++expanded first in the standard way and a @code{stack_protect_set} ++pattern is then generated to move the value from that address to the ++address in operand 0. ++ + @cindex @code{stack_protect_set} instruction pattern + @item @samp{stack_protect_set} +-This pattern, if defined, moves a @code{ptr_mode} value from the memory +-in operand 1 to the memory in operand 0 without leaving the value in +-a register afterward. This is to avoid leaking the value some place +-that an attacker might use to rewrite the stack guard slot after +-having clobbered it. ++This pattern, if defined, moves a @code{ptr_mode} value from the valid ++memory location in operand 1 to the memory in operand 0 without leaving ++the value in a register afterward. This is to avoid leaking the value ++some place that an attacker might use to rewrite the stack guard slot ++after having clobbered it. ++ ++Note: on targets where the addressing modes do not allow to load ++directly from stack guard address, the address is expanded in a standard ++way first which could cause some spills. + + If this pattern is not defined, then a plain move pattern is generated. + ++@cindex @code{stack_protect_combined_test} instruction pattern ++@item @samp{stack_protect_combined_test} ++This pattern, if defined, compares a @code{ptr_mode} value from an ++address whose declaration RTX is given in operand 1 with the memory in ++operand 0 without leaving the value in a register afterward and ++branches to operand 2 if the values were equal. If several ++instructions are needed by the target to perform the operation (eg. to ++load the address from a GOT entry then load the @code{ptr_mode} value ++and finally store it), it is the backend's responsibility to ensure no ++intermediate result gets spilled. This is to avoid leaking the value ++some place that an attacker might use to rewrite the stack guard slot ++after having clobbered it. ++ ++If this pattern is not defined, then the address declaration is ++expanded first in the standard way and a @code{stack_protect_test} ++pattern is then generated to compare the value from that address to the ++value at the memory in operand 0. ++ + @cindex @code{stack_protect_test} instruction pattern + @item @samp{stack_protect_test} + This pattern, if defined, compares a @code{ptr_mode} value from the +-memory in operand 1 with the memory in operand 0 without leaving the +-value in a register afterward and branches to operand 2 if the values +-were equal. ++valid memory location in operand 1 with the memory in operand 0 without ++leaving the value in a register afterward and branches to operand 2 if ++the values were equal. + + If this pattern is not defined, then a plain compare pattern and + conditional branch pattern is used. +diff --git a/gcc/function.c b/gcc/function.c +index 85a5d9f43f7..69523c1d723 100644 +--- a/gcc/function.c ++++ b/gcc/function.c +@@ -4937,18 +4937,34 @@ stack_protect_epilogue (void) + tree guard_decl = targetm.stack_protect_guard (); + rtx_code_label *label = gen_label_rtx (); + rtx x, y; +- rtx_insn *seq; ++ rtx_insn *seq = NULL; + + x = expand_normal (crtl->stack_protect_guard); +- if (guard_decl) +- y = expand_normal (guard_decl); ++ ++ if (targetm.have_stack_protect_combined_test () && guard_decl) ++ { ++ gcc_assert (DECL_P (guard_decl)); ++ y = DECL_RTL (guard_decl); ++ /* Allow the target to compute address of Y and compare it with X without ++ leaking Y into a register. This combined address + compare pattern ++ allows the target to prevent spilling of any intermediate results by ++ splitting it after register allocator. */ ++ seq = targetm.gen_stack_protect_combined_test (x, y, label); ++ } + else +- y = const0_rtx; ++ { ++ if (guard_decl) ++ y = expand_normal (guard_decl); ++ else ++ y = const0_rtx; ++ ++ /* Allow the target to compare Y with X without leaking either into ++ a register. */ ++ if (targetm.have_stack_protect_test ()) ++ seq = targetm.gen_stack_protect_test (x, y, label); ++ } + +- /* Allow the target to compare Y with X without leaking either into +- a register. */ +- if (targetm.have_stack_protect_test () +- && ((seq = targetm.gen_stack_protect_test (x, y, label)) != NULL_RTX)) ++ if (seq) + emit_insn (seq); + else + emit_cmp_and_jump_insns (x, y, EQ, NULL_RTX, ptr_mode, 1, label); +diff --git a/gcc/target-insns.def b/gcc/target-insns.def +index 9a552c3d11c..d39889b3522 100644 +--- a/gcc/target-insns.def ++++ b/gcc/target-insns.def +@@ -96,7 +96,9 @@ DEF_TARGET_INSN (sibcall_value, (rtx x0, rtx x1, rtx opt2, rtx opt3, + DEF_TARGET_INSN (simple_return, (void)) + DEF_TARGET_INSN (split_stack_prologue, (void)) + DEF_TARGET_INSN (split_stack_space_check, (rtx x0, rtx x1)) ++DEF_TARGET_INSN (stack_protect_combined_set, (rtx x0, rtx x1)) + DEF_TARGET_INSN (stack_protect_set, (rtx x0, rtx x1)) ++DEF_TARGET_INSN (stack_protect_combined_test, (rtx x0, rtx x1, rtx x2)) + DEF_TARGET_INSN (stack_protect_test, (rtx x0, rtx x1, rtx x2)) + DEF_TARGET_INSN (store_multiple, (rtx x0, rtx x1, rtx x2)) + DEF_TARGET_INSN (tablejump, (rtx x0, rtx x1)) +-- +2.21.0 diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc index eb2538020..4c648a169 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc @@ -33,7 +33,6 @@ SRC_URI = "\ file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ file://0004-64-bit-multilib-hack.patch \ file://0005-optional-libstdc.patch \ - file://0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \ file://0007-COLLECT_GCC_OPTIONS.patch \ file://0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ file://0009-fortran-cross-compile-hack.patch \ diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch deleted file mode 100644 index 4a552d516..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch +++ /dev/null @@ -1,59 +0,0 @@ -From ca3b3ac12d9b6e1065333dec89e7be2c733509d9 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:14:20 +0400 -Subject: [PATCH 06/37] gcc: disable MASK_RELAX_PIC_CALLS bit - -The new feature added after 4.3.3 -"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html" -will cause cc1plus eat up all the system memory when build webkit-gtk. -The function mips_get_pic_call_symbol keeps on recursively calling itself. -Disable this feature to walk aside the bug. - -Signed-off-by: Dongxiao Xu -Signed-off-by: Khem Raj - -Upstream-Status: Inappropriate [configuration] ---- - gcc/configure | 7 ------- - gcc/configure.ac | 7 ------- - 2 files changed, 14 deletions(-) - -diff --git a/gcc/configure b/gcc/configure -index 2e08396622e..d36cb51bc2c 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -27509,13 +27509,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6; - rm -f conftest.* - fi - fi -- if test $gcc_cv_as_ld_jalr_reloc = yes; then -- if test x$target_cpu_default = x; then -- target_cpu_default=MASK_RELAX_PIC_CALLS -- else -- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" -- fi -- fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5 - $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; } - -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 7d34911573e..dfa88c35f3f 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4816,13 +4816,6 @@ x: - rm -f conftest.* - fi - fi -- if test $gcc_cv_as_ld_jalr_reloc = yes; then -- if test x$target_cpu_default = x; then -- target_cpu_default=MASK_RELAX_PIC_CALLS -- else -- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" -- fi -- fi - AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc) - - AC_CACHE_CHECK([linker for .eh_frame personality relaxation], --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc b/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc deleted file mode 100644 index f28b57439..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc +++ /dev/null @@ -1,25 +0,0 @@ -LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" - -SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \ - file://0002-make-man-install-relative-to-DESTDIR.patch \ - file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \ - file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \ - file://0005-Add-support-for-Renesas-SH-sh4-architecture.patch \ - file://0006-Dont-disable-libreadline.a-when-using-disable-static.patch \ - file://0007-use-asm-sgidefs.h.patch \ - file://0008-Use-exorted-definitions-of-SIGRTMIN.patch \ - file://0009-Change-order-of-CFLAGS.patch \ - file://0010-resolve-restrict-keyword-conflict.patch \ - file://0011-Fix-invalid-sigprocmask-call.patch \ - file://gdbserver-ctrl-c-handling.patch \ - file://0001-Fix-build-with-latest-GCC-9.0-tree.patch \ - file://CVE-2017-9778.patch \ - file://0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch \ -" -SRC_URI[md5sum] = "f8b2562e830a4098dd5b5ea9e9296c70" -SRC_URI[sha256sum] = "0a6a432907a03c5c8eaad3c3cffd50c00a40c3a5e3c4039440624bae703f2202" - diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.3.inc b/poky/meta/recipes-devtools/gdb/gdb-8.3.inc new file mode 100644 index 000000000..db8d5f349 --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb-8.3.inc @@ -0,0 +1,21 @@ +LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" + +SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \ + file://0001-gdbserver-ctrl-c-handling.patch \ + file://0002-make-man-install-relative-to-DESTDIR.patch \ + file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \ + file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \ + file://0005-Add-support-for-Renesas-SH-sh4-architecture.patch \ + file://0006-Dont-disable-libreadline.a-when-using-disable-static.patch \ + file://0007-use-asm-sgidefs.h.patch \ + file://0008-Use-exorted-definitions-of-SIGRTMIN.patch \ + file://0009-Change-order-of-CFLAGS.patch \ + file://0010-resolve-restrict-keyword-conflict.patch \ + file://0011-Fix-invalid-sigprocmask-call.patch \ + " +SRC_URI[md5sum] = "bbd95b2f9b34621ad7a19a3965476314" +SRC_URI[sha256sum] = "802f7ee309dcc547d65a68d61ebd6526762d26c3051f52caebe2189ac1ffd72e" diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc index 475e4f08e..c9daf25a4 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc @@ -40,4 +40,3 @@ do_install_append() { rm -rf ${D}${exec_prefix}/lib cross_canadian_bindirlinks } - diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb deleted file mode 100644 index 301035940..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb +++ /dev/null @@ -1,3 +0,0 @@ -require gdb-common.inc -require gdb-cross-canadian.inc -require gdb-${PV}.inc diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb new file mode 100644 index 000000000..301035940 --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb @@ -0,0 +1,3 @@ +require gdb-common.inc +require gdb-cross-canadian.inc +require gdb-${PV}.inc diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb deleted file mode 100644 index 50cf159fd..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -require gdb-cross.inc -require gdb-${PV}.inc diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb new file mode 100644 index 000000000..50cf159fd --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb @@ -0,0 +1,2 @@ +require gdb-cross.inc +require gdb-${PV}.inc diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc index 52119a0aa..0f10b4173 100644 --- a/poky/meta/recipes-devtools/gdb/gdb.inc +++ b/poky/meta/recipes-devtools/gdb/gdb.inc @@ -8,3 +8,6 @@ inherit gettext # cross-canadian must not see this PACKAGES =+ "gdbserver" FILES_gdbserver = "${bindir}/gdbserver" + +ALLOW_EMPTY_gdbserver_riscv64 = "1" + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch deleted file mode 100644 index 2a962929d..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7406a50077773e78282a495cb32ef5b8179f6a33 Mon Sep 17 00:00:00 2001 -From: Dimitar Dimitrov -Date: Mon, 17 Dec 2018 21:30:52 +0200 -Subject: [PATCH] Fix build with latest GCC 9.0 tree - -A recent patch [1] to fix a GCC PR [2] actually broke the GDB build. -To fix, remove the stack pointer clobber. GCC will ignore the clobber -marker, and will not save or restore the stack pointer. - -I ran "make check-gdb" on x86_64 to ensure there are no regressions. - -gdb/ChangeLog: - -2018-12-17 Dimitar Dimitrov - - * nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Remove sp clobbers. - -[1] https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00532.html -[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813 - -Upstream-Status: Backport -Signed-off-by: Dimitar Dimitrov ---- - gdb/ChangeLog | 5 +++++ - gdb/nat/linux-ptrace.c | 4 ++-- - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c -index d4c1b8f9fd..187cfeb9bc 100644 ---- a/gdb/nat/linux-ptrace.c -+++ b/gdb/nat/linux-ptrace.c -@@ -161,14 +161,14 @@ linux_ptrace_test_ret_to_nx (void) - ".globl linux_ptrace_test_ret_to_nx_instr;" - "linux_ptrace_test_ret_to_nx_instr:" - "ret" -- : : "r" (return_address) : "%esp", "memory"); -+ : : "r" (return_address) : "memory"); - #elif defined __x86_64__ - asm volatile ("pushq %0;" - ".globl linux_ptrace_test_ret_to_nx_instr;" - "linux_ptrace_test_ret_to_nx_instr:" - "ret" - : : "r" ((uint64_t) (uintptr_t) return_address) -- : "%rsp", "memory"); -+ : "memory"); - #else - # error "!__i386__ && !__x86_64__" - #endif --- -2.20.1 diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch new file mode 100644 index 000000000..71fe7f83b --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch @@ -0,0 +1,26 @@ +This problem was created by the upstream commit 78708b7c8c +After applying the commit, it will send SIGINT to the process group(-signal_pid). +But if we use gdbserver send SIGINT, and the attached process is not a process +group leader, then the "kill (-signal_pid, SIGINT)" returns error and fails to +interrupt the attached process. + +Upstream-Status: Submitted [https://sourceware.org/bugzilla/show_bug.cgi?id=18945] + +Author: Josh Gao +Signed-off-by: Zhixiong Chi + +Index: gdb-8.2/gdb/gdbserver/linux-low.c +=================================================================== +--- gdb-8.2.orig/gdb/gdbserver/linux-low.c ++++ gdb-8.2/gdb/gdbserver/linux-low.c +@@ -5940,9 +5940,7 @@ linux_look_up_symbols (void) + static void + linux_request_interrupt (void) + { +- /* Send a SIGINT to the process group. This acts just like the user +- typed a ^C on the controlling terminal. */ +- kill (-signal_pid, SIGINT); ++ kill (signal_pid, SIGINT); + } + + /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET diff --git a/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch index bbe0020bf..170d512ef 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -1,24 +1,24 @@ -From 1dd5c44474b01d84de60faded960fef4a0a87e41 Mon Sep 17 00:00:00 2001 +From da30370c1e3ff7728a857e119e0529a9f097086e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 30 Apr 2016 18:32:14 -0700 -Subject: [PATCH 04/11] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC - systems +Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems Upstream-Status: Pending Signed-off-by: Khem Raj + --- gdb/gdbserver/linux-ppc-low.c | 6 ++++++ gdb/nat/ppc-linux.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c -index 47428c1529..841a5e02b9 100644 +index 1b695e53..1978347c 100644 --- a/gdb/gdbserver/linux-ppc-low.c +++ b/gdb/gdbserver/linux-ppc-low.c -@@ -21,7 +21,13 @@ - #include "linux-low.h" - +@@ -23,7 +23,13 @@ + #include "elf/common.h" + #include #include +#if !defined(__GLIBC__) +# define pt_regs uapi_pt_regs @@ -31,12 +31,12 @@ index 47428c1529..841a5e02b9 100644 #include "arch/ppc-linux-common.h" #include "arch/ppc-linux-tdesc.h" diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index 3d4d4fdc56..5b93af8d3a 100644 +index f1561b3b..40399361 100644 --- a/gdb/nat/ppc-linux.h +++ b/gdb/nat/ppc-linux.h @@ -18,7 +18,13 @@ - #ifndef PPC_LINUX_H - #define PPC_LINUX_H 1 + #ifndef NAT_PPC_LINUX_H + #define NAT_PPC_LINUX_H +#if !defined(__GLIBC__) +# define pt_regs uapi_pt_regs @@ -48,6 +48,3 @@ index 3d4d4fdc56..5b93af8d3a 100644 #include /* This sometimes isn't defined. */ --- -2.18.0 - diff --git a/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch b/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch index d32352b81..95bec5fd6 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch @@ -1,7 +1,7 @@ -From d97878b272bd7c4993f4205983ae8b7ecddbcf82 Mon Sep 17 00:00:00 2001 +From bab0b34672727c50313eb98b8522355cbe1bde36 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 30 Apr 2016 15:31:40 -0700 -Subject: [PATCH 08/11] Use exorted definitions of SIGRTMIN +Subject: [PATCH] Use exorted definitions of SIGRTMIN Define W_STOPCODE if not defined already @@ -14,16 +14,17 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=13012 Upstream-Status: Submitted Signed-off-by: Khem Raj + --- gdb/linux-nat.c | 4 ++-- gdb/nat/linux-nat.h | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c -index 64015e7520..acf950c38b 100644 +index 063afe26..fb1d2d5d 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c -@@ -4724,6 +4724,6 @@ lin_thread_get_thread_signals (sigset_t *set) +@@ -4713,6 +4713,6 @@ lin_thread_get_thread_signals (sigset_t *set) /* NPTL reserves the first two RT signals, but does not provide any way for the debugger to query the signal numbers - fortunately they don't change. */ @@ -33,7 +34,7 @@ index 64015e7520..acf950c38b 100644 + sigaddset (set, SIGRTMIN + 1); } diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h -index a90a124d3a..4f3e681962 100644 +index 1e32dd9e..b886305d 100644 --- a/gdb/nat/linux-nat.h +++ b/gdb/nat/linux-nat.h @@ -90,4 +90,8 @@ extern void linux_stop_lwp (struct lwp_info *lwp); @@ -44,7 +45,4 @@ index a90a124d3a..4f3e681962 100644 +#define W_STOPCODE(sig) ((sig) << 8 | 0x7f) +#endif + - #endif /* LINUX_NAT_H */ --- -2.18.0 - + #endif /* NAT_LINUX_NAT_H */ diff --git a/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch b/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch deleted file mode 100644 index f35033c12..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch +++ /dev/null @@ -1,52 +0,0 @@ -From cbbf1a8ba7f037ba3b83f090829edcbab542c285 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Thu, 13 Dec 2018 17:47:17 +0000 -Subject: [PATCH] AArch64: Fix the gdb build with musl libc - -Including asm/sigcontext.h together with libc headers is not valid. In -general linux headers may not work with libc headers, so mixing them -should be avoided, especially when the linux header defines types that -are also exposed in libc headers. - -In case of asm/sigcontext.h glibc happens to work because glibc signal.h -directly includes it, but e.g. in musl libc signal.h replicates the -sigcontext.h definitions in an abi compatible way which are in conflict -with the linux definitions when both headers are included. - -Since old linux headers or old libc headers may not have the necessary -definitions, gdb has to replicate the definitions it relies on anyway. -Which is fine since all definitions must be ABI stable. For linux apis -that are not available via libc headers, replicating the definitions in -gdb is the most reliable way to use them. - -Note: asm/ptrace.h includes asm/sigcontext.h in some versions of linux -headers, which is just as problematic and should be fixed in linux. - -gdb/ChangeLog: - - * nat/aarch64-sve-linux-ptrace.h: Include signal.h instead of - asm/sigcontext.h. - -[ChangeLog entry stripped so that patch applies cleanly] -Upstream-Status: Backport -Signed-off-by: Paul Barker ---- - gdb/nat/aarch64-sve-linux-ptrace.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gdb/nat/aarch64-sve-linux-ptrace.h b/gdb/nat/aarch64-sve-linux-ptrace.h -index 029e753ffe..172ae39432 100644 ---- a/gdb/nat/aarch64-sve-linux-ptrace.h -+++ b/gdb/nat/aarch64-sve-linux-ptrace.h -@@ -20,7 +20,7 @@ - #ifndef AARCH64_SVE_LINUX_PTRACE_H - #define AARCH64_SVE_LINUX_PTRACE_H - --#include -+#include - #include - #include - #include --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch b/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch deleted file mode 100644 index 935f2661f..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch +++ /dev/null @@ -1,99 +0,0 @@ -From a608b79f30ab3f670095e14ba3d3b5b24a19fe68 Mon Sep 17 00:00:00 2001 -From: Sandra Loosemore -Date: Thu, 25 Apr 2019 07:27:02 -0700 -Subject: [PATCH] Detect invalid length field in debug frame FDE header. - -GDB was failing to catch cases where a corrupt ELF or core file -contained an invalid length value in a Dwarf debug frame FDE header. -It was checking for buffer overflow but not cases where the length was -negative or caused pointer wrap-around. - -In addition to the additional validity check, this patch cleans up the -multiple signed/unsigned conversions on the length field so that an -unsigned representation is used consistently throughout. - -This patch fixes CVE-2017-9778 and PR gdb/21600. - -2019-04-25 Sandra Loosemore - Kang Li - - PR gdb/21600 - - * dwarf2-frame.c (read_initial_length): Be consistent about using - unsigned representation of length. - (decode_frame_entry_1): Likewise. Check for wraparound of - end pointer as well as buffer overflow. - -Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=723adb650a31859d7cc45832cb8adca0206455ed] -CVE: CVE-2017-9778 -Signed-off-by: Anuj Mittal ---- - gdb/ChangeLog | 11 +++++++++++ - gdb/dwarf2-frame.c | 14 +++++++------- - 2 files changed, 18 insertions(+), 7 deletions(-) - -diff --git a/gdb/ChangeLog b/gdb/ChangeLog -index 3711dc7..0a9720b 100644 ---- a/gdb/ChangeLog -+++ b/gdb/ChangeLog -@@ -1,3 +1,14 @@ -+2019-04-25 Sandra Loosemore -+ Kang Li -+ -+ PR gdb/21600 -+ -+ * dwarf2-frame.c (read_initial_length): Be consistent about using -+ unsigned representation of length. -+ (decode_frame_entry_1): Likewise. Check for wraparound of -+ end pointer as well as buffer overflow. -+ -+ - 2018-12-23 Joel Brobecker - - * version.in: Set GDB version number to 8.2.1. -diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c -index 91e16cf..a7b99fd 100644 ---- a/gdb/dwarf2-frame.c -+++ b/gdb/dwarf2-frame.c -@@ -1477,7 +1477,7 @@ static ULONGEST - read_initial_length (bfd *abfd, const gdb_byte *buf, - unsigned int *bytes_read_ptr) - { -- LONGEST result; -+ ULONGEST result; - - result = bfd_get_32 (abfd, buf); - if (result == 0xffffffff) -@@ -1780,7 +1780,7 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start, - { - struct gdbarch *gdbarch = get_objfile_arch (unit->objfile); - const gdb_byte *buf, *end; -- LONGEST length; -+ ULONGEST length; - unsigned int bytes_read; - int dwarf64_p; - ULONGEST cie_id; -@@ -1791,15 +1791,15 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start, - buf = start; - length = read_initial_length (unit->abfd, buf, &bytes_read); - buf += bytes_read; -- end = buf + length; -- -- /* Are we still within the section? */ -- if (end > unit->dwarf_frame_buffer + unit->dwarf_frame_size) -- return NULL; -+ end = buf + (size_t) length; - - if (length == 0) - return end; - -+ /* Are we still within the section? */ -+ if (end <= buf || end > unit->dwarf_frame_buffer + unit->dwarf_frame_size) -+ return NULL; -+ - /* Distinguish between 32 and 64-bit encoded frame info. */ - dwarf64_p = (bytes_read == 12); - --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch b/poky/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch deleted file mode 100644 index 71fe7f83b..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch +++ /dev/null @@ -1,26 +0,0 @@ -This problem was created by the upstream commit 78708b7c8c -After applying the commit, it will send SIGINT to the process group(-signal_pid). -But if we use gdbserver send SIGINT, and the attached process is not a process -group leader, then the "kill (-signal_pid, SIGINT)" returns error and fails to -interrupt the attached process. - -Upstream-Status: Submitted [https://sourceware.org/bugzilla/show_bug.cgi?id=18945] - -Author: Josh Gao -Signed-off-by: Zhixiong Chi - -Index: gdb-8.2/gdb/gdbserver/linux-low.c -=================================================================== ---- gdb-8.2.orig/gdb/gdbserver/linux-low.c -+++ gdb-8.2/gdb/gdbserver/linux-low.c -@@ -5940,9 +5940,7 @@ linux_look_up_symbols (void) - static void - linux_request_interrupt (void) - { -- /* Send a SIGINT to the process group. This acts just like the user -- typed a ^C on the controlling terminal. */ -- kill (-signal_pid, SIGINT); -+ kill (signal_pid, SIGINT); - } - - /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET diff --git a/poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb b/poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb deleted file mode 100644 index c6eac84dd..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb +++ /dev/null @@ -1,29 +0,0 @@ -require gdb.inc -require gdb-${PV}.inc - -inherit python3-dir - -EXTRA_OEMAKE_append_libc-musl = "\ - gt_cv_func_gnugettext1_libc=yes \ - gt_cv_func_gnugettext2_libc=yes \ - gl_cv_func_working_strerror=yes \ - gl_cv_func_strerror_0_works=yes \ - gl_cv_func_gettimeofday_clobber=no \ - " - -do_configure_prepend() { - if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then - cat > ${WORKDIR}/python << EOF -#!/bin/sh -case "\$2" in - --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;; - --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;; - --exec-prefix) echo "${exec_prefix}" ;; - *) exit 1 ;; -esac -exit 0 -EOF - chmod +x ${WORKDIR}/python - fi -} -CPPFLAGS_append_libc-musl = " -Drpl_gettimeofday=gettimeofday -Drpl_stat=stat" diff --git a/poky/meta/recipes-devtools/gdb/gdb_8.3.bb b/poky/meta/recipes-devtools/gdb/gdb_8.3.bb new file mode 100644 index 000000000..c6eac84dd --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb_8.3.bb @@ -0,0 +1,29 @@ +require gdb.inc +require gdb-${PV}.inc + +inherit python3-dir + +EXTRA_OEMAKE_append_libc-musl = "\ + gt_cv_func_gnugettext1_libc=yes \ + gt_cv_func_gnugettext2_libc=yes \ + gl_cv_func_working_strerror=yes \ + gl_cv_func_strerror_0_works=yes \ + gl_cv_func_gettimeofday_clobber=no \ + " + +do_configure_prepend() { + if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then + cat > ${WORKDIR}/python << EOF +#!/bin/sh +case "\$2" in + --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;; + --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;; + --exec-prefix) echo "${exec_prefix}" ;; + *) exit 1 ;; +esac +exit 0 +EOF + chmod +x ${WORKDIR}/python + fi +} +CPPFLAGS_append_libc-musl = " -Drpl_gettimeofday=gettimeofday -Drpl_stat=stat" diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb index e597ebedb..1630c1282 100644 --- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb +++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb @@ -8,8 +8,8 @@ DEPENDS_class-native = "hostperl-runtime-native" INHIBIT_DEFAULT_DEPS = "1" -SRCREV = "058639be227bbe8f03cc39f79f7ce84918012143" -PV = "20181128+git${SRCPV}" +SRCREV = "b98424c249119b79d3f709e26eb86f2fd4d5e5f3" +PV = "20190501+git${SRCPV}" SRC_URI = "git://git.savannah.gnu.org/config.git \ file://gnu-configize.in" diff --git a/poky/meta/recipes-devtools/go/go-1.11.inc b/poky/meta/recipes-devtools/go/go-1.11.inc deleted file mode 100644 index d03e26cea..000000000 --- a/poky/meta/recipes-devtools/go/go-1.11.inc +++ /dev/null @@ -1,23 +0,0 @@ -require go-common.inc - -GO_BASEVERSION = "1.11" -GO_MINOR = ".4" -PV .= "${GO_MINOR}" -FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" - -SRC_URI += "\ - file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \ - file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \ - file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \ - file://0004-ld-add-soname-to-shareable-objects.patch \ - file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \ - file://0006-cmd-dist-separate-host-and-target-builds.patch \ - file://0007-cmd-go-make-GOROOT-precious-by-default.patch \ - file://0008-use-GOBUILDMODE-to-set-buildmode.patch \ -" -SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch" - -SRC_URI[main.md5sum] = "a77697673215be465d1b583680ef2318" -SRC_URI[main.sha256sum] = "4cfd42720a6b1e79a8024895fa6607b69972e8e32446df76d6ce79801bbadb15" diff --git a/poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch b/poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch deleted file mode 100644 index 4442858c8..000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 7cc519aa5f84cf8fc7ac8c10fc69aa8040330ea0 Mon Sep 17 00:00:00 2001 -From: Matt Madison -Date: Mon, 19 Feb 2018 08:49:33 -0800 -Subject: [PATCH] allow CC and CXX to have multiple words - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison - ---- - src/cmd/go/internal/envcmd/env.go | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go -index afadbad..cedbfbf 100644 ---- a/src/cmd/go/internal/envcmd/env.go -+++ b/src/cmd/go/internal/envcmd/env.go -@@ -85,11 +85,11 @@ func MkEnv() []cfg.EnvVar { - - cc := cfg.DefaultCC(cfg.Goos, cfg.Goarch) - if env := strings.Fields(os.Getenv("CC")); len(env) > 0 { -- cc = env[0] -+ cc = strings.Join(env, " ") - } - cxx := cfg.DefaultCXX(cfg.Goos, cfg.Goarch) - if env := strings.Fields(os.Getenv("CXX")); len(env) > 0 { -- cxx = env[0] -+ cxx = strings.Join(env, " ") - } - env = append(env, cfg.EnvVar{Name: "CC", Value: cc}) - env = append(env, cfg.EnvVar{Name: "CXX", Value: cxx}) diff --git a/poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch b/poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch deleted file mode 100644 index 66b856187..000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch +++ /dev/null @@ -1,218 +0,0 @@ -From 47db69e20ed66fb62b01affd83d829654b829893 Mon Sep 17 00:00:00 2001 -From: Matt Madison -Date: Mon, 19 Feb 2018 08:50:59 -0800 -Subject: [PATCH] cmd/go: make content-based hash generation less pedantic - -Go 1.10's build tool now uses content-based hashes to -determine when something should be built or re-built. -This same mechanism is used to maintain a built-artifact -cache for speeding up builds. - -However, the hashes it generates include information that -doesn't work well with OE, nor with using a shared runtime -library. - -First, it embeds path names to source files, unless -building within GOROOT. This prevents the building -of a package in GOPATH for later staging into GOROOT. - -This patch adds support for the environment variable -GOPATH_OMIT_IN_ACTIONID. If present, path name -embedding is disabled. - -Second, if cgo is enabled, the build ID for cgo-related -packages will include the current value of the environment -variables for invoking the compiler (CC, CXX, FC) and -any CGO_xxFLAGS variables. Only if the settings used -during a compilation exactly match, character for character, -the values used for compiling runtime/cgo or any other -cgo-enabled package being imported, will the tool -decide that the imported package is up-to-date. - -This is done to help ensure correctness, but is overly -simplistic and effectively prevents the reuse of built -artifacts that use cgo (or shared runtime, which includes -runtime/cgo). - -This patch filters out all compiler flags except those -beginning with '-m'. The default behavior can be restored -by setting the CGO_PEDANTIC environment variable. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison - ---- - src/cmd/go/internal/envcmd/env.go | 2 +- - src/cmd/go/internal/work/exec.go | 63 ++++++++++++++++++++++--------- - 2 files changed, 46 insertions(+), 19 deletions(-) - -diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go -index cedbfbf..5763a0d 100644 ---- a/src/cmd/go/internal/envcmd/env.go -+++ b/src/cmd/go/internal/envcmd/env.go -@@ -128,7 +128,7 @@ func ExtraEnvVars() []cfg.EnvVar { - func ExtraEnvVarsCostly() []cfg.EnvVar { - var b work.Builder - b.Init() -- cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{}) -+ cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{}, false) - if err != nil { - // Should not happen - b.CFlags was given an empty package. - fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err) -diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go -index 12e1527..e41bfac 100644 ---- a/src/cmd/go/internal/work/exec.go -+++ b/src/cmd/go/internal/work/exec.go -@@ -174,6 +174,8 @@ func (b *Builder) Do(root *Action) { - wg.Wait() - } - -+var omitGopath = os.Getenv("GOPATH_OMIT_IN_ACTIONID") != "" -+ - // buildActionID computes the action ID for a build action. - func (b *Builder) buildActionID(a *Action) cache.ActionID { - p := a.Package -@@ -190,7 +192,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID { - // but it does not hide the exact value of $GOPATH. - // Include the full dir in that case. - // Assume b.WorkDir is being trimmed properly. -- if !p.Goroot && !strings.HasPrefix(p.Dir, b.WorkDir) { -+ if !p.Goroot && !omitGopath && !strings.HasPrefix(p.Dir, b.WorkDir) { - fmt.Fprintf(h, "dir %s\n", p.Dir) - } - fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch) -@@ -201,13 +203,13 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID { - } - if len(p.CgoFiles)+len(p.SwigFiles) > 0 { - fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo")) -- cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p) -- fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(), cppflags, cflags, ldflags) -+ cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p, true) -+ fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(true), cppflags, cflags, ldflags) - if len(p.CXXFiles)+len(p.SwigFiles) > 0 { -- fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(), cxxflags) -+ fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(true), cxxflags) - } - if len(p.FFiles) > 0 { -- fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(), fflags) -+ fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(true), fflags) - } - // TODO(rsc): Should we include the SWIG version or Fortran/GCC/G++/Objective-C compiler versions? - } -@@ -2096,33 +2098,33 @@ var ( - // gccCmd returns a gcc command line prefix - // defaultCC is defined in zdefaultcc.go, written by cmd/dist. - func (b *Builder) GccCmd(incdir, workdir string) []string { -- return b.compilerCmd(b.ccExe(), incdir, workdir) -+ return b.compilerCmd(b.ccExe(false), incdir, workdir) - } - - // gxxCmd returns a g++ command line prefix - // defaultCXX is defined in zdefaultcc.go, written by cmd/dist. - func (b *Builder) GxxCmd(incdir, workdir string) []string { -- return b.compilerCmd(b.cxxExe(), incdir, workdir) -+ return b.compilerCmd(b.cxxExe(false), incdir, workdir) - } - - // gfortranCmd returns a gfortran command line prefix. - func (b *Builder) gfortranCmd(incdir, workdir string) []string { -- return b.compilerCmd(b.fcExe(), incdir, workdir) -+ return b.compilerCmd(b.fcExe(false), incdir, workdir) - } - - // ccExe returns the CC compiler setting without all the extra flags we add implicitly. --func (b *Builder) ccExe() []string { -- return b.compilerExe(origCC, cfg.DefaultCC(cfg.Goos, cfg.Goarch)) -+func (b *Builder) ccExe(filtered bool) []string { -+ return b.compilerExe(origCC, cfg.DefaultCC(cfg.Goos, cfg.Goarch), filtered) - } - - // cxxExe returns the CXX compiler setting without all the extra flags we add implicitly. --func (b *Builder) cxxExe() []string { -- return b.compilerExe(origCXX, cfg.DefaultCXX(cfg.Goos, cfg.Goarch)) -+func (b *Builder) cxxExe(filtered bool) []string { -+ return b.compilerExe(origCXX, cfg.DefaultCXX(cfg.Goos, cfg.Goarch), filtered) - } - - // fcExe returns the FC compiler setting without all the extra flags we add implicitly. --func (b *Builder) fcExe() []string { -- return b.compilerExe(os.Getenv("FC"), "gfortran") -+func (b *Builder) fcExe(filtered bool) []string { -+ return b.compilerExe(os.Getenv("FC"), "gfortran", filtered) - } - - // compilerExe returns the compiler to use given an -@@ -2131,11 +2133,14 @@ func (b *Builder) fcExe() []string { - // of the compiler but can have additional arguments if they - // were present in the environment value. - // For example if CC="gcc -DGOPHER" then the result is ["gcc", "-DGOPHER"]. --func (b *Builder) compilerExe(envValue string, def string) []string { -+func (b *Builder) compilerExe(envValue string, def string, filtered bool) []string { - compiler := strings.Fields(envValue) - if len(compiler) == 0 { - compiler = []string{def} - } -+ if filtered { -+ return append(compiler[0:1], filterCompilerFlags(compiler[1:])...) -+ } - return compiler - } - -@@ -2285,8 +2290,23 @@ func envList(key, def string) []string { - return strings.Fields(v) - } - -+var filterFlags = os.Getenv("CGO_PEDANTIC") == "" -+ -+func filterCompilerFlags(flags []string) []string { -+ var newflags []string -+ if !filterFlags { -+ return flags -+ } -+ for _, flag := range flags { -+ if strings.HasPrefix(flag, "-m") { -+ newflags = append(newflags, flag) -+ } -+ } -+ return newflags -+} -+ - // CFlags returns the flags to use when invoking the C, C++ or Fortran compilers, or cgo. --func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) { -+func (b *Builder) CFlags(p *load.Package, filtered bool) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) { - defaults := "-g -O2" - - if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil { -@@ -2304,6 +2324,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l - if ldflags, err = buildFlags("LDFLAGS", defaults, p.CgoLDFLAGS, checkLinkerFlags); err != nil { - return - } -+ if filtered { -+ cppflags = filterCompilerFlags(cppflags) -+ cflags = filterCompilerFlags(cflags) -+ cxxflags = filterCompilerFlags(cxxflags) -+ fflags = filterCompilerFlags(fflags) -+ ldflags = filterCompilerFlags(ldflags) -+ } - - return - } -@@ -2319,7 +2346,7 @@ var cgoRe = regexp.MustCompile(`[/\\:]`) - - func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) (outGo, outObj []string, err error) { - p := a.Package -- cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p) -+ cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p, false) - if err != nil { - return nil, nil, err - } -@@ -2679,7 +2706,7 @@ func (b *Builder) swigIntSize(objdir string) (intsize string, err error) { - - // Run SWIG on one SWIG input file. - func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC string, err error) { -- cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p) -+ cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p, false) - if err != nil { - return "", "", err - } diff --git a/poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch b/poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch deleted file mode 100644 index b6ca40ede..000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 5c32c38bf19b24f0aadd78012d17ff5caa82151e Mon Sep 17 00:00:00 2001 -From: Matt Madison -Date: Sat, 17 Feb 2018 05:24:20 -0800 -Subject: [PATCH] allow GOTOOLDIR to be overridden in the environment - -to allow for split host/target build roots - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison - ---- - src/cmd/dist/build.go | 4 +++- - src/cmd/go/internal/cfg/cfg.go | 7 +++++-- - 2 files changed, 8 insertions(+), 3 deletions(-) - -Index: go/src/cmd/dist/build.go -=================================================================== ---- go.orig/src/cmd/dist/build.go -+++ go/src/cmd/dist/build.go -@@ -228,7 +228,9 @@ func xinit() { - workdir = xworkdir() - xatexit(rmworkdir) - -- tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch) -+ if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" { -+ tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch) -+ } - } - - // compilerEnv returns a map from "goos/goarch" to the -Index: go/src/cmd/go/internal/cfg/cfg.go -=================================================================== ---- go.orig/src/cmd/go/internal/cfg/cfg.go -+++ go/src/cmd/go/internal/cfg/cfg.go -@@ -116,7 +116,11 @@ func init() { - // variables. This matches the initialization of ToolDir in - // go/build, except for using GOROOT rather than - // runtime.GOROOT. -- build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH) -+ if s := os.Getenv("GOTOOLDIR"); s != "" { -+ build.ToolDir = filepath.Clean(s) -+ } else { -+ build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH) -+ } - } - } - diff --git a/poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch b/poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch deleted file mode 100644 index 004a33a02..000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 55eb8c95a89f32aec16b7764e78e8cf75169dc81 Mon Sep 17 00:00:00 2001 -From: Matt Madison -Date: Sat, 17 Feb 2018 06:26:10 -0800 -Subject: [PATCH] ld: add soname to shareable objects - -so that OE's shared library dependency handling -can find them. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison - ---- - src/cmd/link/internal/ld/lib.go | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go -index 220aab3..703925f 100644 ---- a/src/cmd/link/internal/ld/lib.go -+++ b/src/cmd/link/internal/ld/lib.go -@@ -1135,6 +1135,7 @@ func (ctxt *Link) hostlink() { - argv = append(argv, "-Wl,-z,relro") - } - argv = append(argv, "-shared") -+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) - if ctxt.HeadType != objabi.Hwindows { - // Pass -z nodelete to mark the shared library as - // non-closeable: a dlclose will do nothing. -@@ -1146,6 +1147,8 @@ func (ctxt *Link) hostlink() { - argv = append(argv, "-Wl,-z,relro") - } - argv = append(argv, "-shared") -+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) -+ - case BuildModePlugin: - if ctxt.HeadType == objabi.Hdarwin { - argv = append(argv, "-dynamiclib") -@@ -1154,6 +1157,7 @@ func (ctxt *Link) hostlink() { - argv = append(argv, "-Wl,-z,relro") - } - argv = append(argv, "-shared") -+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) - } - } - diff --git a/poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch b/poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch deleted file mode 100644 index ace8de9ea..000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 1bf15aa8fb773604b2524cfdab493fa4d8fa9285 Mon Sep 17 00:00:00 2001 -From: Matt Madison -Date: Sat, 17 Feb 2018 06:32:45 -0800 -Subject: [PATCH] make.bash: override CC when building dist and go_bootstrap - -for handling OE cross-canadian builds. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison - ---- - src/make.bash | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/make.bash b/src/make.bash -index 78882d9..25943d0 100755 ---- a/src/make.bash -+++ b/src/make.bash -@@ -163,7 +163,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then - exit 1 - fi - rm -f cmd/dist/dist --GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist -+CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist - - # -e doesn't propagate out of eval, so check success by hand. - eval $(./cmd/dist/dist env -p || echo FAIL=true) -@@ -194,7 +194,7 @@ fi - # Run dist bootstrap to complete make.bash. - # Bootstrap installs a proper cmd/dist, built with the new toolchain. - # Throw ours, built with Go 1.4, away after bootstrap. --./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@" -+CC="${BUILD_CC:-${CC}}" ./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@" - rm -f ./cmd/dist/dist - - # DO NOT ADD ANY NEW CODE HERE. diff --git a/poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch deleted file mode 100644 index 0c0d5da80..000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch +++ /dev/null @@ -1,282 +0,0 @@ -From fe0fcaf43ef3aab81541dad2a71b46254dc4cf6a Mon Sep 17 00:00:00 2001 -From: Matt Madison -Date: Sat, 17 Feb 2018 10:03:48 -0800 -Subject: [PATCH] cmd/dist: separate host and target builds - -Change the dist tool to allow for OE-style cross- -and cross-canadian builds: - - - command flags --host-only and --target only are added; - if one is present, the other changes mentioned below - take effect, and arguments may also be specified on - the command line to enumerate the package(s) to be - built. - - - for OE cross builds, go_bootstrap is always built for - the current build host, and is moved, along with the supporting - toolchain (asm, compile, etc.) to a separate 'native_native' - directory under GOROOT/pkg/tool. - - - go_bootstrap is not automatically removed after the build, - so it can be reused later (e.g., building both static and - shared runtime). - -Note that for --host-only builds, it would be nice to specify -just the "cmd" package to build only the go commands/tools, -the staleness checks in the dist tool will fail if the "std" -library has not also been built. So host-only builds have to -build everything anyway. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison - -more dist cleanup - ---- - src/cmd/dist/build.go | 153 ++++++++++++++++++++++++++++++------------ - 1 file changed, 111 insertions(+), 42 deletions(-) - -Index: go/src/cmd/dist/build.go -=================================================================== ---- go.orig/src/cmd/dist/build.go -+++ go/src/cmd/dist/build.go -@@ -39,6 +39,7 @@ var ( - goldflags string - workdir string - tooldir string -+ build_tooldir string - oldgoos string - oldgoarch string - exe string -@@ -50,6 +51,7 @@ var ( - - rebuildall bool - defaultclang bool -+ crossBuild bool - - vflag int // verbosity - ) -@@ -231,6 +233,8 @@ func xinit() { - if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" { - tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch) - } -+ build_tooldir = pathf("%s/pkg/tool/native_native", goroot) -+ - } - - // compilerEnv returns a map from "goos/goarch" to the -@@ -260,7 +264,6 @@ func compilerEnv(envName, def string) ma - if gohostos != goos || gohostarch != goarch { - m[gohostos+"/"+gohostarch] = m[""] - } -- m[""] = env - } - - for _, goos := range okgoos { -@@ -487,8 +490,10 @@ func setup() { - // We keep it in pkg/, just like the object directory above. - if rebuildall { - xremoveall(tooldir) -+ xremoveall(build_tooldir) - } - xmkdirall(tooldir) -+ xmkdirall(build_tooldir) - - // Remove tool binaries from before the tool/gohostos_gohostarch - xremoveall(pathf("%s/bin/tool", goroot)) -@@ -1155,11 +1160,29 @@ func cmdbootstrap() { - - var noBanner bool - var debug bool -+ var hostOnly bool -+ var targetOnly bool -+ var toBuild = []string { "std", "cmd" } -+ - flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all") - flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process") - flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner") -+ flag.BoolVar(&hostOnly, "host-only", hostOnly, "build only host binaries, not target") -+ flag.BoolVar(&targetOnly, "target-only", targetOnly, "build only target binaries, not host") - -- xflagparse(0) -+ xflagparse(-1) -+ -+ if (hostOnly && targetOnly) { -+ fatalf("specify only one of --host-only or --target-only\n") -+ } -+ crossBuild = hostOnly || targetOnly -+ if flag.NArg() > 0 { -+ if crossBuild { -+ toBuild = flag.Args() -+ } else { -+ fatalf("package names not permitted without --host-only or --target-only\n") -+ } -+ } - - if debug { - // cmd/buildid is used in debug mode. -@@ -1207,8 +1230,13 @@ func cmdbootstrap() { - xprintf("\n") - } - -- gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now -- goldflags = os.Getenv("GO_LDFLAGS") -+ // For split host/target cross/cross-canadian builds, we don't -+ // want to be setting these flags until after we have compiled -+ // the toolchain that runs on the build host. -+ if ! crossBuild { -+ gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now -+ goldflags = os.Getenv("GO_LDFLAGS") -+ } - goBootstrap := pathf("%s/go_bootstrap", tooldir) - cmdGo := pathf("%s/go", gobin) - if debug { -@@ -1237,7 +1265,11 @@ func cmdbootstrap() { - xprintf("\n") - } - xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n") -- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) -+ if crossBuild { -+ os.Setenv("CC", defaultcc[""]) -+ } else { -+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) -+ } - goInstall(goBootstrap, append([]string{"-i"}, toolchain...)...) - if debug { - run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full") -@@ -1274,50 +1306,84 @@ func cmdbootstrap() { - } - checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...) - -- if goos == oldgoos && goarch == oldgoarch { -- // Common case - not setting up for cross-compilation. -- timelog("build", "toolchain") -- if vflag > 0 { -- xprintf("\n") -+ if crossBuild { -+ gogcflags = os.Getenv("GO_GCFLAGS") -+ goldflags = os.Getenv("GO_LDFLAGS") -+ tool_files, _ := filepath.Glob(pathf("%s/*", tooldir)) -+ for _, f := range tool_files { -+ copyfile(pathf("%s/%s", build_tooldir, filepath.Base(f)), f, writeExec) -+ xremove(f) -+ } -+ os.Setenv("GOTOOLDIR", build_tooldir) -+ goBootstrap = pathf("%s/go_bootstrap", build_tooldir) -+ if hostOnly { -+ timelog("build", "host toolchain") -+ if vflag > 0 { -+ xprintf("\n") -+ } -+ xprintf("Building %s for host, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch) -+ goInstall(goBootstrap, toBuild...) -+ checkNotStale(goBootstrap, toBuild...) -+ // Skip cmdGo staleness checks here, since we can't necessarily run the cmdGo binary -+ -+ timelog("build", "target toolchain") -+ if vflag > 0 { -+ xprintf("\n") -+ } -+ } else if targetOnly { -+ goos = oldgoos -+ goarch = oldgoarch -+ os.Setenv("GOOS", goos) -+ os.Setenv("GOARCH", goarch) -+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) -+ xprintf("Building %s for target, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch) -+ goInstall(goBootstrap, toBuild...) -+ checkNotStale(goBootstrap, toBuild...) -+ // Skip cmdGo staleness checks here, since we can't run the target's cmdGo binary - } -- xprintf("Building packages and commands for %s/%s.\n", goos, goarch) - } else { -- // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH. -- // Finish GOHOSTOS/GOHOSTARCH installation and then -- // run GOOS/GOARCH installation. -- timelog("build", "host toolchain") -- if vflag > 0 { -- xprintf("\n") -+ -+ if goos == oldgoos && goarch == oldgoarch { -+ // Common case - not setting up for cross-compilation. -+ timelog("build", "toolchain") -+ if vflag > 0 { -+ xprintf("\n") -+ } -+ xprintf("Building packages and commands for %s/%s.\n", goos, goarch) -+ } else { -+ // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH. -+ // Finish GOHOSTOS/GOHOSTARCH installation and then -+ // run GOOS/GOARCH installation. -+ timelog("build", "host toolchain") -+ if vflag > 0 { -+ xprintf("\n") -+ } -+ xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch) -+ goInstall(goBootstrap, "std", "cmd") -+ checkNotStale(goBootstrap, "std", "cmd") -+ checkNotStale(cmdGo, "std", "cmd") -+ -+ timelog("build", "target toolchain") -+ if vflag > 0 { -+ xprintf("\n") -+ } -+ goos = oldgoos -+ goarch = oldgoarch -+ os.Setenv("GOOS", goos) -+ os.Setenv("GOARCH", goarch) -+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) -+ xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch) - } -- xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch) - goInstall(goBootstrap, "std", "cmd") - checkNotStale(goBootstrap, "std", "cmd") - checkNotStale(cmdGo, "std", "cmd") - -- timelog("build", "target toolchain") -- if vflag > 0 { -- xprintf("\n") -- } -- goos = oldgoos -- goarch = oldgoarch -- os.Setenv("GOOS", goos) -- os.Setenv("GOARCH", goarch) -- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) -- xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch) -- } -- targets := []string{"std", "cmd"} -- if goos == "js" && goarch == "wasm" { -- // Skip the cmd tools for js/wasm. They're not usable. -- targets = targets[:1] -- } -- goInstall(goBootstrap, targets...) -- checkNotStale(goBootstrap, targets...) -- checkNotStale(cmdGo, targets...) -- if debug { -- run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full") -- run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch)) -- checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...) -- copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec) -+ if debug { -+ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full") -+ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch)) -+ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...) -+ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec) -+ } - } - - // Check that there are no new files in $GOROOT/bin other than -@@ -1335,7 +1401,11 @@ func cmdbootstrap() { - } - - // Remove go_bootstrap now that we're done. -- xremove(pathf("%s/go_bootstrap", tooldir)) -+ // Except that for split host/target cross-builds, we need to -+ // keep it. -+ if ! crossBuild { -+ xremove(pathf("%s/go_bootstrap", tooldir)) -+ } - - // Print trailing banner unless instructed otherwise. - if !noBanner { diff --git a/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch b/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch deleted file mode 100644 index 29ef947ab..000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 7cc60b3887be2d5674b9f5d422d022976cf205e5 Mon Sep 17 00:00:00 2001 -From: Matt Madison -Date: Fri, 2 Mar 2018 06:00:20 -0800 -Subject: [PATCH] cmd/go: make GOROOT precious by default - -The go build tool normally rebuilds whatever it detects is -stale. This can be a problem when GOROOT is intended to -be read-only and the go runtime has been built as a shared -library, since we don't want every application to be rebuilding -the shared runtime - particularly in cross-build/packaging -setups, since that would lead to 'abi mismatch' runtime errors. - -This patch prevents the install and linkshared actions from -installing to GOROOT unless overridden with the GOROOT_OVERRIDE -environment variable. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison - ---- - src/cmd/go/internal/work/action.go | 3 +++ - src/cmd/go/internal/work/build.go | 5 +++++ - src/cmd/go/internal/work/exec.go | 25 +++++++++++++++++++++++++ - 3 files changed, 33 insertions(+) - -Index: go/src/cmd/go/internal/work/action.go -=================================================================== ---- go.orig/src/cmd/go/internal/work/action.go -+++ go/src/cmd/go/internal/work/action.go -@@ -600,6 +600,9 @@ func (b *Builder) addTransitiveLinkDeps( - if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] { - continue - } -+ if goRootPrecious && (p1.Standard || p1.Goroot) { -+ continue -+ } - haveShlib[filepath.Base(p1.Shlib)] = true - // TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild, - // we'll end up building an overall library or executable that depends at runtime -Index: go/src/cmd/go/internal/work/build.go -=================================================================== ---- go.orig/src/cmd/go/internal/work/build.go -+++ go/src/cmd/go/internal/work/build.go -@@ -147,6 +147,7 @@ See also: go install, go get, go clean. - } - - const concurrentGCBackendCompilationEnabledByDefault = true -+var goRootPrecious bool = true - - func init() { - // break init cycle -@@ -160,6 +161,10 @@ func init() { - - AddBuildFlags(CmdBuild) - AddBuildFlags(CmdInstall) -+ -+ if x := os.Getenv("GOROOT_OVERRIDE"); x != "" { -+ goRootPrecious = false -+ } - } - - // Note that flags consulted by other parts of the code -Index: go/src/cmd/go/internal/work/exec.go -=================================================================== ---- go.orig/src/cmd/go/internal/work/exec.go -+++ go/src/cmd/go/internal/work/exec.go -@@ -436,6 +436,23 @@ func (b *Builder) build(a *Action) (err - return fmt.Errorf("missing or invalid binary-only package; expected file %q", a.Package.Target) - } - -+ if goRootPrecious && (a.Package.Standard || a.Package.Goroot) { -+ _, err := os.Stat(a.Package.Target) -+ if err == nil { -+ a.built = a.Package.Target -+ a.Target = a.Package.Target -+ a.buildID = b.fileHash(a.Package.Target) -+ a.Package.Stale = false -+ a.Package.StaleReason = "GOROOT-resident package" -+ return nil -+ } -+ a.Package.Stale = true -+ a.Package.StaleReason = "missing or invalid GOROOT-resident package" -+ if b.IsCmdList { -+ return nil -+ } -+ } -+ - if err := b.Mkdir(a.Objdir); err != nil { - return err - } -@@ -1438,6 +1455,14 @@ func BuildInstallFunc(b *Builder, a *Act - return nil - } - -+ if goRootPrecious && a.Package != nil { -+ p := a.Package -+ if p.Standard || p.Goroot { -+ err := fmt.Errorf("attempting to install package %s into read-only GOROOT", p.ImportPath) -+ return err -+ } -+ } -+ - if err := b.Mkdir(a.Objdir); err != nil { - return err - } diff --git a/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch b/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch deleted file mode 100644 index 225cf439c..000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 0e0c247f0caec23528889ff09d98348cba9028f1 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Fri, 26 Oct 2018 15:02:32 +0800 -Subject: [PATCH] use GOBUILDMODE to set buildmode - -While building go itself, the go build system does not support -to set `-buildmode=pie' from environment. - -Add GOBUILDMODE to support it which make PIE executables the default -build mode, as PIE executables are required as of Yocto - -Refers: https://groups.google.com/forum/#!topic/golang-dev/gRCe5URKewI -Upstream-Status: Denied [upstream choose antoher solution: `17a256b -cmd/go: -buildmode=pie for android/arm'] - -Signed-off-by: Hongxu Jia ---- - src/cmd/go/internal/work/build.go | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -Index: go/src/cmd/go/internal/work/build.go -=================================================================== ---- go.orig/src/cmd/go/internal/work/build.go -+++ go/src/cmd/go/internal/work/build.go -@@ -223,7 +223,11 @@ func AddBuildFlags(cmd *base.Command) { - - cmd.Flag.Var(&load.BuildAsmflags, "asmflags", "") - cmd.Flag.Var(buildCompiler{}, "compiler", "") -- cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "") -+ if bm := os.Getenv("GOBUILDMODE"); bm != "" { -+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", bm, "") -+ } else { -+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "") -+ } - cmd.Flag.Var(&load.BuildGcflags, "gcflags", "") - cmd.Flag.Var(&load.BuildGccgoflags, "gccgoflags", "") - cmd.Flag.StringVar(&cfg.BuildMod, "mod", "", "") diff --git a/poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch b/poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch deleted file mode 100644 index fd67375c7..000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 35ea4be34e94912b00837e0f7c7385f2e98fe769 Mon Sep 17 00:00:00 2001 -From: Matt Madison -Date: Sun, 18 Feb 2018 08:24:05 -0800 -Subject: [PATCH] ld: replace glibc dynamic linker with musl - -Rework of patch by Khem Raj -for go 1.10. Should be applied conditionally on -musl being the system C library. - -Upstream-Status: Inappropriate [Real fix should be portable across libcs] - -Signed-off-by: Matt Madison - ---- - src/cmd/link/internal/amd64/obj.go | 2 +- - src/cmd/link/internal/arm/obj.go | 2 +- - src/cmd/link/internal/arm64/obj.go | 2 +- - src/cmd/link/internal/mips/obj.go | 2 +- - src/cmd/link/internal/mips64/obj.go | 2 +- - src/cmd/link/internal/ppc64/obj.go | 2 +- - src/cmd/link/internal/s390x/obj.go | 2 +- - src/cmd/link/internal/x86/obj.go | 2 +- - 8 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go -index 87e8091..f522a63 100644 ---- a/src/cmd/link/internal/amd64/obj.go -+++ b/src/cmd/link/internal/amd64/obj.go -@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) { - PEreloc1: pereloc1, - TLSIEtoLE: tlsIEtoLE, - -- Linuxdynld: "/lib64/ld-linux-x86-64.so.2", -+ Linuxdynld: "/lib64/ld-musl-x86-64.so.1", - Freebsddynld: "/libexec/ld-elf.so.1", - Openbsddynld: "/usr/libexec/ld.so", - Netbsddynld: "/libexec/ld.elf_so", -diff --git a/src/cmd/link/internal/arm/obj.go b/src/cmd/link/internal/arm/obj.go -index 788be68..1d2b90e 100644 ---- a/src/cmd/link/internal/arm/obj.go -+++ b/src/cmd/link/internal/arm/obj.go -@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) { - Gentext: gentext, - Machoreloc1: machoreloc1, - -- Linuxdynld: "/lib/ld-linux.so.3", // 2 for OABI, 3 for EABI -+ Linuxdynld: "/lib/ld-musl-armhf.so.1", - Freebsddynld: "/usr/libexec/ld-elf.so.1", - Openbsddynld: "/usr/libexec/ld.so", - Netbsddynld: "/libexec/ld.elf_so", -diff --git a/src/cmd/link/internal/arm64/obj.go b/src/cmd/link/internal/arm64/obj.go -index 405d22d..b115659 100644 ---- a/src/cmd/link/internal/arm64/obj.go -+++ b/src/cmd/link/internal/arm64/obj.go -@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) { - Gentext: gentext, - Machoreloc1: machoreloc1, - -- Linuxdynld: "/lib/ld-linux-aarch64.so.1", -+ Linuxdynld: "/lib/ld-musl-aarch64.so.1", - - Freebsddynld: "XXX", - Openbsddynld: "XXX", -diff --git a/src/cmd/link/internal/mips/obj.go b/src/cmd/link/internal/mips/obj.go -index c5d3451..fd85e63 100644 ---- a/src/cmd/link/internal/mips/obj.go -+++ b/src/cmd/link/internal/mips/obj.go -@@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) { - Gentext: gentext, - Machoreloc1: machoreloc1, - -- Linuxdynld: "/lib/ld.so.1", -+ Linuxdynld: "/lib/ld-musl-mipsle.so.1", - - Freebsddynld: "XXX", - Openbsddynld: "XXX", -diff --git a/src/cmd/link/internal/mips64/obj.go b/src/cmd/link/internal/mips64/obj.go -index 83974e5..097224f 100644 ---- a/src/cmd/link/internal/mips64/obj.go -+++ b/src/cmd/link/internal/mips64/obj.go -@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) { - Gentext: gentext, - Machoreloc1: machoreloc1, - -- Linuxdynld: "/lib64/ld64.so.1", -+ Linuxdynld: "/lib64/ld-musl-mips64le.so.1", - Freebsddynld: "XXX", - Openbsddynld: "XXX", - Netbsddynld: "XXX", -diff --git a/src/cmd/link/internal/ppc64/obj.go b/src/cmd/link/internal/ppc64/obj.go -index 273d9b4..a503abe 100644 ---- a/src/cmd/link/internal/ppc64/obj.go -+++ b/src/cmd/link/internal/ppc64/obj.go -@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) { - Machoreloc1: machoreloc1, - - // TODO(austin): ABI v1 uses /usr/lib/ld.so.1, -- Linuxdynld: "/lib64/ld64.so.1", -+ Linuxdynld: "/lib64/ld-musl-powerpc64le.so.1", - - Freebsddynld: "XXX", - Openbsddynld: "XXX", -diff --git a/src/cmd/link/internal/s390x/obj.go b/src/cmd/link/internal/s390x/obj.go -index 9ac7eb8..3825ff7 100644 ---- a/src/cmd/link/internal/s390x/obj.go -+++ b/src/cmd/link/internal/s390x/obj.go -@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) { - Gentext: gentext, - Machoreloc1: machoreloc1, - -- Linuxdynld: "/lib64/ld64.so.1", -+ Linuxdynld: "/lib64/ld-musl-s390x.so.1", - - // not relevant for s390x - Freebsddynld: "XXX", -diff --git a/src/cmd/link/internal/x86/obj.go b/src/cmd/link/internal/x86/obj.go -index 6a744dc..d81f392 100644 ---- a/src/cmd/link/internal/x86/obj.go -+++ b/src/cmd/link/internal/x86/obj.go -@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) { - Machoreloc1: machoreloc1, - PEreloc1: pereloc1, - -- Linuxdynld: "/lib/ld-linux.so.2", -+ Linuxdynld: "/lib/ld-musl-i386.so.1", - Freebsddynld: "/usr/libexec/ld-elf.so.1", - Openbsddynld: "/usr/libexec/ld.so", - Netbsddynld: "/usr/libexec/ld.elf_so", diff --git a/poky/meta/recipes-devtools/go/go-1.12.inc b/poky/meta/recipes-devtools/go/go-1.12.inc index 0cf0a63ff..7c4cac1fc 100644 --- a/poky/meta/recipes-devtools/go/go-1.12.inc +++ b/poky/meta/recipes-devtools/go/go-1.12.inc @@ -1,7 +1,7 @@ require go-common.inc GO_BASEVERSION = "1.12" -GO_MINOR = ".1" +GO_MINOR = ".5" PV .= "${GO_MINOR}" FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" @@ -19,5 +19,5 @@ SRC_URI += "\ " SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch" -SRC_URI[main.md5sum] = "09fe592343465560b4b8431d870b3df3" -SRC_URI[main.sha256sum] = "0be127684df4b842a64e58093154f9d15422f1405f1fcff4b2c36ffc6a15818a" +SRC_URI[main.md5sum] = "cb6f594d22dd79af4fff9779607b1b47" +SRC_URI[main.sha256sum] = "2aa5f088cbb332e73fc3def546800616b38d3bfe6b8713b8a6404060f22503e8" diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb deleted file mode 100644 index 7ac9449e4..000000000 --- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-cross-canadian.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross_1.11.bb b/poky/meta/recipes-devtools/go/go-cross_1.11.bb deleted file mode 100644 index 80b5a03f6..000000000 --- a/poky/meta/recipes-devtools/go/go-cross_1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-cross.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb deleted file mode 100644 index 1857c8a57..000000000 --- a/poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-crosssdk.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb b/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb index cfc2186b3..a4d631f8e 100644 --- a/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb +++ b/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb @@ -19,16 +19,6 @@ RDEPENDS_${PN}-dev += "bash" BBCLASSEXTEND = "native nativesdk" -# for x86 ends with textrel in ${PN} -# http://errors.yoctoproject.org/Errors/Details/185630/ -# ERROR: QA Issue: ELF binary '/work/i586-oe-linux/go-dep/0.4.1-r0/packages-split/go-dep/usr/bin/dep' has relocations in .text [textrel] -INSANE_SKIP_${PN} += "textrel" - -# for aarch64 ends with textrel in ${PN}-ptest -# http://errors.yoctoproject.org/Errors/Details/185632/ -# ERROR: QA Issue: ELF binary '/work/aarch64-oe-linux/go-dep/0.4.1-r0/packages-split/go-dep-ptest/usr/lib/go-dep/ptest/github.com/golang/dep/cmd/dep/dep.test' has relocations in .text [textrel] -INSANE_SKIP_${PN}-ptest += "textrel" - # For compiling ptest on mips and mips64, the current go-dep version fails with the go 1.11 toolchain. # error message: vet config not found PTEST_ENABLED_mips = "0" diff --git a/poky/meta/recipes-devtools/go/go-native_1.11.bb b/poky/meta/recipes-devtools/go/go-native_1.11.bb deleted file mode 100644 index bbf3c0dd7..000000000 --- a/poky/meta/recipes-devtools/go/go-native_1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require ${PN}.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.11.bb b/poky/meta/recipes-devtools/go/go-runtime_1.11.bb deleted file mode 100644 index 43b68b4e4..000000000 --- a/poky/meta/recipes-devtools/go/go-runtime_1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-${PV}.inc -require go-runtime.inc diff --git a/poky/meta/recipes-devtools/go/go_1.11.bb b/poky/meta/recipes-devtools/go/go_1.11.bb deleted file mode 100644 index 42cdb0430..000000000 --- a/poky/meta/recipes-devtools/go/go_1.11.bb +++ /dev/null @@ -1,14 +0,0 @@ -require go-${PV}.inc -require go-target.inc - -export GOBUILDMODE="" - -# Add pie to GOBUILDMODE to satisfy "textrel" QA checking, but mips -# doesn't support -buildmode=pie, so skip the QA checking for mips and its -# variants. -python() { - if 'mips' in d.getVar('TARGET_ARCH'): - d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel") - else: - d.setVar('GOBUILDMODE', 'pie') -} diff --git a/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch b/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch new file mode 100644 index 000000000..0c20c8458 --- /dev/null +++ b/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch @@ -0,0 +1,45 @@ +json-c: Backport --disable-werror patch to allow compilation under icecc + +icecc preprocesses source files locally before shipping them off to be compiled +on remote hosts. This preprocessing removes comments, including /* fallthough */ +comments in switch statements that normally prevent an implicit-fallthrough +warning, see https://github.com/icecc/icecream/issues/419 + +Rather than turning off -Werror, the upstream project has implemented a +configure option, --disable-werror, in response to Ross's +https://github.com/json-c/json-c/issues/489 + +This patch from +https://github.com/json-c/json-c/commit/21c886534f8927fdc0fb5f8647394f3e0e0874b8 + +Upstream-Status: Backport [Not yet released] +Signed-off-by: Douglas Royds + +From 21c886534f8927fdc0fb5f8647394f3e0e0874b8 Mon Sep 17 00:00:00 2001 +From: Pierce Lopez +Date: Sun, 9 Jun 2019 10:52:08 -0400 +Subject: [PATCH] build: add --disable-werror option to configure + +to omit -Werror compiler option +--- + configure.ac | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 272ea6af9c..798fd5b747 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -165,7 +165,12 @@ AS_IF([test "x$enable_Bsymbolic" = "xcheck"], + AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions]) + AC_SUBST(JSON_BSYMBOLIC_LDFLAGS) + +-AX_APPEND_COMPILE_FLAGS([-Wall -Werror -Wcast-qual -Wno-error=deprecated-declarations]) ++AC_ARG_ENABLE([werror], ++ AS_HELP_STRING([--disable-werror], [avoid treating compiler warnings as fatal errors])) ++ ++AS_IF([test "x$enable_werror" != "xno"], [AX_APPEND_COMPILE_FLAGS([-Werror])]) ++ ++AX_APPEND_COMPILE_FLAGS([-Wall -Wcast-qual -Wno-error=deprecated-declarations]) + AX_APPEND_COMPILE_FLAGS([-Wextra -Wwrite-string -Wno-unused-parameter]) + AX_APPEND_COMPILE_FLAGS([-D_GNU_SOURCE]) + diff --git a/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb b/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb index 5b10e6829..9d8f2e787 100644 --- a/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb +++ b/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb @@ -4,7 +4,9 @@ HOMEPAGE = "https://github.com/json-c/json-c/wiki" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2" -SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz" +SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \ + file://add-disable-werror-option-to-configure.patch \ + " SRC_URI[md5sum] = "04969ad59cc37bddd83741a08b98f350" SRC_URI[sha256sum] = "b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873" @@ -20,7 +22,9 @@ RPROVIDES_${PN} = "libjson" inherit autotools -EXTRA_OECONF = "--enable-rdrand" +EXTRA_OECONF = "--disable-werror \ + --enable-rdrand \ + " do_configure_prepend() { # Clean up autoconf cruft that should not be in the tarball diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch new file mode 100644 index 000000000..1568d25f9 --- /dev/null +++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch @@ -0,0 +1,28 @@ +From b651551134cf170038b3e01812e3767969506491 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 21 May 2019 17:59:26 +0200 +Subject: [PATCH] v1/meson.build: explicitly specify the v1 library in + pkgconfig + +Otherwise there would be '-lmodulemd' which resolves +to v2 version if both v2 and v1 are present in the sysroot. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + modulemd/v1/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modulemd/v1/meson.build b/modulemd/v1/meson.build +index 4d54e69..9144ca2 100644 +--- a/modulemd/v1/meson.build ++++ b/modulemd/v1/meson.build +@@ -325,7 +325,7 @@ configure_file( + ) + + pkg.generate( +- libraries : modulemd_v1_lib, ++ libraries : '-l:libmodulemd.so.1', + subdirs : v1_header_path, + version : libmodulemd_v1_version, + name : 'modulemd', diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb index 40715c06e..d4ffd281b 100644 --- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb +++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb @@ -5,16 +5,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=25a3927bff3ee4f5b21bcb0ed3fcd6bb" SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \ file://0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch \ file://0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch \ + file://0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch \ " -PV = "2.2.3" -SRCREV = "4c75c6f8b39ee57aebe8fd36ef84808e893048c0" +PV = "2.4.0" +SRCREV = "d0a3eda45e083e8fe8b329a2310a53abdbf1e4d6" S = "${WORKDIR}/git" inherit meson gobject-introspection -EXTRA_OEMESON = "-Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false" +EXTRA_OEMESON = "-Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=true" DEPENDS += "glib-2.0 libyaml glib-2.0-native" diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.10.2.bb b/poky/meta/recipes-devtools/librepo/librepo_1.10.2.bb new file mode 100644 index 000000000..43c1967c2 --- /dev/null +++ b/poky/meta/recipes-devtools/librepo/librepo_1.10.2.bb @@ -0,0 +1,21 @@ +SUMMARY = " A library providing C and Python (libcURL like) API for downloading linux repository metadata and packages." +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://github.com/rpm-software-management/librepo.git \ + file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \ + file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ + " + +SRCREV = "91ebe846b0320751a264116c36a665a8facf9e0e" + +S = "${WORKDIR}/git" + +DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" + +inherit cmake distutils3-base pkgconfig + +EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DWITH_ZCHUNK=OFF" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb b/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb deleted file mode 100644 index fecedc981..000000000 --- a/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = " A library providing C and Python (libcURL like) API for downloading linux repository metadata and packages." -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://github.com/rpm-software-management/librepo.git \ - file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \ - file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ - " - -SRCREV = "7d8acd45eb09809a5ab729c312744da4b2fe92bb" - -S = "${WORKDIR}/git" - -DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" - -inherit cmake distutils3-base pkgconfig - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DWITH_ZCHUNK=OFF" - -BBCLASSEXTEND = "native nativesdk" - diff --git a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc index af0ff4586..a9b63c1bf 100644 --- a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc +++ b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc @@ -8,7 +8,6 @@ inherit autotools texinfo ptest SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \ file://ac_config_links.patch \ - file://remove-gets.patch \ file://m4-1.4.18-glibc-change-work-around.patch \ " SRC_URI_append_class-target = " file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ @@ -53,7 +52,7 @@ do_install_ptest() { } -RDEPENDS_${PN}-ptest += "make" +RDEPENDS_${PN}-ptest += "make coreutils diffutils" RDEPENDS_${PN}-ptest_append_libc-glibc = "\ locale-base-fr-fr.iso-8859-1 \ " diff --git a/poky/meta/recipes-devtools/m4/m4/remove-gets.patch b/poky/meta/recipes-devtools/m4/m4/remove-gets.patch deleted file mode 100644 index abe82f3b2..000000000 --- a/poky/meta/recipes-devtools/m4/m4/remove-gets.patch +++ /dev/null @@ -1,24 +0,0 @@ -eglibc has remove gets starting 2.16 -therefore check for its being there before -undefining it. - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- -diff --git a/lib/stdio.in.h b/lib/stdio.in.h -index 5727452..f04a691 100644 ---- a/lib/stdio.in.h -+++ b/lib/stdio.in.h -@@ -742,10 +742,12 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning; besides, C11 - removed it. */ -+#if defined gets - #undef gets - #if HAVE_RAW_DECL_GETS && !defined __cplusplus - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif -+#endif - - #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ - struct obstack; diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch deleted file mode 100644 index 6c058c71d..000000000 --- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 42afc1f652d28dce3c5b9915d0cd3087a144e445 Mon Sep 17 00:00:00 2001 -From: Alejandro del Castillo -Date: Mon, 18 Feb 2019 11:25:43 -0600 -Subject: [PATCH] opkg-build: do not set mtime on data.tar.X - -Opkg should make sure the binaries it creates are created in a -repoducibe way, but it shouldn't modify the mtime of the binaries it -consumes. Doing so has side effects, for exmaple, Python pyc files are -invalidated. - -Signed-off-by: Alejandro del Castillo - -Upstream-Status: Submitted ---- - opkg-build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/opkg-build b/opkg-build -index 13782ee..363cd01 100755 ---- a/opkg-build -+++ b/opkg-build -@@ -301,7 +301,7 @@ build_date="${SOURCE_DATE_EPOCH:-$(date +%s)}" - - ( cd $pkg_dir/$CONTROL && find . -type f > $tmp_dir/control_list ) - ( cd $pkg_dir && find . -path ./$CONTROL -prune -o -print > $tmp_dir/file_list ) --( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext ) -+( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext ) - ( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/control_list | gzip $zipargs > $tmp_dir/control.tar.gz ) - rm $tmp_dir/file_list - rm $tmp_dir/control_list --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb deleted file mode 100644 index 9a3e06b92..000000000 --- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "Additional utilities for the opkg package manager" -SUMMARY_update-alternatives-opkg = "Utility for managing the alternatives system" -SECTION = "base" -HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://opkg.py;beginline=2;endline=18;md5=63ce9e6bcc445181cd9e4baf4b4ccc35" -PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}" - -SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \ - file://0001-Switch-all-scripts-to-use-Python-3.x.patch \ - file://0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch \ -" -UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/" - - -SRC_URI[md5sum] = "6e1c2eae96239520a8eb3d05372773ea" -SRC_URI[sha256sum] = "8153f4e5dadde422d35feaf86bf595266af9d0037389bc418fa87feb0437efb3" - -TARGET_CC_ARCH += "${LDFLAGS}" - -# For native builds we use the host Python -PYTHONRDEPS = "python3 python3-shell python3-io python3-math python3-crypt python3-logging python3-fcntl python3-pickle python3-compression python3-stringold" -PYTHONRDEPS_class-native = "" - -PACKAGECONFIG = "python update-alternatives" -PACKAGECONFIG[python] = ",,,${PYTHONRDEPS}" -PACKAGECONFIG[update-alternatives] = ",,," - -do_install() { - oe_runmake PREFIX=${prefix} DESTDIR=${D} install - if ! ${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'true', 'false', d)}; then - rm -f "${D}${bindir}/update-alternatives" - fi - - if ! ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then - grep -lZ "/usr/bin/env.*python" ${D}${bindir}/* | xargs -0 rm - fi -} - -do_install_append_class-target() { - if [ -e "${D}${bindir}/update-alternatives" ]; then - sed -i ${D}${bindir}/update-alternatives -e 's,/usr/bin,${bindir},g; s,/usr/lib,${nonarch_libdir},g' - fi -} - -# These are empty and will pull python3-dev into images where it wouldn't -# have been otherwise, so don't generate them. -PACKAGES_remove = "${PN}-dev ${PN}-staticdev" - -PACKAGES =+ "update-alternatives-opkg" -FILES_update-alternatives-opkg = "${bindir}/update-alternatives" -RPROVIDES_update-alternatives-opkg = "update-alternatives update-alternatives-cworth" -RREPLACES_update-alternatives-opkg = "update-alternatives-cworth" -RCONFLICTS_update-alternatives-opkg = "update-alternatives-cworth" - -pkg_postrm_update-alternatives-opkg() { - rm -rf $D${nonarch_libdir}/opkg/alternatives - rmdir $D${nonarch_libdir}/opkg || true -} - -BBCLASSEXTEND = "native nativesdk" - -CLEANBROKEN = "1" diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb new file mode 100644 index 000000000..4be7b16d8 --- /dev/null +++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb @@ -0,0 +1,63 @@ +SUMMARY = "Additional utilities for the opkg package manager" +SUMMARY_update-alternatives-opkg = "Utility for managing the alternatives system" +SECTION = "base" +HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://opkg.py;beginline=2;endline=18;md5=63ce9e6bcc445181cd9e4baf4b4ccc35" +PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}" + +SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \ + file://0001-Switch-all-scripts-to-use-Python-3.x.patch \ +" +UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/" + + +SRC_URI[md5sum] = "8c140f835b694a0c27cfb23d2426a02b" +SRC_URI[sha256sum] = "9ea9efdd9fe13661ad251e3a2860c1c93045adcfaa6659c3e86d9748ecda3b6e" + +TARGET_CC_ARCH += "${LDFLAGS}" + +# For native builds we use the host Python +PYTHONRDEPS = "python3 python3-shell python3-io python3-math python3-crypt python3-logging python3-fcntl python3-pickle python3-compression python3-stringold" +PYTHONRDEPS_class-native = "" + +PACKAGECONFIG = "python update-alternatives" +PACKAGECONFIG[python] = ",,,${PYTHONRDEPS}" +PACKAGECONFIG[update-alternatives] = ",,," + +do_install() { + oe_runmake PREFIX=${prefix} DESTDIR=${D} install + if ! ${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'true', 'false', d)}; then + rm -f "${D}${bindir}/update-alternatives" + fi + + if ! ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then + grep -lZ "/usr/bin/env.*python" ${D}${bindir}/* | xargs -0 rm + fi +} + +do_install_append_class-target() { + if [ -e "${D}${bindir}/update-alternatives" ]; then + sed -i ${D}${bindir}/update-alternatives -e 's,/usr/bin,${bindir},g; s,/usr/lib,${nonarch_libdir},g' + fi +} + +# These are empty and will pull python3-dev into images where it wouldn't +# have been otherwise, so don't generate them. +PACKAGES_remove = "${PN}-dev ${PN}-staticdev" + +PACKAGES =+ "update-alternatives-opkg" +FILES_update-alternatives-opkg = "${bindir}/update-alternatives" +RPROVIDES_update-alternatives-opkg = "update-alternatives update-alternatives-cworth" +RREPLACES_update-alternatives-opkg = "update-alternatives-cworth" +RCONFLICTS_update-alternatives-opkg = "update-alternatives-cworth" + +pkg_postrm_update-alternatives-opkg() { + rm -rf $D${nonarch_libdir}/opkg/alternatives + rmdir $D${nonarch_libdir}/opkg || true +} + +BBCLASSEXTEND = "native nativesdk" + +CLEANBROKEN = "1" diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch b/poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch deleted file mode 100644 index 7d5c079b2..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 2f74a899474f428a4a5368a94accf801c5f97ae4 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Mon, 4 Jun 2018 18:33:50 +0300 -Subject: [PATCH] ExtUtils-MakeMaker: add $(LDFLAGS) when linking binary - modules - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin - ---- - cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm -index fe53be1..249c048 100644 ---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm -+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm -@@ -1050,7 +1050,7 @@ sub xs_make_dynamic_lib { - } - - push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $dlsyms_arg, $ldfrom, $self->xs_obj_opt('$@'), $libs, $exportlist; -- %s$(LD) %s $(LDDLFLAGS) %s %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \ -+ %s$(LD) %s $(LDDLFLAGS) %s %s $(LDFLAGS) $(OTHERLDFLAGS) %s $(MYEXTLIB) \ - $(PERL_ARCHIVE) %s $(PERL_ARCHIVE_AFTER) %s \ - $(INST_DYNAMIC_FIX) - $(CHMOD) $(PERM_RWX) $@ diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch b/poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch deleted file mode 100644 index ed8ec1d41..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e8e095b9c71c58f8197d6315359446b6b084cb2b Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 5 Jun 2018 14:58:42 +0300 -Subject: [PATCH] Somehow this module breaks through the perl wrapper and - declares perl binary to be 'perl.real'. This patch forces it back to perl. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin ---- - cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm -index 948c476..f537526 100644 ---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm -+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm -@@ -1110,6 +1110,9 @@ WARNING - } - - foreach my $name (@$names){ -+ # Getting MakeMaker.pm use perl wrapper instead of 'perl.real' directly -+ $name =~ s/perl\.real/perl/ if ($name =~ /perl\.real/); -+ - my ($abs, $use_dir); - if ($self->file_name_is_absolute($name)) { # /foo/bar - $abs = $name; -@@ -2006,6 +2009,7 @@ sub init_PERL { - - $self->{PERL} ||= - $self->find_perl(5.0, \@perls, \@defpath, $Verbose ); -+ - - my $perl = $self->{PERL}; - $perl =~ s/^"//; diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch b/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch deleted file mode 100644 index 3b0fc453e..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 19c1987b455998d2959a5fdf3d1ed911d35e70f2 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 2 Jan 2019 17:55:35 +0100 -Subject: [PATCH] configure_path.sh: do not hardcode $prefix/lib as library - path - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin - ---- - cnf/configure_args.sh | 2 +- - cnf/configure_path.sh | 11 ++++++----- - 2 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/cnf/configure_args.sh b/cnf/configure_args.sh -index 29ca4f5..3297fb3 100644 ---- a/cnf/configure_args.sh -+++ b/cnf/configure_args.sh -@@ -155,7 +155,7 @@ while [ $i -le $# -o -n "$n" ]; do - help) mode="help" ;; - regen|regenerate) mode="regen" ;; - keeplog) defuser "$a" 1 ;; -- prefix|html[13]dir|libsdir) defuser $a "$v" ;; -+ prefix|html[13]dir|libsdir|libdir) defuser $a "$v" ;; - man[13]dir|otherlibsdir) defuser $a "$v" ;; - siteprefix|sitehtml[13]dir) defuser $a "$v" ;; - siteman[13]dir|vendorman[13]dir)defuser $a "$v" ;; -diff --git a/cnf/configure_path.sh b/cnf/configure_path.sh -index fe7eac7..bcba8b8 100644 ---- a/cnf/configure_path.sh -+++ b/cnf/configure_path.sh -@@ -30,6 +30,7 @@ definst() { - define "$1" "$installpath$v" - } - -+define libdir "$prefix/lib" - define sharedir "$prefix/share" - define html1dir "$sharedir/doc/$perlname/html" - define html3dir "$sharedir/doc/$perlname/html" -@@ -38,16 +39,16 @@ define man1ext "1" - define man3dir "$sharedir/man/man3" - define man3ext "3" - define bin "$prefix/bin" --define lib "$prefix/lib" -+define lib "$libdir" - define scriptdir "$prefix/bin" - define libsdirs ' ' --defrel privlib "$prefix/lib/$package/$version" --defrel archlib "$prefix/lib/$package/$version/$archname" -+defrel privlib "$libdir/$package/$version" -+defrel archlib "$libdir/$package/$version/$archname" - define perlpath "$prefix/bin/$perlname" - define d_archlib 'define' - - define sitebin "$prefix/bin" --defrel sitelib_stem "$prefix/lib/$package/site_perl" -+defrel sitelib_stem "$libdir/$package/site_perl" - define sitelib "$sitelib_stem/$version" - define sitearch "$sitelib_stem/$version/$archname" - define siteprefix "$prefix" -@@ -145,7 +146,7 @@ vendortest() { - } - - vendorpath vendorbin "$vendorprefix/bin" --vendorpath vendorlib_stem "$vendorprefix/lib/$package/vendor_perl" -+vendorpath vendorlib_stem "$libdir/$package/vendor_perl" - vendorpath vendorlib "$vendorlib_stem/$version" - vendorpath vendorarch "$vendorlib_stem/$version/$archname" - vendorpath vendorscript "$vendorprefix/bin" diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch b/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch deleted file mode 100644 index 0aaeaa29e..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch +++ /dev/null @@ -1,29 +0,0 @@ -From a66811c487ecf8ba8724879c253bb10dfa82aeb5 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 1 Jun 2018 19:57:32 +0300 -Subject: [PATCH] configure_tool.sh: do not quote the argument to 'command' - -As it seems to break things if the argument has spaces and arguments in it. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - cnf/configure_tool.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cnf/configure_tool.sh b/cnf/configure_tool.sh -index 32201c0..461bc68 100644 ---- a/cnf/configure_tool.sh -+++ b/cnf/configure_tool.sh -@@ -2,7 +2,7 @@ - - tryprog() { - log "trying $1=$2" -- if command -v "$2" 1>/dev/null 2>/dev/null; then -+ if command -v $2 1>/dev/null 2>/dev/null; then - define "$1" "$2" - result "$2" - return 0 --- -2.17.0 - diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch b/poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch deleted file mode 100644 index e7985036a..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f824cbec9ac8f113a4ae35d57bd18625d415a71b Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 27 Nov 2018 15:37:40 +0100 -Subject: [PATCH] perl-cross: add LDFLAGS when linking libperl - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 01644cd..be811a7 100644 ---- a/Makefile -+++ b/Makefile -@@ -180,7 +180,7 @@ endif - - ifeq ($(useshrplib),true) - $(LIBPERL): -- $(CC) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS) -+ $(CC) $(LDFLAGS) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS) - else - $(LIBPERL): - $(AR) cru $@ $(filter %$o,$^) --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff b/poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff deleted file mode 100644 index a965fbeee..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff +++ /dev/null @@ -1,37 +0,0 @@ -From 8e1efba7560d8d55524c7a0f1b0539ddce419b86 Mon Sep 17 00:00:00 2001 -From: Brendan O'Dea -Date: Fri, 16 Dec 2005 01:32:14 +1100 -Subject: [PATCH 6/8] Remove Errno version check due to upgrade problems with - long-running processes. - -Bug-Debian: http://bugs.debian.org/343351 - -Remove version check which can cause problems for long running -processes embedding perl when upgrading to a newer version, -compatible, but built on a different machine. - -Patch-Name: debian/errno_ver.diff -Upstream-Status: Pending ---- - ext/Errno/Errno_pm.PL | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL -index 6251a3c..eeed445 100644 ---- a/ext/Errno/Errno_pm.PL -+++ b/ext/Errno/Errno_pm.PL -@@ -294,11 +294,6 @@ EDQ - # they've already declared perl doesn't need to worry about this risk. - if(!$ENV{'PERL_BUILD_EXPAND_CONFIG_VARS'}) { - print <<"CONFIG_CHECK_END"; --use Config; --"\$Config{'archname'}-\$Config{'osvers'}" eq --"$archname-$Config{'osvers'}" or -- die "Errno architecture ($archname-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})"; -- - CONFIG_CHECK_END - } - --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch b/poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch deleted file mode 100644 index a2e1aefd4..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch +++ /dev/null @@ -1,27 +0,0 @@ -Upstream-Status:Inappropriate [embedded specific] -Signed-off-by: Alexander Kanavin - -Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm -=================================================================== ---- perl-5.12.3.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000 -+++ perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000 -@@ -1597,6 +1597,19 @@ - $self->{PERL_LIB} ||= $Config{privlibexp}; - $self->{PERL_ARCHLIB} ||= $Config{archlibexp}; - $self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now -+ # Check for environment override so we'll find the headers in the correct place -+ if (defined $ENV{PERL_LIB}) -+ { -+ $self->{PERL_LIB} = $ENV{PERL_LIB}; -+ } -+ if (defined $ENV{PERL_ARCHLIB}) -+ { -+ $self->{PERL_ARCHLIB} = $ENV{PERL_ARCHLIB}; -+ } -+ if (defined $ENV{PERL_INC}) -+ { -+ $self->{PERL_INC} = $ENV{PERL_INC}; -+ } - my $perl_h; - - if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h")) diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch deleted file mode 100644 index e6f23eed6..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch +++ /dev/null @@ -1,48 +0,0 @@ -This patch is used for perl-native only. It enables the switching of -configuration files between Config_heavy.pl and -Config_heavy-target.pl by setting the environment variables -PERLCONFIGTARGET - the later containing settings for the target while -the former contains those for the host. This will allow cpan.bbclass -to use the settings appropriate for the native and/or target builds -as required. This also disables the use of the cache since the cached -values would be valid for the host only. - -Upstream-Status: Inappropriate [native] -Signed-off-by: Alexander Kanavin - -Index: perl-5.14.2/configpm -=================================================================== ---- perl-5.14.2.orig/configpm -+++ perl-5.14.2/configpm -@@ -658,7 +658,7 @@ sub FETCH { - my($self, $key) = @_; - - # check for cached value (which may be undef so we use exists not defined) -- return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key); -+ return $self->fetch_string($key); - } - - ENDOFEND -@@ -816,7 +816,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fa - sub DESTROY { } - - sub AUTOLOAD { -- require 'Config_heavy.pl'; -+ my $cfgfile = 'Config_heavy.pl'; -+ if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes") -+ { -+ $cfgfile = 'Config_heavy-target.pl'; -+ } -+ if (defined $ENV{PERL_ARCHLIB}) -+ { -+ push @INC, $ENV{PERL_ARCHLIB}; -+ require $cfgfile; -+ pop @INC; -+ } -+ else -+ { -+ require $cfgfile; -+ } - goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/; - die "&Config::AUTOLOAD failed on $Config::AUTOLOAD"; - } diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch b/poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch deleted file mode 100644 index 6bb832a42..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch +++ /dev/null @@ -1,38 +0,0 @@ -Upstream-Status:Inappropriate [embedded specific] - -Allow the location that .so files are searched for for dynamic -loading to be changed via an environment variable. This is to allow -us to load .so's from the host system while building for the target -system. - -Update by Nitin A Kamble 2011/04/21 - -Index: perl-5.24.1/dist/XSLoader/XSLoader_pm.PL -=================================================================== ---- perl-5.24.1.orig/dist/XSLoader/XSLoader_pm.PL -+++ perl-5.24.1/dist/XSLoader/XSLoader_pm.PL -@@ -52,6 +52,24 @@ sub load { - my ($caller, $modlibname) = caller(); - my $module = $caller; - -+ # OE: Allow env to form dynamic loader to look in a different place -+ # This is so it finds the host .so files, not the targets -+ if (defined $ENV{PERLHOSTLIB}) -+ { -+ my $hostlib = $ENV{PERLHOSTLIB}; -+ my $hostarchlib = $ENV{PERLHOSTARCHLIB}; -+ print STDERR "*** Module name IN: $modlibname\n"; -+ ($p1, $p2, $p3, $p4, $p5, $p6, $p7) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl5\/[0-9\.]*\/)?)(([^\/]*)\/)?(.*)$/; -+ print STDERR "*** p1: $p1 p3: $p3 p5: $p5 p7: $p7\n"; -+ if ( $p1 ne "" ) { -+ $modlibname = $hostlib.$p7; -+ } -+ if ( $p6 ne "" ) { -+ $modlibname = $hostarchlib.$p7; -+ } -+ print STDERR "*** Module name OUT: $modlibname\n"; -+ } -+ - if (@_) { - $module = $_[0]; - } else { diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt deleted file mode 100644 index f93bbc764..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt +++ /dev/null @@ -1,4296 +0,0 @@ -RDEPENDS_perl-module-anydbm-file += "perl-module-strict" -RDEPENDS_perl-module-anydbm-file += "perl-module-warnings" -RDEPENDS_perl-module-app-cpan += "perl-module-config" -RDEPENDS_perl-module-app-cpan += "perl-module-constant" -RDEPENDS_perl-module-app-cpan += "perl-module-cpan" -RDEPENDS_perl-module-app-cpan += "perl-module-cwd" -RDEPENDS_perl-module-app-cpan += "perl-module-data-dumper" -RDEPENDS_perl-module-app-cpan += "perl-module-file-basename" -RDEPENDS_perl-module-app-cpan += "perl-module-file-find" -RDEPENDS_perl-module-app-cpan += "perl-module-getopt-std" -RDEPENDS_perl-module-app-cpan += "perl-module-if" -RDEPENDS_perl-module-app-cpan += "perl-module-net-ping" -RDEPENDS_perl-module-app-cpan += "perl-module-strict" -RDEPENDS_perl-module-app-cpan += "perl-module-user-pwent" -RDEPENDS_perl-module-app-cpan += "perl-module-vars" -RDEPENDS_perl-module-app-cpan += "perl-module-warnings" -RDEPENDS_perl-module-app-prove += "perl-module-app-prove-state" -RDEPENDS_perl-module-app-prove += "perl-module-base" -RDEPENDS_perl-module-app-prove += "perl-module-constant" -RDEPENDS_perl-module-app-prove += "perl-module-getopt-long" -RDEPENDS_perl-module-app-prove += "perl-module-strict" -RDEPENDS_perl-module-app-prove += "perl-module-tap-harness" -RDEPENDS_perl-module-app-prove += "perl-module-tap-harness-env" -RDEPENDS_perl-module-app-prove += "perl-module-text-parsewords" -RDEPENDS_perl-module-app-prove += "perl-module-warnings" -RDEPENDS_perl-module-app-prove-state += "perl-module-app-prove-state-result" -RDEPENDS_perl-module-app-prove-state += "perl-module-base" -RDEPENDS_perl-module-app-prove-state += "perl-module-constant" -RDEPENDS_perl-module-app-prove-state += "perl-module-file-find" -RDEPENDS_perl-module-app-prove-state += "perl-module-strict" -RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-reader" -RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-writer" -RDEPENDS_perl-module-app-prove-state += "perl-module-warnings" -RDEPENDS_perl-module-app-prove-state-result += "perl-module-app-prove-state-result-test" -RDEPENDS_perl-module-app-prove-state-result += "perl-module-constant" -RDEPENDS_perl-module-app-prove-state-result += "perl-module-strict" -RDEPENDS_perl-module-app-prove-state-result += "perl-module-warnings" -RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-strict" -RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-warnings" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-constant" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-exporter" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-io-compress-bzip2" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-strict" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-time-local" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-warnings" -RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar" -RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar-constant" -RDEPENDS_perl-module-archive-tar-file += "perl-module-file-basename" -RDEPENDS_perl-module-archive-tar-file += "perl-module-io-file" -RDEPENDS_perl-module-archive-tar-file += "perl-module-strict" -RDEPENDS_perl-module-archive-tar-file += "perl-module-vars" -RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-constant" -RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-file" -RDEPENDS_perl-module-archive-tar += "perl-module-config" -RDEPENDS_perl-module-archive-tar += "perl-module-cwd" -RDEPENDS_perl-module-archive-tar += "perl-module-exporter" -RDEPENDS_perl-module-archive-tar += "perl-module-file-path" -RDEPENDS_perl-module-archive-tar += "perl-module-io-file" -RDEPENDS_perl-module-archive-tar += "perl-module-io-zlib" -RDEPENDS_perl-module-archive-tar += "perl-module-strict" -RDEPENDS_perl-module-archive-tar += "perl-module-vars" -RDEPENDS_perl-module-arybase += "perl-module-xsloader" -RDEPENDS_perl-module-attribute-handlers += "perl-module-strict" -RDEPENDS_perl-module-attribute-handlers += "perl-module-warnings" -RDEPENDS_perl-module-attributes += "perl-module-exporter" -RDEPENDS_perl-module-attributes += "perl-module-strict" -RDEPENDS_perl-module-attributes += "perl-module-warnings" -RDEPENDS_perl-module-attributes += "perl-module-xsloader" -RDEPENDS_perl-module-autodie-exception += "perl-module-constant" -RDEPENDS_perl-module-autodie-exception += "perl-module-fatal" -RDEPENDS_perl-module-autodie-exception += "perl-module-fcntl" -RDEPENDS_perl-module-autodie-exception += "perl-module-overload" -RDEPENDS_perl-module-autodie-exception += "perl-module-strict" -RDEPENDS_perl-module-autodie-exception += "perl-module-warnings" -RDEPENDS_perl-module-autodie-exception-system += "perl-module-parent" -RDEPENDS_perl-module-autodie-exception-system += "perl-module-strict" -RDEPENDS_perl-module-autodie-exception-system += "perl-module-warnings" -RDEPENDS_perl-module-autodie-hints += "perl-module-b" -RDEPENDS_perl-module-autodie-hints += "perl-module-constant" -RDEPENDS_perl-module-autodie-hints += "perl-module-strict" -RDEPENDS_perl-module-autodie-hints += "perl-module-warnings" -RDEPENDS_perl-module-autodie += "perl-module-constant" -RDEPENDS_perl-module-autodie += "perl-module-lib" -RDEPENDS_perl-module-autodie += "perl-module-parent" -RDEPENDS_perl-module-autodie += "perl-module-strict" -RDEPENDS_perl-module-autodie += "perl-module-warnings" -RDEPENDS_perl-module-autodie-scope-guard += "perl-module-strict" -RDEPENDS_perl-module-autodie-scope-guard += "perl-module-warnings" -RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-autodie-scope-guard" -RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-strict" -RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-warnings" -RDEPENDS_perl-module-autodie-skip += "perl-module-strict" -RDEPENDS_perl-module-autodie-skip += "perl-module-warnings" -RDEPENDS_perl-module-autodie-util += "perl-module-autodie-scope-guardstack" -RDEPENDS_perl-module-autodie-util += "perl-module-exporter" -RDEPENDS_perl-module-autodie-util += "perl-module-strict" -RDEPENDS_perl-module-autodie-util += "perl-module-warnings" -RDEPENDS_perl-module-autoloader += "perl-module-strict" -RDEPENDS_perl-module-autosplit += "perl-module-config" -RDEPENDS_perl-module-autosplit += "perl-module-exporter" -RDEPENDS_perl-module-autosplit += "perl-module-file-basename" -RDEPENDS_perl-module-autosplit += "perl-module-file-path" -RDEPENDS_perl-module-autosplit += "perl-module-strict" -RDEPENDS_perl-module-base += "perl-module-strict" -RDEPENDS_perl-module-b-concise += "perl-module-b" -RDEPENDS_perl-module-b-concise += "perl-module-b-op-private" -RDEPENDS_perl-module-b-concise += "perl-module-config" -RDEPENDS_perl-module-b-concise += "perl-module-exporter" -RDEPENDS_perl-module-b-concise += "perl-module-feature" -RDEPENDS_perl-module-b-concise += "perl-module-strict" -RDEPENDS_perl-module-b-concise += "perl-module-warnings" -RDEPENDS_perl-module-b-debug += "perl-module-b" -RDEPENDS_perl-module-b-debug += "perl-module-config" -RDEPENDS_perl-module-b-debug += "perl-module-strict" -RDEPENDS_perl-module-benchmark += "perl-module-exporter" -RDEPENDS_perl-module-benchmark += "perl-module-strict" -RDEPENDS_perl-module-bigint += "perl-module-constant" -RDEPENDS_perl-module-bigint += "perl-module-exporter" -RDEPENDS_perl-module-bigint += "perl-module-math-bigint" -RDEPENDS_perl-module-bigint += "perl-module-math-bigint-trace" -RDEPENDS_perl-module-bigint += "perl-module-overload" -RDEPENDS_perl-module-bigint += "perl-module-strict" -RDEPENDS_perl-module-bigint += "perl-module-warnings" -RDEPENDS_perl-module-bignum += "perl-module-bigint" -RDEPENDS_perl-module-bignum += "perl-module-exporter" -RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat" -RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat-trace" -RDEPENDS_perl-module-bignum += "perl-module-math-bigint" -RDEPENDS_perl-module-bignum += "perl-module-math-bigint-trace" -RDEPENDS_perl-module-bignum += "perl-module-overload" -RDEPENDS_perl-module-bignum += "perl-module-strict" -RDEPENDS_perl-module-bignum += "perl-module-warnings" -RDEPENDS_perl-module-bigrat += "perl-module-bigint" -RDEPENDS_perl-module-bigrat += "perl-module-exporter" -RDEPENDS_perl-module-bigrat += "perl-module-math-bigfloat" -RDEPENDS_perl-module-bigrat += "perl-module-math-bigint" -RDEPENDS_perl-module-bigrat += "perl-module-math-bigint-trace" -RDEPENDS_perl-module-bigrat += "perl-module-math-bigrat" -RDEPENDS_perl-module-bigrat += "perl-module-overload" -RDEPENDS_perl-module-bigrat += "perl-module-strict" -RDEPENDS_perl-module-bigrat += "perl-module-warnings" -RDEPENDS_perl-module-blib += "perl-module-cwd" -RDEPENDS_perl-module-b += "perl-module-exporter" -RDEPENDS_perl-module-b += "perl-module-xsloader" -RDEPENDS_perl-module-b-showlex += "perl-module-b" -RDEPENDS_perl-module-b-showlex += "perl-module-b-concise" -RDEPENDS_perl-module-b-showlex += "perl-module-b-terse" -RDEPENDS_perl-module-b-showlex += "perl-module-strict" -RDEPENDS_perl-module-b-terse += "perl-module-b" -RDEPENDS_perl-module-b-terse += "perl-module-b-concise" -RDEPENDS_perl-module-b-terse += "perl-module-strict" -RDEPENDS_perl-module-b-xref += "perl-module-b" -RDEPENDS_perl-module-b-xref += "perl-module-config" -RDEPENDS_perl-module-b-xref += "perl-module-strict" -RDEPENDS_perl-module-bytes += "perl-module-bytes-heavy" -RDEPENDS_perl-module--charnames += "perl-module-bytes" -RDEPENDS_perl-module-charnames += "perl-module-bytes" -RDEPENDS_perl-module-charnames += "perl-module--charnames" -RDEPENDS_perl-module--charnames += "perl-module-re" -RDEPENDS_perl-module-charnames += "perl-module-re" -RDEPENDS_perl-module--charnames += "perl-module-strict" -RDEPENDS_perl-module-charnames += "perl-module-strict" -RDEPENDS_perl-module--charnames += "perl-module-warnings" -RDEPENDS_perl-module-charnames += "perl-module-warnings" -RDEPENDS_perl-module-class-struct += "perl-module-exporter" -RDEPENDS_perl-module-class-struct += "perl-module-strict" -RDEPENDS_perl-module-class-struct += "perl-module-warnings-register" -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-bytes " -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-constant" -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-dynaloader" -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-exporter" -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-strict " -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-warnings " -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-xsloader" -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-bytes " -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-constant" -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-dynaloader" -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter" -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-strict " -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-warnings " -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-xsloader" -RDEPENDS_perl-module-compress-zlib += "perl-module-bytes " -RDEPENDS_perl-module-compress-zlib += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-compress-zlib += "perl-module-constant" -RDEPENDS_perl-module-compress-zlib += "perl-module-exporter" -RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip" -RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip-constants" -RDEPENDS_perl-module-compress-zlib += "perl-module-io-handle " -RDEPENDS_perl-module-compress-zlib += "perl-module-io-uncompress-gunzip" -RDEPENDS_perl-module-compress-zlib += "perl-module-strict " -RDEPENDS_perl-module-compress-zlib += "perl-module-warnings " -RDEPENDS_perl-module-config-extensions += "perl-module-config" -RDEPENDS_perl-module-config-extensions += "perl-module-exporter" -RDEPENDS_perl-module-config-extensions += "perl-module-strict" -RDEPENDS_perl-module-config += "perl-module-strict" -RDEPENDS_perl-module-config += "perl-module-warnings" -RDEPENDS_perl-module-config-perl-v += "perl-module-config" -RDEPENDS_perl-module-config-perl-v += "perl-module-exporter" -RDEPENDS_perl-module-config-perl-v += "perl-module-strict" -RDEPENDS_perl-module-config-perl-v += "perl-module-vars" -RDEPENDS_perl-module-config-perl-v += "perl-module-warnings" -RDEPENDS_perl-module-constant += "perl-module-strict" -RDEPENDS_perl-module-constant += "perl-module-warnings-register" -RDEPENDS_perl-module-corelist += "perl-module-list-util" -RDEPENDS_perl-module-corelist += "perl-module-corelist" -RDEPENDS_perl-module-corelist += "perl-module-strict" -RDEPENDS_perl-module-corelist += "perl-module-version" -RDEPENDS_perl-module-corelist += "perl-module-warnings" -RDEPENDS_perl-module-cpan += "perl-module-b" -RDEPENDS_perl-module-cpan += "perl-module-config" -RDEPENDS_perl-module-cpan += "perl-module-cwd" -RDEPENDS_perl-module-cpan += "perl-module-data-dumper" -RDEPENDS_perl-module-cpan += "perl-module-dirhandle" -RDEPENDS_perl-module-cpan += "perl-module-errno" -RDEPENDS_perl-module-cpan += "perl-module-exporter" -RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-cpan += "perl-module-extutils-manifest" -RDEPENDS_perl-module-cpan += "perl-module-fcntl" -RDEPENDS_perl-module-cpan += "perl-module-file-basename" -RDEPENDS_perl-module-cpan += "perl-module-file-copy" -RDEPENDS_perl-module-cpan += "perl-module-file-find" -RDEPENDS_perl-module-cpan += "perl-module-filehandle" -RDEPENDS_perl-module-cpan += "perl-module-file-path" -RDEPENDS_perl-module-cpan += "perl-module-lib" -RDEPENDS_perl-module-cpan += "perl-module-net-ping" -RDEPENDS_perl-module-cpan += "perl-module-overload" -RDEPENDS_perl-module-cpan += "perl-module-posix" -RDEPENDS_perl-module-cpan += "perl-module-safe" -RDEPENDS_perl-module-cpan += "perl-module-strict" -RDEPENDS_perl-module-cpan += "perl-module-sys-hostname" -RDEPENDS_perl-module-cpan += "perl-module-term-readline" -RDEPENDS_perl-module-cpan += "perl-module-text-parsewords" -RDEPENDS_perl-module-cpan += "perl-module-text-wrap" -RDEPENDS_perl-module-cpan += "perl-module-time-local" -RDEPENDS_perl-module-cpan += "perl-module-vars" -RDEPENDS_perl-module-cpan += "perl-module-warnings" -RDEPENDS_perl-module-cwd += "perl-module-errno" -RDEPENDS_perl-module-cwd += "perl-module-exporter" -RDEPENDS_perl-module-cwd += "perl-module-strict" -RDEPENDS_perl-module-cwd += "perl-module-xsloader" -RDEPENDS_perl-module-data-dumper += "perl-module-config" -RDEPENDS_perl-module-data-dumper += "perl-module-constant" -RDEPENDS_perl-module-data-dumper += "perl-module-exporter" -RDEPENDS_perl-module-data-dumper += "perl-module-xsloader" -RDEPENDS_perl-module-dbm-filter-compress += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter-compress += "perl-module-warnings" -RDEPENDS_perl-module-dbm-filter-encode += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter-encode += "perl-module-warnings" -RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-warnings" -RDEPENDS_perl-module-dbm-filter-null += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter-null += "perl-module-warnings" -RDEPENDS_perl-module-dbm-filter += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter += "perl-module-warnings" -RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-warnings" -RDEPENDS_perl-module-db += "perl-module-strict" -RDEPENDS_perl-module-deprecate += "perl-module-strict" -RDEPENDS_perl-module-deprecate += "perl-module-warnings" -RDEPENDS_perl-module-devel-peek += "perl-module-exporter" -RDEPENDS_perl-module-devel-peek += "perl-module-xsloader" -RDEPENDS_perl-module-devel-ppport += "perl-module-file-find" -RDEPENDS_perl-module-devel-ppport += "perl-module-getopt-long" -RDEPENDS_perl-module-devel-ppport += "perl-module-strict" -RDEPENDS_perl-module-devel-ppport += "perl-module-vars" -RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader" -RDEPENDS_perl-module-diagnostics += "perl-module-config" -RDEPENDS_perl-module-diagnostics += "perl-module-getopt-std" -RDEPENDS_perl-module-diagnostics += "perl-module-strict" -RDEPENDS_perl-module-diagnostics += "perl-module-text-tabs" -RDEPENDS_perl-module-digest-base += "perl-module-mime-base64" -RDEPENDS_perl-module-digest-base += "perl-module-strict" -RDEPENDS_perl-module-digest-base += "perl-module-vars" -RDEPENDS_perl-module-digest-file += "perl-module-digest" -RDEPENDS_perl-module-digest-file += "perl-module-exporter" -RDEPENDS_perl-module-digest-file += "perl-module-strict" -RDEPENDS_perl-module-digest-file += "perl-module-vars" -RDEPENDS_perl-module-digest-md5 += "perl-module-digest-base" -RDEPENDS_perl-module-digest-md5 += "perl-module-exporter" -RDEPENDS_perl-module-digest-md5 += "perl-module-strict" -RDEPENDS_perl-module-digest-md5 += "perl-module-vars" -RDEPENDS_perl-module-digest-md5 += "perl-module-xsloader" -RDEPENDS_perl-module-digest += "perl-module-strict" -RDEPENDS_perl-module-digest += "perl-module-vars" -RDEPENDS_perl-module-digest-sha += "perl-module-digest-base" -RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader" -RDEPENDS_perl-module-digest-sha += "perl-module-exporter" -RDEPENDS_perl-module-digest-sha += "perl-module-fcntl" -RDEPENDS_perl-module-digest-sha += "perl-module-integer" -RDEPENDS_perl-module-digest-sha += "perl-module-strict" -RDEPENDS_perl-module-digest-sha += "perl-module-vars" -RDEPENDS_perl-module-digest-sha += "perl-module-warnings" -RDEPENDS_perl-module-digest-sha += "perl-module-xsloader" -RDEPENDS_perl-module-dynaloader += "perl-module-config" -RDEPENDS_perl-module-encode-alias += "perl-module-constant" -RDEPENDS_perl-module-encode-alias += "perl-module-encode" -RDEPENDS_perl-module-encode-alias += "perl-module-exporter" -RDEPENDS_perl-module-encode-alias += "perl-module-strict" -RDEPENDS_perl-module-encode-alias += "perl-module-warnings" -RDEPENDS_perl-module-encode-byte += "perl-module-encode" -RDEPENDS_perl-module-encode-byte += "perl-module-strict" -RDEPENDS_perl-module-encode-byte += "perl-module-warnings" -RDEPENDS_perl-module-encode-byte += "perl-module-xsloader" -RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter" -RDEPENDS_perl-module-encode-cjkconstants += "perl-module-strict" -RDEPENDS_perl-module-encode-cjkconstants += "perl-module-warnings" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-encode" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-parent" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-strict" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-utf8" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-vars" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-warnings" -RDEPENDS_perl-module-encode-cn += "perl-module-encode" -RDEPENDS_perl-module-encode-cn += "perl-module-encode-cn-hz" -RDEPENDS_perl-module-encode-cn += "perl-module-strict" -RDEPENDS_perl-module-encode-cn += "perl-module-warnings" -RDEPENDS_perl-module-encode-cn += "perl-module-xsloader" -RDEPENDS_perl-module-encode-config += "perl-module-strict" -RDEPENDS_perl-module-encode-config += "perl-module-warnings" -RDEPENDS_perl-module-encode-ebcdic += "perl-module-encode" -RDEPENDS_perl-module-encode-ebcdic += "perl-module-strict" -RDEPENDS_perl-module-encode-ebcdic += "perl-module-warnings" -RDEPENDS_perl-module-encode-ebcdic += "perl-module-xsloader" -RDEPENDS_perl-module-encode-encoder += "perl-module-constant" -RDEPENDS_perl-module-encode-encoder += "perl-module-encode" -RDEPENDS_perl-module-encode-encoder += "perl-module-exporter" -RDEPENDS_perl-module-encode-encoder += "perl-module-overload" -RDEPENDS_perl-module-encode-encoder += "perl-module-strict" -RDEPENDS_perl-module-encode-encoder += "perl-module-warnings" -RDEPENDS_perl-module-encode-encoding += "perl-module-constant" -RDEPENDS_perl-module-encode-encoding += "perl-module-encode" -RDEPENDS_perl-module-encode-encoding += "perl-module-encode-mime-name" -RDEPENDS_perl-module-encode-encoding += "perl-module-strict" -RDEPENDS_perl-module-encode-encoding += "perl-module-warnings" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-encode" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-parent" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-strict" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-utf8" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-vars" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-warnings" -RDEPENDS_perl-module-encode-guess += "perl-module-bytes" -RDEPENDS_perl-module-encode-guess += "perl-module-constant" -RDEPENDS_perl-module-encode-guess += "perl-module-encode" -RDEPENDS_perl-module-encode-guess += "perl-module-encode-unicode" -RDEPENDS_perl-module-encode-guess += "perl-module-parent" -RDEPENDS_perl-module-encode-guess += "perl-module-strict" -RDEPENDS_perl-module-encode-guess += "perl-module-warnings" -RDEPENDS_perl-module-encode-jp-h2z += "perl-module-encode-cjkconstants" -RDEPENDS_perl-module-encode-jp-h2z += "perl-module-strict" -RDEPENDS_perl-module-encode-jp-h2z += "perl-module-vars" -RDEPENDS_perl-module-encode-jp-h2z += "perl-module-warnings" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-bytes" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-cjkconstants" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-jp-h2z" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-parent" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-strict" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-warnings" -RDEPENDS_perl-module-encode-jp += "perl-module-encode" -RDEPENDS_perl-module-encode-jp += "perl-module-encode-jp-jis7" -RDEPENDS_perl-module-encode-jp += "perl-module-strict" -RDEPENDS_perl-module-encode-jp += "perl-module-warnings" -RDEPENDS_perl-module-encode-jp += "perl-module-xsloader" -RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode" -RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode-cjkconstants" -RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-parent" -RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-strict" -RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-warnings" -RDEPENDS_perl-module-encode-kr += "perl-module-encode" -RDEPENDS_perl-module-encode-kr += "perl-module-encode-kr-2022-kr" -RDEPENDS_perl-module-encode-kr += "perl-module-strict" -RDEPENDS_perl-module-encode-kr += "perl-module-warnings" -RDEPENDS_perl-module-encode-kr += "perl-module-xsloader" -RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-constant" -RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-encode-cjkconstants" -RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-parent" -RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-strict" -RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-warnings" -RDEPENDS_perl-module-encode-mime-header += "perl-module-encode" -RDEPENDS_perl-module-encode-mime-header += "perl-module-mime-base64" -RDEPENDS_perl-module-encode-mime-header += "perl-module-parent" -RDEPENDS_perl-module-encode-mime-header += "perl-module-strict" -RDEPENDS_perl-module-encode-mime-header += "perl-module-warnings" -RDEPENDS_perl-module-encode-mime-name += "perl-module-strict" -RDEPENDS_perl-module-encode-mime-name += "perl-module-warnings" -RDEPENDS_perl-module-encode += "perl-module-bytes" -RDEPENDS_perl-module-encode += "perl-module-constant" -RDEPENDS_perl-module-encode += "perl-module-encode-alias" -RDEPENDS_perl-module-encode += "perl-module-encode-config" -RDEPENDS_perl-module-encode += "perl-module-encode-configlocal-pm" -RDEPENDS_perl-module-encode += "perl-module-encode-mime-name" -RDEPENDS_perl-module-encode += "perl-module-exporter" -RDEPENDS_perl-module-encode += "perl-module-parent" -RDEPENDS_perl-module-encode += "perl-module-storable" -RDEPENDS_perl-module-encode += "perl-module-strict" -RDEPENDS_perl-module-encode += "perl-module-warnings" -RDEPENDS_perl-module-encode += "perl-module-xsloader" -RDEPENDS_perl-module-encode-symbol += "perl-module-encode" -RDEPENDS_perl-module-encode-symbol += "perl-module-strict" -RDEPENDS_perl-module-encode-symbol += "perl-module-warnings" -RDEPENDS_perl-module-encode-symbol += "perl-module-xsloader" -RDEPENDS_perl-module-encode-tw += "perl-module-encode" -RDEPENDS_perl-module-encode-tw += "perl-module-strict" -RDEPENDS_perl-module-encode-tw += "perl-module-warnings" -RDEPENDS_perl-module-encode-tw += "perl-module-xsloader" -RDEPENDS_perl-module-encode-unicode += "perl-module-encode" -RDEPENDS_perl-module-encode-unicode += "perl-module-parent" -RDEPENDS_perl-module-encode-unicode += "perl-module-strict" -RDEPENDS_perl-module-encode-unicode += "perl-module-warnings" -RDEPENDS_perl-module-encode-unicode += "perl-module-xsloader" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-encode" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-mime-base64" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-parent" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-re" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-strict" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-warnings" -RDEPENDS_perl-module-encoding += "perl-module-config" -RDEPENDS_perl-module-encoding += "perl-module-constant" -RDEPENDS_perl-module-encoding += "perl-module-encode" -RDEPENDS_perl-module-encoding += "perl-module-filter-util-call" -RDEPENDS_perl-module-encoding += "perl-module-i18n-langinfo" -RDEPENDS_perl-module-encoding += "perl-module-posix" -RDEPENDS_perl-module-encoding += "perl-module-strict" -RDEPENDS_perl-module-encoding += "perl-module-utf8" -RDEPENDS_perl-module-encoding += "perl-module-warnings" -RDEPENDS_perl-module-encoding-warnings += "perl-module-strict" -RDEPENDS_perl-module-encoding-warnings += "perl-module-warnings" -RDEPENDS_perl-module-english += "perl-module-exporter" -RDEPENDS_perl-module-env += "perl-module-config" -RDEPENDS_perl-module-env += "perl-module-tie-array" -RDEPENDS_perl-module-errno += "perl-module-exporter" -RDEPENDS_perl-module-errno += "perl-module-strict" -RDEPENDS_perl-module-experimental += "perl-module-strict" -RDEPENDS_perl-module-experimental += "perl-module-version" -RDEPENDS_perl-module-experimental += "perl-module-warnings" -RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter" -RDEPENDS_perl-module-exporter-heavy += "perl-module-strict" -RDEPENDS_perl-module-exporter += "perl-module-exporter-heavy" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-config" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-cwd" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-dynaloader" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-extutils-mksymlists" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-temp" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-ipc-cmd" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-text-parsewords" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-path" -RDEPENDS_perl-module-extutils-cbuilder += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-config" -RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-extutils-cbuilder-base" -RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-config" -RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-extutils-cbuilder-base" -RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-extutils-cbuilder-base" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-io-file" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-warnings" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-command" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-install" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-getopt-long" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-strict" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-test-harness" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-warnings" -RDEPENDS_perl-module-extutils-command += "perl-module-exporter" -RDEPENDS_perl-module-extutils-command += "perl-module-file-copy" -RDEPENDS_perl-module-extutils-command += "perl-module-file-find" -RDEPENDS_perl-module-extutils-command += "perl-module-file-path" -RDEPENDS_perl-module-extutils-command += "perl-module-strict" -RDEPENDS_perl-module-extutils-command += "perl-module-vars" -RDEPENDS_perl-module-extutils-constant-base += "perl-module-constant" -RDEPENDS_perl-module-extutils-constant-base += "perl-module-extutils-constant-utils" -RDEPENDS_perl-module-extutils-constant-base += "perl-module-strict" -RDEPENDS_perl-module-extutils-constant-base += "perl-module-text-wrap" -RDEPENDS_perl-module-extutils-constant-base += "perl-module-vars" -RDEPENDS_perl-module-extutils-constant += "perl-module-exporter" -RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-proxysubs" -RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-utils" -RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-xs" -RDEPENDS_perl-module-extutils-constant += "perl-module-filehandle" -RDEPENDS_perl-module-extutils-constant += "perl-module-strict" -RDEPENDS_perl-module-extutils-constant += "perl-module-vars" -RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-utils" -RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs" -RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-strict" -RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-vars" -RDEPENDS_perl-module-extutils-constant-utils += "perl-module-constant" -RDEPENDS_perl-module-extutils-constant-utils += "perl-module-posix" -RDEPENDS_perl-module-extutils-constant-utils += "perl-module-strict" -RDEPENDS_perl-module-extutils-constant-utils += "perl-module-vars" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-data-dumper" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-utils" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-strict" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-vars" -RDEPENDS_perl-module-extutils-embed += "perl-module-config" -RDEPENDS_perl-module-extutils-embed += "perl-module-exporter" -RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-liblist" -RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-embed += "perl-module-getopt-std" -RDEPENDS_perl-module-extutils-embed += "perl-module-strict" -RDEPENDS_perl-module-extutils-installed += "perl-module-config" -RDEPENDS_perl-module-extutils-installed += "perl-module-data-dumper" -RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-packlist" -RDEPENDS_perl-module-extutils-installed += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-installed += "perl-module-file-find" -RDEPENDS_perl-module-extutils-installed += "perl-module-strict" -RDEPENDS_perl-module-extutils-installed += "perl-module-vars" -RDEPENDS_perl-module-extutils-install += "perl-module-autosplit" -RDEPENDS_perl-module-extutils-install += "perl-module-config" -RDEPENDS_perl-module-extutils-install += "perl-module-cwd" -RDEPENDS_perl-module-extutils-install += "perl-module-exporter" -RDEPENDS_perl-module-extutils-install += "perl-module-extutils-packlist" -RDEPENDS_perl-module-extutils-install += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-install += "perl-module-file-compare" -RDEPENDS_perl-module-extutils-install += "perl-module-file-copy" -RDEPENDS_perl-module-extutils-install += "perl-module-file-find" -RDEPENDS_perl-module-extutils-install += "perl-module-file-path" -RDEPENDS_perl-module-extutils-install += "perl-module-strict" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-cwd" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-strict" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-text-parsewords" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-warnings" -RDEPENDS_perl-module-extutils-liblist += "perl-module-extutils-liblist-kid" -RDEPENDS_perl-module-extutils-liblist += "perl-module-strict" -RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-config" -RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-strict" -RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-base" -RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode" -RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode-alias" -RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-i18n-langinfo" -RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-strict" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-b" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-cpan" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-cwd" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-exporter" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-version" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-manifest" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-version" -RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-strict" -RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-vars" -RDEPENDS_perl-module-extutils-manifest += "perl-module-config" -RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter" -RDEPENDS_perl-module-extutils-manifest += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-manifest += "perl-module-file-copy" -RDEPENDS_perl-module-extutils-manifest += "perl-module-file-find" -RDEPENDS_perl-module-extutils-manifest += "perl-module-file-path" -RDEPENDS_perl-module-extutils-manifest += "perl-module-strict" -RDEPENDS_perl-module-extutils-manifest += "perl-module-warnings" -RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter" -RDEPENDS_perl-module-extutils-miniperl += "perl-module-extutils-embed" -RDEPENDS_perl-module-extutils-miniperl += "perl-module-strict" -RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-config" -RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-dynaloader" -RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter" -RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-strict" -RDEPENDS_perl-module-extutils-mksymlists += "perl-module-config" -RDEPENDS_perl-module-extutils-mksymlists += "perl-module-exporter" -RDEPENDS_perl-module-extutils-mksymlists += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-aix += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-autosplit" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-cpan" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-data-dumper" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-find" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-version" -RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-beos += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-win32" -RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-dos += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-macos += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32" -RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist" -RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-cwd" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-encode" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-liblist" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-find" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-vars" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-version" -RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-exporter" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-liblist-kid" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-find" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-vos += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-vos += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32" -RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-strict" -RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm" -RDEPENDS_perl-module-extutils-my += "perl-module-strict" -RDEPENDS_perl-module-extutils-packlist += "perl-module-config" -RDEPENDS_perl-module-extutils-packlist += "perl-module-cwd" -RDEPENDS_perl-module-extutils-packlist += "perl-module-strict" -RDEPENDS_perl-module-extutils-packlist += "perl-module-vars" -RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-strict" -RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-warnings" -RDEPENDS_perl-module-extutils-parsexs-countlines += "perl-module-strict" -RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-strict" -RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-warnings" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-config" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-cwd" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-constants" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-countlines" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-eval" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-utilities" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-re" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-strict" -RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-exporter" -RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-parsexs-constants" -RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-typemaps" -RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-strict" -RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-warnings" -RDEPENDS_perl-module-extutils-testlib += "perl-module-cwd" -RDEPENDS_perl-module-extutils-testlib += "perl-module-lib" -RDEPENDS_perl-module-extutils-testlib += "perl-module-strict" -RDEPENDS_perl-module-extutils-testlib += "perl-module-warnings" -RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-exporter" -RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-extutils-typemaps" -RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-strict" -RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-warnings" -RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-strict" -RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-warnings" -RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-re" -RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-strict" -RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-warnings" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs-constants" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-inputmap" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-outputmap" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-type" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-strict" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-warnings" -RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-extutils-typemaps" -RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-strict" -RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-warnings" -RDEPENDS_perl-module-fatal += "perl-module-autodie" -RDEPENDS_perl-module-fatal += "perl-module-autodie-exception-system" -RDEPENDS_perl-module-fatal += "perl-module-autodie-hints" -RDEPENDS_perl-module-fatal += "perl-module-autodie-util" -RDEPENDS_perl-module-fatal += "perl-module-config" -RDEPENDS_perl-module-fatal += "perl-module-constant" -RDEPENDS_perl-module-fatal += "perl-module-fcntl" -RDEPENDS_perl-module-fatal += "perl-module-posix" -RDEPENDS_perl-module-fatal += "perl-module-strict" -RDEPENDS_perl-module-fatal += "perl-module-tie-refhash" -RDEPENDS_perl-module-fatal += "perl-module-warnings" -RDEPENDS_perl-module-fcntl += "perl-module-exporter" -RDEPENDS_perl-module-fcntl += "perl-module-strict" -RDEPENDS_perl-module-fcntl += "perl-module-xsloader" -RDEPENDS_perl-module-fields += "perl-module-base" -RDEPENDS_perl-module-fields += "perl-module-hash-util" -RDEPENDS_perl-module-fields += "perl-module-strict" -RDEPENDS_perl-module-file-basename += "perl-module-exporter" -RDEPENDS_perl-module-file-basename += "perl-module-re" -RDEPENDS_perl-module-file-basename += "perl-module-strict" -RDEPENDS_perl-module-file-basename += "perl-module-warnings" -RDEPENDS_perl-module-filecache += "perl-module-parent" -RDEPENDS_perl-module-filecache += "perl-module-strict" -RDEPENDS_perl-module-file-compare += "perl-module-exporter" -RDEPENDS_perl-module-file-compare += "perl-module-strict" -RDEPENDS_perl-module-file-compare += "perl-module-warnings" -RDEPENDS_perl-module-file-copy += "perl-module-config" -RDEPENDS_perl-module-file-copy += "perl-module-exporter" -RDEPENDS_perl-module-file-copy += "perl-module-file-basename" -RDEPENDS_perl-module-file-copy += "perl-module-strict" -RDEPENDS_perl-module-file-copy += "perl-module-warnings" -RDEPENDS_perl-module-file-dosglob += "perl-module-strict" -RDEPENDS_perl-module-file-dosglob += "perl-module-text-parsewords" -RDEPENDS_perl-module-file-dosglob += "perl-module-warnings" -RDEPENDS_perl-module-file-dosglob += "perl-module-xsloader" -RDEPENDS_perl-module-file-fetch += "perl-module-constant" -RDEPENDS_perl-module-file-fetch += "perl-module-cwd" -RDEPENDS_perl-module-file-fetch += "perl-module-file-basename" -RDEPENDS_perl-module-file-fetch += "perl-module-file-copy" -RDEPENDS_perl-module-file-fetch += "perl-module-filehandle" -RDEPENDS_perl-module-file-fetch += "perl-module-file-path" -RDEPENDS_perl-module-file-fetch += "perl-module-file-temp" -RDEPENDS_perl-module-file-fetch += "perl-module-ipc-cmd" -RDEPENDS_perl-module-file-fetch += "perl-module-locale-maketext-simple" -RDEPENDS_perl-module-file-fetch += "perl-module-load" -RDEPENDS_perl-module-file-fetch += "perl-module-params-check" -RDEPENDS_perl-module-file-fetch += "perl-module-strict" -RDEPENDS_perl-module-file-fetch += "perl-module-vars" -RDEPENDS_perl-module-file-find += "perl-module-config" -RDEPENDS_perl-module-file-find += "perl-module-cwd" -RDEPENDS_perl-module-file-find += "perl-module-exporter" -RDEPENDS_perl-module-file-find += "perl-module-file-basename" -RDEPENDS_perl-module-file-find += "perl-module-strict" -RDEPENDS_perl-module-file-find += "perl-module-warnings" -RDEPENDS_perl-module-file-find += "perl-module-warnings-register" -RDEPENDS_perl-module-file-globmapper += "perl-module-file-glob" -RDEPENDS_perl-module-file-globmapper += "perl-module-strict" -RDEPENDS_perl-module-file-globmapper += "perl-module-warnings" -RDEPENDS_perl-module-file-glob += "perl-module-exporter" -RDEPENDS_perl-module-file-glob += "perl-module-strict" -RDEPENDS_perl-module-file-glob += "perl-module-warnings" -RDEPENDS_perl-module-file-glob += "perl-module-xsloader" -RDEPENDS_perl-module-filehandle += "perl-module-exporter" -RDEPENDS_perl-module-filehandle += "perl-module-fcntl" -RDEPENDS_perl-module-filehandle += "perl-module-io-file" -RDEPENDS_perl-module-filehandle += "perl-module-strict" -RDEPENDS_perl-module-file-path += "perl-module-cwd" -RDEPENDS_perl-module-file-path += "perl-module-exporter" -RDEPENDS_perl-module-file-path += "perl-module-file-basename" -RDEPENDS_perl-module-file-path += "perl-module-strict" -RDEPENDS_perl-module-file-path += "perl-module-vars" -RDEPENDS_perl-module-file-stat += "perl-module-class-struct" -RDEPENDS_perl-module-file-stat += "perl-module-constant" -RDEPENDS_perl-module-file-stat += "perl-module-exporter" -RDEPENDS_perl-module-file-stat += "perl-module-fcntl" -RDEPENDS_perl-module-file-stat += "perl-module-overload " -RDEPENDS_perl-module-file-stat += "perl-module-strict" -RDEPENDS_perl-module-file-stat += "perl-module-warnings" -RDEPENDS_perl-module-file-stat += "perl-module-warnings-register" -RDEPENDS_perl-module-file-temp += "perl-module-constant" -RDEPENDS_perl-module-file-temp += "perl-module-cwd" -RDEPENDS_perl-module-file-temp += "perl-module-errno" -RDEPENDS_perl-module-file-temp += "perl-module-exporter" -RDEPENDS_perl-module-file-temp += "perl-module-fcntl" -RDEPENDS_perl-module-file-temp += "perl-module-file-path" -RDEPENDS_perl-module-file-temp += "perl-module-io-seekable" -RDEPENDS_perl-module-file-temp += "perl-module-overload" -RDEPENDS_perl-module-file-temp += "perl-module-parent" -RDEPENDS_perl-module-file-temp += "perl-module-posix" -RDEPENDS_perl-module-file-temp += "perl-module-strict" -RDEPENDS_perl-module-file-temp += "perl-module-vars" -RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call" -RDEPENDS_perl-module-filter-simple += "perl-module-text-balanced" -RDEPENDS_perl-module-filter-util-call += "perl-module-exporter" -RDEPENDS_perl-module-filter-util-call += "perl-module-strict" -RDEPENDS_perl-module-filter-util-call += "perl-module-warnings" -RDEPENDS_perl-module-filter-util-call += "perl-module-xsloader" -RDEPENDS_perl-module-findbin += "perl-module-cwd" -RDEPENDS_perl-module-findbin += "perl-module-exporter" -RDEPENDS_perl-module-findbin += "perl-module-file-basename" -RDEPENDS_perl-module-getopt-long += "perl-module-constant" -RDEPENDS_perl-module-getopt-long += "perl-module-exporter" -RDEPENDS_perl-module-getopt-long += "perl-module-overload" -RDEPENDS_perl-module-getopt-long += "perl-module-pod-usage" -RDEPENDS_perl-module-getopt-long += "perl-module-strict" -RDEPENDS_perl-module-getopt-long += "perl-module-text-parsewords" -RDEPENDS_perl-module-getopt-long += "perl-module-vars" -RDEPENDS_perl-module-getopt-long += "perl-module-warnings" -RDEPENDS_perl-module-getopt-std += "perl-module-exporter" -RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter" -RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-strict" -RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-warnings" -RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-xsloader" -RDEPENDS_perl-module-hash-util += "perl-module-exporter" -RDEPENDS_perl-module-hash-util += "perl-module-hash-util-fieldhash" -RDEPENDS_perl-module-hash-util += "perl-module-strict" -RDEPENDS_perl-module-hash-util += "perl-module-warnings" -RDEPENDS_perl-module-hash-util += "perl-module-warnings-register" -RDEPENDS_perl-module-hash-util += "perl-module-xsloader" -RDEPENDS_perl-module-i18n-collate += "perl-module-exporter" -RDEPENDS_perl-module-i18n-collate += "perl-module-overload" -RDEPENDS_perl-module-i18n-collate += "perl-module-posix" -RDEPENDS_perl-module-i18n-collate += "perl-module-strict" -RDEPENDS_perl-module-i18n-collate += "perl-module-warnings-register" -RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter" -RDEPENDS_perl-module-i18n-langinfo += "perl-module-strict" -RDEPENDS_perl-module-i18n-langinfo += "perl-module-warnings" -RDEPENDS_perl-module-i18n-langinfo += "perl-module-xsloader" -RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-i18n-langtags" -RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-strict" -RDEPENDS_perl-module-i18n-langtags-list += "perl-module-strict" -RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter" -RDEPENDS_perl-module-i18n-langtags += "perl-module-strict" -RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-compress-raw-bzip2" -RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-strict" -RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-exporter" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-strict" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-strict" -RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-constant" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-encode" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-file-globmapper" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict " -RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-utf8" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-base += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-base += "perl-module-io-file" -RDEPENDS_perl-module-io-compress-base += "perl-module-io-handle " -RDEPENDS_perl-module-io-compress-base += "perl-module-strict " -RDEPENDS_perl-module-io-compress-base += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter " -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-adapter-bzip2" -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base" -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-strict " -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter " -RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-adapter-deflate" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-rawdeflate" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-zlib-constants" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-strict " -RDEPENDS_perl-module-io-compress-deflate += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-constant" -RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter" -RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-strict " -RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter " -RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-adapter-deflate" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-gzip-constants" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-rawdeflate" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-zlib-extra" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-strict " -RDEPENDS_perl-module-io-compress-gzip += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter " -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-fcntl" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-adapter-deflate" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-strict " -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-constant" -RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter" -RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-strict " -RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-zip += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-zip += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-compress-zip += "perl-module-config" -RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter " -RDEPENDS_perl-module-io-compress-zip += "perl-module-fcntl" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-deflate" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-identity" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-bzip2 " -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-rawdeflate" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zip-constants" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zlib-extra" -RDEPENDS_perl-module-io-compress-zip += "perl-module-strict " -RDEPENDS_perl-module-io-compress-zip += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-constant" -RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter" -RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-strict " -RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-io-compress-gzip-constants" -RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-strict " -RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-warnings" -RDEPENDS_perl-module-io-dir += "perl-module-exporter" -RDEPENDS_perl-module-io-dir += "perl-module-file-stat" -RDEPENDS_perl-module-io-dir += "perl-module-io-file" -RDEPENDS_perl-module-io-dir += "perl-module-strict" -RDEPENDS_perl-module-io-dir += "perl-module-tie-hash" -RDEPENDS_perl-module-io-file += "perl-module-exporter" -RDEPENDS_perl-module-io-file += "perl-module-fcntl" -RDEPENDS_perl-module-io-file += "perl-module-io-seekable" -RDEPENDS_perl-module-io-file += "perl-module-selectsaver" -RDEPENDS_perl-module-io-file += "perl-module-strict" -RDEPENDS_perl-module-io-handle += "perl-module-exporter" -RDEPENDS_perl-module-io-handle += "perl-module-io" -RDEPENDS_perl-module-io-handle += "perl-module-io-file" -RDEPENDS_perl-module-io-handle += "perl-module-selectsaver" -RDEPENDS_perl-module-io-handle += "perl-module-strict" -RDEPENDS_perl-module-io += "perl-module-strict" -RDEPENDS_perl-module-io += "perl-module-warnings" -RDEPENDS_perl-module-io += "perl-module-xsloader" -RDEPENDS_perl-module-io-pipe += "perl-module-fcntl" -RDEPENDS_perl-module-io-pipe += "perl-module-io-handle" -RDEPENDS_perl-module-io-pipe += "perl-module-strict" -RDEPENDS_perl-module-io-poll += "perl-module-exporter" -RDEPENDS_perl-module-io-poll += "perl-module-io-handle" -RDEPENDS_perl-module-io-poll += "perl-module-strict" -RDEPENDS_perl-module-io-seekable += "perl-module-exporter" -RDEPENDS_perl-module-io-seekable += "perl-module-fcntl" -RDEPENDS_perl-module-io-seekable += "perl-module-io-handle" -RDEPENDS_perl-module-io-seekable += "perl-module-strict" -RDEPENDS_perl-module-io-select += "perl-module-exporter" -RDEPENDS_perl-module-io-select += "perl-module-strict" -RDEPENDS_perl-module-io-select += "perl-module-warnings-register" -RDEPENDS_perl-module-io-socket-inet += "perl-module-errno" -RDEPENDS_perl-module-io-socket-inet += "perl-module-exporter" -RDEPENDS_perl-module-io-socket-inet += "perl-module-io-socket" -RDEPENDS_perl-module-io-socket-inet += "perl-module-socket" -RDEPENDS_perl-module-io-socket-inet += "perl-module-strict" -RDEPENDS_perl-module-io-socket-ip += "perl-module-base" -RDEPENDS_perl-module-io-socket-ip += "perl-module-constant" -RDEPENDS_perl-module-io-socket-ip += "perl-module-errno" -RDEPENDS_perl-module-io-socket-ip += "perl-module-posix" -RDEPENDS_perl-module-io-socket-ip += "perl-module-socket" -RDEPENDS_perl-module-io-socket-ip += "perl-module-strict" -RDEPENDS_perl-module-io-socket-ip += "perl-module-warnings" -RDEPENDS_perl-module-io-socket += "perl-module-errno" -RDEPENDS_perl-module-io-socket += "perl-module-exporter" -RDEPENDS_perl-module-io-socket += "perl-module-io-handle" -RDEPENDS_perl-module-io-socket += "perl-module-io-select" -RDEPENDS_perl-module-io-socket += "perl-module-io-socket-inet" -RDEPENDS_perl-module-io-socket += "perl-module-io-socket-unix" -RDEPENDS_perl-module-io-socket += "perl-module-socket" -RDEPENDS_perl-module-io-socket += "perl-module-strict" -RDEPENDS_perl-module-io-socket-unix += "perl-module-io-socket" -RDEPENDS_perl-module-io-socket-unix += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-compress-raw-bzip2" -RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-zip-constants " -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-adapter-inflate" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-base" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-gunzip" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-inflate" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-rawinflate" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-unzip" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-uncompress-base" -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-base += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-base += "perl-module-constant" -RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-file " -RDEPENDS_perl-module-io-uncompress-base += "perl-module-list-util" -RDEPENDS_perl-module-io-uncompress-base += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-base += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-adapter-bunzip2" -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-base" -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-gzip-constants" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-zlib-extra" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-uncompress-rawinflate" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-zlib-constants" -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-uncompress-rawinflate" -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-adapter-inflate" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-base" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-constant" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-fcntl" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zip-constants" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zlib-extra" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-file" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-identity" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-inflate" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-rawinflate" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-posix" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-warnings" -RDEPENDS_perl-module-io-zlib += "perl-module-fcntl" -RDEPENDS_perl-module-io-zlib += "perl-module-io-handle" -RDEPENDS_perl-module-io-zlib += "perl-module-strict" -RDEPENDS_perl-module-io-zlib += "perl-module-tie-handle" -RDEPENDS_perl-module-io-zlib += "perl-module-vars" -RDEPENDS_perl-module-ipc-cmd += "perl-module-constant" -RDEPENDS_perl-module-ipc-cmd += "perl-module-exporter" -RDEPENDS_perl-module-ipc-cmd += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-ipc-cmd += "perl-module-filehandle" -RDEPENDS_perl-module-ipc-cmd += "perl-module-io-handle" -RDEPENDS_perl-module-ipc-cmd += "perl-module-io-select" -RDEPENDS_perl-module-ipc-cmd += "perl-module-ipc-open3" -RDEPENDS_perl-module-ipc-cmd += "perl-module-locale-maketext-simple" -RDEPENDS_perl-module-ipc-cmd += "perl-module-load" -RDEPENDS_perl-module-ipc-cmd += "perl-module-params-check" -RDEPENDS_perl-module-ipc-cmd += "perl-module-posix" -RDEPENDS_perl-module-ipc-cmd += "perl-module-socket" -RDEPENDS_perl-module-ipc-cmd += "perl-module-strict" -RDEPENDS_perl-module-ipc-cmd += "perl-module-text-parsewords" -RDEPENDS_perl-module-ipc-cmd += "perl-module-time-hires" -RDEPENDS_perl-module-ipc-cmd += "perl-module-vars" -RDEPENDS_perl-module-ipc-msg += "perl-module-class-struct" -RDEPENDS_perl-module-ipc-msg += "perl-module-ipc-sysv" -RDEPENDS_perl-module-ipc-msg += "perl-module-strict" -RDEPENDS_perl-module-ipc-msg += "perl-module-vars" -RDEPENDS_perl-module-ipc-open2 += "perl-module-exporter" -RDEPENDS_perl-module-ipc-open2 += "perl-module-ipc-open3" -RDEPENDS_perl-module-ipc-open2 += "perl-module-strict" -RDEPENDS_perl-module-ipc-open3 += "perl-module-constant" -RDEPENDS_perl-module-ipc-open3 += "perl-module-exporter" -RDEPENDS_perl-module-ipc-open3 += "perl-module-fcntl" -RDEPENDS_perl-module-ipc-open3 += "perl-module-io-pipe" -RDEPENDS_perl-module-ipc-open3 += "perl-module-posix" -RDEPENDS_perl-module-ipc-open3 += "perl-module-strict" -RDEPENDS_perl-module-ipc-semaphore += "perl-module-class-struct" -RDEPENDS_perl-module-ipc-semaphore += "perl-module-ipc-sysv" -RDEPENDS_perl-module-ipc-semaphore += "perl-module-strict" -RDEPENDS_perl-module-ipc-semaphore += "perl-module-vars" -RDEPENDS_perl-module-ipc-sharedmem += "perl-module-class-struct" -RDEPENDS_perl-module-ipc-sharedmem += "perl-module-ipc-sysv" -RDEPENDS_perl-module-ipc-sharedmem += "perl-module-strict" -RDEPENDS_perl-module-ipc-sharedmem += "perl-module-vars" -RDEPENDS_perl-module-ipc-sysv += "perl-module-config" -RDEPENDS_perl-module-ipc-sysv += "perl-module-dynaloader" -RDEPENDS_perl-module-ipc-sysv += "perl-module-exporter" -RDEPENDS_perl-module-ipc-sysv += "perl-module-strict" -RDEPENDS_perl-module-ipc-sysv += "perl-module-vars" -RDEPENDS_perl-module-json-pp-boolean += "perl-module-overload" -RDEPENDS_perl-module-json-pp-boolean += "perl-module-strict" -RDEPENDS_perl-module-json-pp += "perl-module-b" -RDEPENDS_perl-module-json-pp += "perl-module-bytes" -RDEPENDS_perl-module-json-pp += "perl-module-constant" -RDEPENDS_perl-module-json-pp += "perl-module-encode" -RDEPENDS_perl-module-json-pp += "perl-module-exporter" -RDEPENDS_perl-module-json-pp += "perl-module-json-pp-boolean" -RDEPENDS_perl-module-json-pp += "perl-module-math-bigfloat" -RDEPENDS_perl-module-json-pp += "perl-module-math-bigint" -RDEPENDS_perl-module-json-pp += "perl-module-overload" -RDEPENDS_perl-module-json-pp += "perl-module-strict" -RDEPENDS_perl-module-json-pp += "perl-module-subs" -RDEPENDS_perl-module-less += "perl-module-strict" -RDEPENDS_perl-module-less += "perl-module-warnings" -RDEPENDS_perl-module-lib += "perl-module-config" -RDEPENDS_perl-module-lib += "perl-module-strict" -RDEPENDS_perl-module-list-util += "perl-module-exporter" -RDEPENDS_perl-module-list-util += "perl-module-strict" -RDEPENDS_perl-module-list-util += "perl-module-warnings" -RDEPENDS_perl-module-list-util += "perl-module-xsloader" -RDEPENDS_perl-module-list-util-xs += "perl-module-list-util" -RDEPENDS_perl-module-list-util-xs += "perl-module-strict" -RDEPENDS_perl-module-list-util-xs += "perl-module-warnings" -RDEPENDS_perl-module-loaded += "perl-module-strict" -RDEPENDS_perl-module-loaded += "perl-module-vars" -RDEPENDS_perl-module-load += "perl-module-config" -RDEPENDS_perl-module-load += "perl-module-constant" -RDEPENDS_perl-module-load += "perl-module-exporter" -RDEPENDS_perl-module-load += "perl-module-filehandle" -RDEPENDS_perl-module-load += "perl-module-locale-maketext-simple" -RDEPENDS_perl-module-load += "perl-module-corelist" -RDEPENDS_perl-module-load += "perl-module-load" -RDEPENDS_perl-module-load += "perl-module-params-check" -RDEPENDS_perl-module-load += "perl-module-strict" -RDEPENDS_perl-module-load += "perl-module-vars" -RDEPENDS_perl-module-load += "perl-module-version" -RDEPENDS_perl-module-load += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-constants += "perl-module-constant" -RDEPENDS_perl-module-locale-codes-constants += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-constants += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-constants += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-country += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-country += "perl-module-if" -RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-country += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-country += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-if" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-if" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-if" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-language += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-language += "perl-module-if" -RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-language += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-language += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-if" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes += "perl-module-if" -RDEPENDS_perl-module-locale-codes += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-script += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-script += "perl-module-if" -RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-script += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-script += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-country += "perl-module-exporter" -RDEPENDS_perl-module-locale-country += "perl-module-if" -RDEPENDS_perl-module-locale-country += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-country += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-country += "perl-module-strict" -RDEPENDS_perl-module-locale-country += "perl-module-warnings" -RDEPENDS_perl-module-locale-currency += "perl-module-exporter" -RDEPENDS_perl-module-locale-currency += "perl-module-if" -RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-currency += "perl-module-strict" -RDEPENDS_perl-module-locale-currency += "perl-module-warnings" -RDEPENDS_perl-module-locale-language += "perl-module-exporter" -RDEPENDS_perl-module-locale-language += "perl-module-if" -RDEPENDS_perl-module-locale-language += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-language += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-language += "perl-module-strict" -RDEPENDS_perl-module-locale-language += "perl-module-warnings" -RDEPENDS_perl-module-locale-maketext-gutsloader += "perl-module-locale-maketext" -RDEPENDS_perl-module-locale-maketext-guts += "perl-module-locale-maketext" -RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags" -RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags-detect" -RDEPENDS_perl-module-locale-maketext += "perl-module-integer" -RDEPENDS_perl-module-locale-maketext += "perl-module-strict" -RDEPENDS_perl-module-locale-maketext-simple += "perl-module-base" -RDEPENDS_perl-module-locale-maketext-simple += "perl-module-strict" -RDEPENDS_perl-module-locale += "perl-module-config" -RDEPENDS_perl-module-locale-script += "perl-module-exporter" -RDEPENDS_perl-module-locale-script += "perl-module-if" -RDEPENDS_perl-module-locale-script += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-script += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-script += "perl-module-strict" -RDEPENDS_perl-module-locale-script += "perl-module-warnings" -RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter" -RDEPENDS_perl-module-math-bigfloat += "perl-module-math-bigint" -RDEPENDS_perl-module-math-bigfloat += "perl-module-math-complex" -RDEPENDS_perl-module-math-bigfloat += "perl-module-overload" -RDEPENDS_perl-module-math-bigfloat += "perl-module-strict" -RDEPENDS_perl-module-math-bigfloat += "perl-module-warnings" -RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-exporter" -RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-math-bigfloat" -RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-overload" -RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-strict" -RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-strict" -RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint-calc += "perl-module-constant" -RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer" -RDEPENDS_perl-module-math-bigint-calc += "perl-module-math-bigint-lib" -RDEPENDS_perl-module-math-bigint-calc += "perl-module-strict" -RDEPENDS_perl-module-math-bigint-calc += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-math-bigint-calc" -RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-strict" -RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-xsloader" -RDEPENDS_perl-module-math-bigint-lib += "perl-module-overload" -RDEPENDS_perl-module-math-bigint-lib += "perl-module-strict" -RDEPENDS_perl-module-math-bigint-lib += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint += "perl-module-exporter" -RDEPENDS_perl-module-math-bigint += "perl-module-math-bigfloat" -RDEPENDS_perl-module-math-bigint += "perl-module-math-complex" -RDEPENDS_perl-module-math-bigint += "perl-module-overload" -RDEPENDS_perl-module-math-bigint += "perl-module-strict" -RDEPENDS_perl-module-math-bigint += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint-trace += "perl-module-exporter" -RDEPENDS_perl-module-math-bigint-trace += "perl-module-math-bigint" -RDEPENDS_perl-module-math-bigint-trace += "perl-module-overload" -RDEPENDS_perl-module-math-bigint-trace += "perl-module-strict" -RDEPENDS_perl-module-math-bigint-trace += "perl-module-warnings" -RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigfloat" -RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigint" -RDEPENDS_perl-module-math-bigrat += "perl-module-overload" -RDEPENDS_perl-module-math-bigrat += "perl-module-strict" -RDEPENDS_perl-module-math-bigrat += "perl-module-warnings" -RDEPENDS_perl-module-math-complex += "perl-module-config" -RDEPENDS_perl-module-math-complex += "perl-module-exporter" -RDEPENDS_perl-module-math-complex += "perl-module-overload" -RDEPENDS_perl-module-math-complex += "perl-module-strict" -RDEPENDS_perl-module-math-complex += "perl-module-warnings" -RDEPENDS_perl-module-math-trig += "perl-module-exporter" -RDEPENDS_perl-module-math-trig += "perl-module-math-complex" -RDEPENDS_perl-module-math-trig += "perl-module-strict" -RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars" -RDEPENDS_perl-module-memoize += "perl-module-config" -RDEPENDS_perl-module-memoize += "perl-module-exporter" -RDEPENDS_perl-module-memoize += "perl-module-strict" -RDEPENDS_perl-module-memoize += "perl-module-vars" -RDEPENDS_perl-module-memoize-sdbm-file += "perl-module-sdbm-file" -RDEPENDS_perl-module-memoize-storable += "perl-module-storable" -RDEPENDS_perl-module-mime-base64 += "perl-module-exporter" -RDEPENDS_perl-module-mime-base64 += "perl-module-strict" -RDEPENDS_perl-module-mime-base64 += "perl-module-vars" -RDEPENDS_perl-module-mime-base64 += "perl-module-xsloader" -RDEPENDS_perl-module-mime-quotedprint += "perl-module-exporter" -RDEPENDS_perl-module-mime-quotedprint += "perl-module-mime-base64" -RDEPENDS_perl-module-mime-quotedprint += "perl-module-strict" -RDEPENDS_perl-module-mime-quotedprint += "perl-module-vars" -RDEPENDS_perl-module-mro += "perl-module-strict" -RDEPENDS_perl-module-mro += "perl-module-warnings" -RDEPENDS_perl-module-mro += "perl-module-xsloader" -RDEPENDS_perl-module-net-cmd += "perl-module-constant" -RDEPENDS_perl-module-net-cmd += "perl-module-errno" -RDEPENDS_perl-module-net-cmd += "perl-module-exporter" -RDEPENDS_perl-module-net-cmd += "perl-module-strict" -RDEPENDS_perl-module-net-cmd += "perl-module-warnings" -RDEPENDS_perl-module-net-config += "perl-module-exporter" -RDEPENDS_perl-module-net-config += "perl-module-socket" -RDEPENDS_perl-module-net-config += "perl-module-strict" -RDEPENDS_perl-module-net-config += "perl-module-warnings" -RDEPENDS_perl-module-net-domain += "perl-module-exporter" -RDEPENDS_perl-module-net-domain += "perl-module-net-config" -RDEPENDS_perl-module-net-domain += "perl-module-posix" -RDEPENDS_perl-module-net-domain += "perl-module-socket" -RDEPENDS_perl-module-net-domain += "perl-module-strict" -RDEPENDS_perl-module-net-domain += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp-a += "perl-module-net-ftp-dataconn" -RDEPENDS_perl-module-net-ftp-a += "perl-module-strict" -RDEPENDS_perl-module-net-ftp-a += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-errno" -RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-net-cmd" -RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-strict" -RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp-e += "perl-module-net-ftp-i" -RDEPENDS_perl-module-net-ftp-e += "perl-module-strict" -RDEPENDS_perl-module-net-ftp-e += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp-i += "perl-module-net-ftp-dataconn" -RDEPENDS_perl-module-net-ftp-i += "perl-module-strict" -RDEPENDS_perl-module-net-ftp-i += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i" -RDEPENDS_perl-module-net-ftp-l += "perl-module-strict" -RDEPENDS_perl-module-net-ftp-l += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp += "perl-module-constant" -RDEPENDS_perl-module-net-ftp += "perl-module-fcntl" -RDEPENDS_perl-module-net-ftp += "perl-module-file-basename" -RDEPENDS_perl-module-net-ftp += "perl-module-io-socket" -RDEPENDS_perl-module-net-ftp += "perl-module-io-socket-ip" -RDEPENDS_perl-module-net-ftp += "perl-module-net-cmd" -RDEPENDS_perl-module-net-ftp += "perl-module-net-config" -RDEPENDS_perl-module-net-ftp += "perl-module-net-ftp-a" -RDEPENDS_perl-module-net-ftp += "perl-module-net-netrc" -RDEPENDS_perl-module-net-ftp += "perl-module-socket" -RDEPENDS_perl-module-net-ftp += "perl-module-strict" -RDEPENDS_perl-module-net-ftp += "perl-module-time-local" -RDEPENDS_perl-module-net-ftp += "perl-module-warnings" -RDEPENDS_perl-module-net-hostent += "perl-module-class-struct" -RDEPENDS_perl-module-net-hostent += "perl-module-exporter" -RDEPENDS_perl-module-net-hostent += "perl-module-socket" -RDEPENDS_perl-module-net-hostent += "perl-module-strict" -RDEPENDS_perl-module-net-netent += "perl-module-class-struct" -RDEPENDS_perl-module-net-netent += "perl-module-exporter" -RDEPENDS_perl-module-net-netent += "perl-module-socket" -RDEPENDS_perl-module-net-netent += "perl-module-strict" -RDEPENDS_perl-module-net-netrc += "perl-module-filehandle" -RDEPENDS_perl-module-net-netrc += "perl-module-strict" -RDEPENDS_perl-module-net-netrc += "perl-module-warnings" -RDEPENDS_perl-module-net-nntp += "perl-module-io-socket" -RDEPENDS_perl-module-net-nntp += "perl-module-io-socket-ip" -RDEPENDS_perl-module-net-nntp += "perl-module-net-cmd" -RDEPENDS_perl-module-net-nntp += "perl-module-net-config" -RDEPENDS_perl-module-net-nntp += "perl-module-strict" -RDEPENDS_perl-module-net-nntp += "perl-module-time-local" -RDEPENDS_perl-module-net-nntp += "perl-module-warnings" -RDEPENDS_perl-module-net-ping += "perl-module-constant" -RDEPENDS_perl-module-net-ping += "perl-module-exporter" -RDEPENDS_perl-module-net-ping += "perl-module-fcntl" -RDEPENDS_perl-module-net-ping += "perl-module-filehandle" -RDEPENDS_perl-module-net-ping += "perl-module-io-socket-inet" -RDEPENDS_perl-module-net-ping += "perl-module-posix" -RDEPENDS_perl-module-net-ping += "perl-module-socket" -RDEPENDS_perl-module-net-ping += "perl-module-strict" -RDEPENDS_perl-module-net-ping += "perl-module-time-hires" -RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket" -RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket-ip" -RDEPENDS_perl-module-net-pop3 += "perl-module-mime-base64" -RDEPENDS_perl-module-net-pop3 += "perl-module-net-cmd" -RDEPENDS_perl-module-net-pop3 += "perl-module-net-config" -RDEPENDS_perl-module-net-pop3 += "perl-module-net-netrc" -RDEPENDS_perl-module-net-pop3 += "perl-module-strict" -RDEPENDS_perl-module-net-pop3 += "perl-module-warnings" -RDEPENDS_perl-module-net-protoent += "perl-module-class-struct" -RDEPENDS_perl-module-net-protoent += "perl-module-exporter" -RDEPENDS_perl-module-net-protoent += "perl-module-strict" -RDEPENDS_perl-module-net-servent += "perl-module-class-struct" -RDEPENDS_perl-module-net-servent += "perl-module-exporter" -RDEPENDS_perl-module-net-servent += "perl-module-strict" -RDEPENDS_perl-module-net-smtp += "perl-module-io-socket" -RDEPENDS_perl-module-net-smtp += "perl-module-io-socket-ip" -RDEPENDS_perl-module-net-smtp += "perl-module-mime-base64" -RDEPENDS_perl-module-net-smtp += "perl-module-net-cmd" -RDEPENDS_perl-module-net-smtp += "perl-module-net-config" -RDEPENDS_perl-module-net-smtp += "perl-module-socket" -RDEPENDS_perl-module-net-smtp += "perl-module-strict" -RDEPENDS_perl-module-net-smtp += "perl-module-warnings" -RDEPENDS_perl-module-net-time += "perl-module-exporter" -RDEPENDS_perl-module-net-time += "perl-module-io-select" -RDEPENDS_perl-module-net-time += "perl-module-io-socket" -RDEPENDS_perl-module-net-time += "perl-module-net-config" -RDEPENDS_perl-module-net-time += "perl-module-strict" -RDEPENDS_perl-module-net-time += "perl-module-warnings" -RDEPENDS_perl-module-next += "perl-module-overload" -RDEPENDS_perl-module-next += "perl-module-strict" -RDEPENDS_perl-module-next += "perl-module-warnings" -RDEPENDS_perl-module-ok += "perl-module-strict" -RDEPENDS_perl-module-ok += "perl-module-test-more" -RDEPENDS_perl-module-opcode += "perl-module-exporter" -RDEPENDS_perl-module-opcode += "perl-module-strict" -RDEPENDS_perl-module-opcode += "perl-module-subs" -RDEPENDS_perl-module-opcode += "perl-module-xsloader" -RDEPENDS_perl-module-open += "perl-module-encode" -RDEPENDS_perl-module-open += "perl-module-encoding" -RDEPENDS_perl-module-open += "perl-module-warnings" -RDEPENDS_perl-module-o += "perl-module-b" -RDEPENDS_perl-module-ops += "perl-module-opcode" -RDEPENDS_perl-module-overloading += "perl-module-overload-numbers" -RDEPENDS_perl-module-overloading += "perl-module-warnings" -RDEPENDS_perl-module-overload += "perl-module-mro" -RDEPENDS_perl-module-overload += "perl-module-warnings-register" -RDEPENDS_perl-module-params-check += "perl-module-exporter" -RDEPENDS_perl-module-params-check += "perl-module-locale-maketext-simple" -RDEPENDS_perl-module-params-check += "perl-module-strict" -RDEPENDS_perl-module-params-check += "perl-module-vars" -RDEPENDS_perl-module-parent += "perl-module-strict" -RDEPENDS_perl-module-parent += "perl-module-vars" -RDEPENDS_perl-module-perlfaq += "perl-module-strict" -RDEPENDS_perl-module-perlfaq += "perl-module-warnings" -RDEPENDS_perl-module-perlio-encoding += "perl-module-strict" -RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader" -RDEPENDS_perl-module-perlio-mmap += "perl-module-strict" -RDEPENDS_perl-module-perlio-mmap += "perl-module-warnings" -RDEPENDS_perl-module-perlio-mmap += "perl-module-xsloader" -RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader" -RDEPENDS_perl-module-perlio-via += "perl-module-xsloader" -RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-mime-quotedprint" -RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-strict" -RDEPENDS_perl-module-pod-checker += "perl-module-base" -RDEPENDS_perl-module-pod-checker += "perl-module-exporter" -RDEPENDS_perl-module-pod-checker += "perl-module-strict" -RDEPENDS_perl-module-pod-checker += "perl-module-warnings" -RDEPENDS_perl-module-pod-escapes += "perl-module-exporter" -RDEPENDS_perl-module-pod-escapes += "perl-module-strict" -RDEPENDS_perl-module-pod-escapes += "perl-module-vars" -RDEPENDS_perl-module-pod-escapes += "perl-module-warnings" -RDEPENDS_perl-module-pod-find += "perl-module-config" -RDEPENDS_perl-module-pod-find += "perl-module-cwd" -RDEPENDS_perl-module-pod-find += "perl-module-exporter" -RDEPENDS_perl-module-pod-find += "perl-module-file-find" -RDEPENDS_perl-module-pod-find += "perl-module-strict" -RDEPENDS_perl-module-pod-find += "perl-module-vars" -RDEPENDS_perl-module-pod-functions += "perl-module-exporter" -RDEPENDS_perl-module-pod-functions += "perl-module-strict" -RDEPENDS_perl-module-pod-inputobjects += "perl-module-strict" -RDEPENDS_perl-module-pod-inputobjects += "perl-module-vars" -RDEPENDS_perl-module-pod-man += "perl-module-file-basename" -RDEPENDS_perl-module-pod-man += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-man += "perl-module-strict" -RDEPENDS_perl-module-pod-man += "perl-module-subs" -RDEPENDS_perl-module-pod-man += "perl-module-vars" -RDEPENDS_perl-module-pod-man += "perl-module-warnings" -RDEPENDS_perl-module-pod-parselink += "perl-module-exporter" -RDEPENDS_perl-module-pod-parselink += "perl-module-strict" -RDEPENDS_perl-module-pod-parselink += "perl-module-vars" -RDEPENDS_perl-module-pod-parselink += "perl-module-warnings" -RDEPENDS_perl-module-pod-parser += "perl-module-exporter" -RDEPENDS_perl-module-pod-parser += "perl-module-pod-inputobjects" -RDEPENDS_perl-module-pod-parser += "perl-module-strict" -RDEPENDS_perl-module-pod-parser += "perl-module-vars" -RDEPENDS_perl-module-pod-parseutils += "perl-module-strict" -RDEPENDS_perl-module-pod-parseutils += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-config" -RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc += "perl-module-config" -RDEPENDS_perl-module-pod-perldoc += "perl-module-encode" -RDEPENDS_perl-module-pod-perldoc += "perl-module-fcntl" -RDEPENDS_perl-module-pod-perldoc += "perl-module-file-basename" -RDEPENDS_perl-module-pod-perldoc += "perl-module-file-temp" -RDEPENDS_perl-module-pod-perldoc += "perl-module-pod-perldoc-getoptsoo" -RDEPENDS_perl-module-pod-perldoc += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc += "perl-module-text-parsewords" -RDEPENDS_perl-module-pod-perldoc += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-pod-text-color" -RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-pod-checker" -RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-encode" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-handle" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-select" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-ipc-open3" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-man" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-perldoc-topod" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-pod-man" -RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-pod-text-termcap" -RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-pod-text" -RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-warnings" -RDEPENDS_perl-module-pod-plaintext += "perl-module-pod-select" -RDEPENDS_perl-module-pod-plaintext += "perl-module-strict" -RDEPENDS_perl-module-pod-plaintext += "perl-module-vars" -RDEPENDS_perl-module-pod-select += "perl-module-pod-parser" -RDEPENDS_perl-module-pod-select += "perl-module-strict" -RDEPENDS_perl-module-pod-select += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-integer" -RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple-transcode" -RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple-methody" -RDEPENDS_perl-module-pod-simple-checker += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-checker += "perl-module-text-wrap" -RDEPENDS_perl-module-pod-simple-checker += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-debug += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-debug += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-debug += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-text-wrap" -RDEPENDS_perl-module-pod-simple-linksection += "perl-module-overload" -RDEPENDS_perl-module-pod-simple-linksection += "perl-module-pod-simple-blackbox" -RDEPENDS_perl-module-pod-simple-linksection += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-linksection += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-methody += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-methody += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-methody += "perl-module-vars" -RDEPENDS_perl-module-pod-simple += "perl-module-integer" -RDEPENDS_perl-module-pod-simple += "perl-module-pod-escapes" -RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-blackbox" -RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-linksection" -RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-tiedoutfh" -RDEPENDS_perl-module-pod-simple += "perl-module-strict" -RDEPENDS_perl-module-pod-simple += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-progress += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-pod-simple-pullparsertoken" -RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserendtoken" -RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserstarttoken" -RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparsertexttoken" -RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-pod-simple-pullparsertoken" -RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-pod-simple-pullparsertoken" -RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-pullparsertoken += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-rtf += "perl-module-integer" -RDEPENDS_perl-module-pod-simple-rtf += "perl-module-pod-simple-pullparser" -RDEPENDS_perl-module-pod-simple-rtf += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-rtf += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-search += "perl-module-config" -RDEPENDS_perl-module-pod-simple-search += "perl-module-cwd" -RDEPENDS_perl-module-pod-simple-search += "perl-module-file-basename" -RDEPENDS_perl-module-pod-simple-search += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-search += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple-methody" -RDEPENDS_perl-module-pod-simple-text += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-text += "perl-module-text-wrap" -RDEPENDS_perl-module-pod-simple-text += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-transcode += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-transcode += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode" -RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-vars" -RDEPENDS_perl-module-pod-text-color += "perl-module-pod-text" -RDEPENDS_perl-module-pod-text-color += "perl-module-strict" -RDEPENDS_perl-module-pod-text-color += "perl-module-term-ansicolor" -RDEPENDS_perl-module-pod-text-color += "perl-module-vars" -RDEPENDS_perl-module-pod-text-color += "perl-module-warnings" -RDEPENDS_perl-module-pod-text-overstrike += "perl-module-pod-text" -RDEPENDS_perl-module-pod-text-overstrike += "perl-module-strict" -RDEPENDS_perl-module-pod-text-overstrike += "perl-module-vars" -RDEPENDS_perl-module-pod-text-overstrike += "perl-module-warnings" -RDEPENDS_perl-module-pod-text += "perl-module-encode" -RDEPENDS_perl-module-pod-text += "perl-module-exporter" -RDEPENDS_perl-module-pod-text += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-text += "perl-module-strict" -RDEPENDS_perl-module-pod-text += "perl-module-vars" -RDEPENDS_perl-module-pod-text += "perl-module-warnings" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-pod-text" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-posix" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-strict" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-term-cap" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-vars" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-warnings" -RDEPENDS_perl-module-pod-usage += "perl-module-config" -RDEPENDS_perl-module-pod-usage += "perl-module-exporter" -RDEPENDS_perl-module-pod-usage += "perl-module-strict" -RDEPENDS_perl-module-pod-usage += "perl-module-vars" -RDEPENDS_perl-module-posix += "perl-module-exporter" -RDEPENDS_perl-module-posix += "perl-module-fcntl" -RDEPENDS_perl-module-posix += "perl-module-strict" -RDEPENDS_perl-module-posix += "perl-module-tie-hash" -RDEPENDS_perl-module-posix += "perl-module-warnings" -RDEPENDS_perl-module-posix += "perl-module-xsloader" -RDEPENDS_perl-module-re += "perl-module-exporter" -RDEPENDS_perl-module-re += "perl-module-strict" -RDEPENDS_perl-module-re += "perl-module-term-cap" -RDEPENDS_perl-module-re += "perl-module-warnings" -RDEPENDS_perl-module-re += "perl-module-xsloader" -RDEPENDS_perl-module-safe += "perl-module-b" -RDEPENDS_perl-module-safe += "perl-module-opcode" -RDEPENDS_perl-module-safe += "perl-module-strict" -RDEPENDS_perl-module-safe += "perl-module-utf8" -RDEPENDS_perl-module-sdbm-file += "perl-module-exporter" -RDEPENDS_perl-module-sdbm-file += "perl-module-strict" -RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash" -RDEPENDS_perl-module-sdbm-file += "perl-module-warnings" -RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader" -RDEPENDS_perl-module-search-dict += "perl-module-exporter" -RDEPENDS_perl-module-search-dict += "perl-module-feature" -RDEPENDS_perl-module-search-dict += "perl-module-strict" -RDEPENDS_perl-module-selfloader += "perl-module-exporter" -RDEPENDS_perl-module-selfloader += "perl-module-io-handle" -RDEPENDS_perl-module-selfloader += "perl-module-strict" -RDEPENDS_perl-module-socket += "perl-module-exporter" -RDEPENDS_perl-module-socket += "perl-module-strict" -RDEPENDS_perl-module-socket += "perl-module-warnings-register" -RDEPENDS_perl-module-socket += "perl-module-xsloader" -RDEPENDS_perl-module-sort += "perl-module-strict" -RDEPENDS_perl-module-storable += "perl-module-exporter" -RDEPENDS_perl-module-storable += "perl-module-io-file" -RDEPENDS_perl-module-storable += "perl-module-xsloader" -RDEPENDS_perl-module-sub-util += "perl-module-exporter" -RDEPENDS_perl-module-sub-util += "perl-module-list-util" -RDEPENDS_perl-module-sub-util += "perl-module-strict" -RDEPENDS_perl-module-sub-util += "perl-module-warnings" -RDEPENDS_perl-module-sys-hostname += "perl-module-exporter" -RDEPENDS_perl-module-sys-hostname += "perl-module-posix" -RDEPENDS_perl-module-sys-hostname += "perl-module-strict" -RDEPENDS_perl-module-sys-hostname += "perl-module-warnings" -RDEPENDS_perl-module-sys-hostname += "perl-module-xsloader" -RDEPENDS_perl-module-sys-syslog += "perl-module-config" -RDEPENDS_perl-module-sys-syslog += "perl-module-constant" -RDEPENDS_perl-module-sys-syslog += "perl-module-dynaloader" -RDEPENDS_perl-module-sys-syslog += "perl-module-exporter" -RDEPENDS_perl-module-sys-syslog += "perl-module-fcntl" -RDEPENDS_perl-module-sys-syslog += "perl-module-file-basename" -RDEPENDS_perl-module-sys-syslog += "perl-module-posix" -RDEPENDS_perl-module-sys-syslog += "perl-module-socket" -RDEPENDS_perl-module-sys-syslog += "perl-module-strict" -RDEPENDS_perl-module-sys-syslog += "perl-module-sys-hostname" -RDEPENDS_perl-module-sys-syslog += "perl-module-vars" -RDEPENDS_perl-module-sys-syslog += "perl-module-warnings" -RDEPENDS_perl-module-sys-syslog += "perl-module-warnings-register" -RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader" -RDEPENDS_perl-module-tap-base += "perl-module-base" -RDEPENDS_perl-module-tap-base += "perl-module-constant" -RDEPENDS_perl-module-tap-base += "perl-module-strict" -RDEPENDS_perl-module-tap-base += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-base += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix" -RDEPENDS_perl-module-tap-formatter-base += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-base += "perl-module-tap-formatter-color" -RDEPENDS_perl-module-tap-formatter-base += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-color += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-color += "perl-module-constant" -RDEPENDS_perl-module-tap-formatter-color += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-color += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-constant" -RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-file-path" -RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-console += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-console += "perl-module-posix" -RDEPENDS_perl-module-tap-formatter-console += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-console += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-file += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-file += "perl-module-posix" -RDEPENDS_perl-module-tap-formatter-file += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-file-session" -RDEPENDS_perl-module-tap-formatter-file += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-session += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-session += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-session += "perl-module-warnings" -RDEPENDS_perl-module-tap-harness-env += "perl-module-constant" -RDEPENDS_perl-module-tap-harness-env += "perl-module-strict" -RDEPENDS_perl-module-tap-harness-env += "perl-module-tap-object" -RDEPENDS_perl-module-tap-harness-env += "perl-module-text-parsewords" -RDEPENDS_perl-module-tap-harness-env += "perl-module-warnings" -RDEPENDS_perl-module-tap-harness += "perl-module-base" -RDEPENDS_perl-module-tap-harness += "perl-module-file-path" -RDEPENDS_perl-module-tap-harness += "perl-module-io-handle" -RDEPENDS_perl-module-tap-harness += "perl-module-strict" -RDEPENDS_perl-module-tap-harness += "perl-module-warnings" -RDEPENDS_perl-module-tap-object += "perl-module-strict" -RDEPENDS_perl-module-tap-object += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-base" -RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-benchmark" -RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-grammar += "perl-module-base" -RDEPENDS_perl-module-tap-parser-grammar += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-resultfactory" -RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-yamlish-reader" -RDEPENDS_perl-module-tap-parser-grammar += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-base" -RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-base" -RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-file-basename" -RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-iterator += "perl-module-base" -RDEPENDS_perl-module-tap-parser-iterator += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-iterator += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-base" -RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-config" -RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-io-handle" -RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-base" -RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-base" -RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-io-select" -RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser += "perl-module-base" -RDEPENDS_perl-module-tap-parser += "perl-module-strict" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-grammar" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iterator" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-result" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-resultfactory" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-source" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-executable" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-file" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-handle" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-perl" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-rawtap" -RDEPENDS_perl-module-tap-parser += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-base" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-bailout" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-comment" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-plan" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-pragma" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-test" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-unknown" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-version" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-yaml" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-test += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-test += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-test += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-version += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-version += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-version += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-job" -RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-spinner" -RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iterator-process" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iterator-stream" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iterator-stream" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-tap-parser-iterator" -RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-config" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iterator-array" -RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-source += "perl-module-base" -RDEPENDS_perl-module-tap-parser-source += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-source += "perl-module-file-basename" -RDEPENDS_perl-module-tap-parser-source += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-source += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-base" -RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-base" -RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-warnings" -RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter" -RDEPENDS_perl-module-term-ansicolor += "perl-module-strict" -RDEPENDS_perl-module-term-ansicolor += "perl-module-warnings" -RDEPENDS_perl-module-term-cap += "perl-module-strict" -RDEPENDS_perl-module-term-cap += "perl-module-vars" -RDEPENDS_perl-module-term-complete += "perl-module-exporter" -RDEPENDS_perl-module-term-complete += "perl-module-strict" -RDEPENDS_perl-module-term-readline += "perl-module-strict" -RDEPENDS_perl-module-term-readline += "perl-module-term-cap" -RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict" -RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings" -RDEPENDS_perl-module-test-builder-module += "perl-module-exporter" -RDEPENDS_perl-module-test-builder-module += "perl-module-strict" -RDEPENDS_perl-module-test-builder-module += "perl-module-test-builder" -RDEPENDS_perl-module-test-builder += "perl-module-data-dumper" -RDEPENDS_perl-module-test-builder += "perl-module-overload" -RDEPENDS_perl-module-test-builder += "perl-module-strict" -RDEPENDS_perl-module-test-builder += "perl-module-test-builder-formatter" -RDEPENDS_perl-module-test-builder += "perl-module-test-builder-tododiag" -RDEPENDS_perl-module-test-builder += "perl-module-warnings" -RDEPENDS_perl-module-test-builder-tester-color += "perl-module-strict" -RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester" -RDEPENDS_perl-module-test-builder-tester += "perl-module-exporter" -RDEPENDS_perl-module-test-builder-tester += "perl-module-strict" -RDEPENDS_perl-module-test-builder-tester += "perl-module-test-builder" -RDEPENDS_perl-module-test-builder-tododiag += "perl-module-strict" -RDEPENDS_perl-module-test-builder-tododiag += "perl-module-warnings" -RDEPENDS_perl-module-test-harness += "perl-module-base" -RDEPENDS_perl-module-test-harness += "perl-module-config" -RDEPENDS_perl-module-test-harness += "perl-module-constant" -RDEPENDS_perl-module-test-harness += "perl-module-strict" -RDEPENDS_perl-module-test-harness += "perl-module-tap-harness" -RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-aggregator" -RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-source" -RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-sourcehandler-perl" -RDEPENDS_perl-module-test-harness += "perl-module-text-parsewords" -RDEPENDS_perl-module-test-harness += "perl-module-warnings" -RDEPENDS_perl-module-test-more += "perl-module-strict" -RDEPENDS_perl-module-test-more += "perl-module-test-builder-module" -RDEPENDS_perl-module-test-more += "perl-module-warnings" -RDEPENDS_perl-module-test += "perl-module-exporter" -RDEPENDS_perl-module-test += "perl-module-file-temp" -RDEPENDS_perl-module-test += "perl-module-strict" -RDEPENDS_perl-module-test-simple += "perl-module-strict" -RDEPENDS_perl-module-test-simple += "perl-module-test-builder-module" -RDEPENDS_perl-module-test-tester-capture += "perl-module-config" -RDEPENDS_perl-module-test-tester-capture += "perl-module-strict" -RDEPENDS_perl-module-test-tester-capture += "perl-module-test-builder" -RDEPENDS_perl-module-test-tester-capture += "perl-module-threads-shared" -RDEPENDS_perl-module-test-tester-capture += "perl-module-vars" -RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-exporter" -RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-strict" -RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-test-tester-capture" -RDEPENDS_perl-module-test-tester-delegate += "perl-module-strict" -RDEPENDS_perl-module-test-tester-delegate += "perl-module-vars" -RDEPENDS_perl-module-test-tester-delegate += "perl-module-warnings" -RDEPENDS_perl-module-test-tester += "perl-module-exporter" -RDEPENDS_perl-module-test-tester += "perl-module-strict" -RDEPENDS_perl-module-test-tester += "perl-module-test-builder" -RDEPENDS_perl-module-test-tester += "perl-module-test-tester-capturerunner" -RDEPENDS_perl-module-test-tester += "perl-module-test-tester-delegate" -RDEPENDS_perl-module-test-tester += "perl-module-vars" -RDEPENDS_perl-module-text-abbrev += "perl-module-exporter" -RDEPENDS_perl-module-text-balanced += "perl-module-exporter" -RDEPENDS_perl-module-text-balanced += "perl-module-overload" -RDEPENDS_perl-module-text-balanced += "perl-module-selfloader" -RDEPENDS_perl-module-text-balanced += "perl-module-strict" -RDEPENDS_perl-module-text-balanced += "perl-module-vars" -RDEPENDS_perl-module-text-parsewords += "perl-module-exporter" -RDEPENDS_perl-module-text-parsewords += "perl-module-strict" -RDEPENDS_perl-module-text-tabs += "perl-module-exporter" -RDEPENDS_perl-module-text-tabs += "perl-module-strict" -RDEPENDS_perl-module-text-tabs += "perl-module-vars" -RDEPENDS_perl-module-text-wrap += "perl-module-exporter" -RDEPENDS_perl-module-text-wrap += "perl-module-re" -RDEPENDS_perl-module-text-wrap += "perl-module-strict" -RDEPENDS_perl-module-text-wrap += "perl-module-text-tabs" -RDEPENDS_perl-module-text-wrap += "perl-module-vars" -RDEPENDS_perl-module-text-wrap += "perl-module-warnings-register" -RDEPENDS_perl-module-thread += "perl-module-config" -RDEPENDS_perl-module-thread += "perl-module-exporter" -RDEPENDS_perl-module-thread += "perl-module-strict" -RDEPENDS_perl-module-thread += "perl-module-threads" -RDEPENDS_perl-module-thread += "perl-module-threads-shared" -RDEPENDS_perl-module-thread += "perl-module-warnings" -RDEPENDS_perl-module-thread-queue += "perl-module-strict" -RDEPENDS_perl-module-thread-queue += "perl-module-threads-shared" -RDEPENDS_perl-module-thread-queue += "perl-module-warnings" -RDEPENDS_perl-module-thread-semaphore += "perl-module-strict" -RDEPENDS_perl-module-thread-semaphore += "perl-module-threads-shared" -RDEPENDS_perl-module-thread-semaphore += "perl-module-warnings" -RDEPENDS_perl-module-threads += "perl-module-config" -RDEPENDS_perl-module-threads += "perl-module-overload" -RDEPENDS_perl-module-threads += "perl-module-strict" -RDEPENDS_perl-module-threads += "perl-module-warnings" -RDEPENDS_perl-module-threads += "perl-module-xsloader" -RDEPENDS_perl-module-threads-shared += "perl-module-strict" -RDEPENDS_perl-module-threads-shared += "perl-module-warnings" -RDEPENDS_perl-module-threads-shared += "perl-module-xsloader" -RDEPENDS_perl-module-tie-array += "perl-module-strict" -RDEPENDS_perl-module-tie-file += "perl-module-fcntl" -RDEPENDS_perl-module-tie-file += "perl-module-posix" -RDEPENDS_perl-module-tie-file += "perl-module-strict" -RDEPENDS_perl-module-tie-handle += "perl-module-tie-stdhandle" -RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register" -RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-strict" -RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-xsloader" -RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register" -RDEPENDS_perl-module-tie-memoize += "perl-module-strict" -RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash" -RDEPENDS_perl-module-tie-refhash += "perl-module-config" -RDEPENDS_perl-module-tie-refhash += "perl-module-overload" -RDEPENDS_perl-module-tie-refhash += "perl-module-strict" -RDEPENDS_perl-module-tie-refhash += "perl-module-tie-hash" -RDEPENDS_perl-module-tie-refhash += "perl-module-vars" -RDEPENDS_perl-module-tie-scalar += "perl-module-warnings-register" -RDEPENDS_perl-module-tie-stdhandle += "perl-module-strict" -RDEPENDS_perl-module-tie-stdhandle += "perl-module-tie-handle" -RDEPENDS_perl-module-tie-substrhash += "perl-module-integer" -RDEPENDS_perl-module-time-gmtime += "perl-module-exporter" -RDEPENDS_perl-module-time-gmtime += "perl-module-strict" -RDEPENDS_perl-module-time-gmtime += "perl-module-time-tm" -RDEPENDS_perl-module-time-hires += "perl-module-exporter" -RDEPENDS_perl-module-time-hires += "perl-module-strict" -RDEPENDS_perl-module-time-hires += "perl-module-xsloader" -RDEPENDS_perl-module-time-local += "perl-module-config" -RDEPENDS_perl-module-time-local += "perl-module-constant" -RDEPENDS_perl-module-time-local += "perl-module-exporter" -RDEPENDS_perl-module-time-local += "perl-module-parent" -RDEPENDS_perl-module-time-local += "perl-module-strict" -RDEPENDS_perl-module-time-localtime += "perl-module-exporter" -RDEPENDS_perl-module-time-localtime += "perl-module-strict" -RDEPENDS_perl-module-time-localtime += "perl-module-time-tm" -RDEPENDS_perl-module-time-piece += "perl-module-constant" -RDEPENDS_perl-module-time-piece += "perl-module-exporter" -RDEPENDS_perl-module-time-piece += "perl-module-integer" -RDEPENDS_perl-module-time-piece += "perl-module-overload" -RDEPENDS_perl-module-time-piece += "perl-module-strict" -RDEPENDS_perl-module-time-piece += "perl-module-time-local" -RDEPENDS_perl-module-time-piece += "perl-module-time-seconds" -RDEPENDS_perl-module-time-piece += "perl-module-xsloader" -RDEPENDS_perl-module-time-seconds += "perl-module-constant" -RDEPENDS_perl-module-time-seconds += "perl-module-exporter" -RDEPENDS_perl-module-time-seconds += "perl-module-overload" -RDEPENDS_perl-module-time-seconds += "perl-module-strict" -RDEPENDS_perl-module-time-tm += "perl-module-class-struct" -RDEPENDS_perl-module-time-tm += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-locale += "perl-module-base" -RDEPENDS_perl-module-unicode-collate-locale += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-locale += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate += "perl-module-constant" -RDEPENDS_perl-module-unicode-collate += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate += "perl-module-xsloader" -RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter" -RDEPENDS_perl-module-unicode-normalize += "perl-module-strict" -RDEPENDS_perl-module-unicode-normalize += "perl-module-warnings" -RDEPENDS_perl-module-unicode-normalize += "perl-module-xsloader" -RDEPENDS_perl-module-unicode-ucd += "perl-module-charnames" -RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter" -RDEPENDS_perl-module-unicode-ucd += "perl-module-feature" -RDEPENDS_perl-module-unicode-ucd += "perl-module-if" -RDEPENDS_perl-module-unicode-ucd += "perl-module-integer" -RDEPENDS_perl-module-unicode-ucd += "perl-module-strict" -RDEPENDS_perl-module-unicode-ucd += "perl-module-unicode-normalize" -RDEPENDS_perl-module-unicode-ucd += "perl-module-utf8-heavy" -RDEPENDS_perl-module-unicode-ucd += "perl-module-warnings" -RDEPENDS_perl-module-user-grent += "perl-module-class-struct" -RDEPENDS_perl-module-user-grent += "perl-module-exporter" -RDEPENDS_perl-module-user-grent += "perl-module-strict" -RDEPENDS_perl-module-user-pwent += "perl-module-class-struct" -RDEPENDS_perl-module-user-pwent += "perl-module-config" -RDEPENDS_perl-module-user-pwent += "perl-module-exporter" -RDEPENDS_perl-module-user-pwent += "perl-module-strict" -RDEPENDS_perl-module-user-pwent += "perl-module-warnings" -RDEPENDS_perl-module-utf8 += "perl-module-utf8-heavy" -RDEPENDS_perl-module-version += "perl-module-strict" -RDEPENDS_perl-module-version += "perl-module-version-regex" -RDEPENDS_perl-module-version += "perl-module-warnings-register" -RDEPENDS_perl-module-version-regex += "perl-module-strict" -RDEPENDS_perl-module-xsloader += "perl-module-dynaloader" -RDEPENDS_perl-module-anydbm-file += "perl-module-strict" -RDEPENDS_perl-module-anydbm-file += "perl-module-warnings" -RDEPENDS_perl-module-app-cpan += "perl-module-config" -RDEPENDS_perl-module-app-cpan += "perl-module-constant" -RDEPENDS_perl-module-app-cpan += "perl-module-cpan" -RDEPENDS_perl-module-app-cpan += "perl-module-cwd" -RDEPENDS_perl-module-app-cpan += "perl-module-data-dumper" -RDEPENDS_perl-module-app-cpan += "perl-module-file-basename" -RDEPENDS_perl-module-app-cpan += "perl-module-file-find" -RDEPENDS_perl-module-app-cpan += "perl-module-getopt-std" -RDEPENDS_perl-module-app-cpan += "perl-module-if" -RDEPENDS_perl-module-app-cpan += "perl-module-net-ping" -RDEPENDS_perl-module-app-cpan += "perl-module-strict" -RDEPENDS_perl-module-app-cpan += "perl-module-user-pwent" -RDEPENDS_perl-module-app-cpan += "perl-module-vars" -RDEPENDS_perl-module-app-cpan += "perl-module-warnings" -RDEPENDS_perl-module-app-prove += "perl-module-app-prove-state" -RDEPENDS_perl-module-app-prove += "perl-module-base" -RDEPENDS_perl-module-app-prove += "perl-module-constant" -RDEPENDS_perl-module-app-prove += "perl-module-getopt-long" -RDEPENDS_perl-module-app-prove += "perl-module-strict" -RDEPENDS_perl-module-app-prove += "perl-module-tap-harness" -RDEPENDS_perl-module-app-prove += "perl-module-tap-harness-env" -RDEPENDS_perl-module-app-prove += "perl-module-text-parsewords" -RDEPENDS_perl-module-app-prove += "perl-module-warnings" -RDEPENDS_perl-module-app-prove-state += "perl-module-app-prove-state-result" -RDEPENDS_perl-module-app-prove-state += "perl-module-base" -RDEPENDS_perl-module-app-prove-state += "perl-module-constant" -RDEPENDS_perl-module-app-prove-state += "perl-module-file-find" -RDEPENDS_perl-module-app-prove-state += "perl-module-strict" -RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-reader" -RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-writer" -RDEPENDS_perl-module-app-prove-state += "perl-module-warnings" -RDEPENDS_perl-module-app-prove-state-result += "perl-module-app-prove-state-result-test" -RDEPENDS_perl-module-app-prove-state-result += "perl-module-constant" -RDEPENDS_perl-module-app-prove-state-result += "perl-module-strict" -RDEPENDS_perl-module-app-prove-state-result += "perl-module-warnings" -RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-strict" -RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-warnings" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-constant" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-exporter" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-io-compress-bzip2" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-strict" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-time-local" -RDEPENDS_perl-module-archive-tar-constant += "perl-module-warnings" -RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar" -RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar-constant" -RDEPENDS_perl-module-archive-tar-file += "perl-module-file-basename" -RDEPENDS_perl-module-archive-tar-file += "perl-module-io-file" -RDEPENDS_perl-module-archive-tar-file += "perl-module-strict" -RDEPENDS_perl-module-archive-tar-file += "perl-module-vars" -RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-constant" -RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-file" -RDEPENDS_perl-module-archive-tar += "perl-module-config" -RDEPENDS_perl-module-archive-tar += "perl-module-cwd" -RDEPENDS_perl-module-archive-tar += "perl-module-exporter" -RDEPENDS_perl-module-archive-tar += "perl-module-file-path" -RDEPENDS_perl-module-archive-tar += "perl-module-io-file" -RDEPENDS_perl-module-archive-tar += "perl-module-io-zlib" -RDEPENDS_perl-module-archive-tar += "perl-module-strict" -RDEPENDS_perl-module-archive-tar += "perl-module-vars" -RDEPENDS_perl-module-arybase += "perl-module-xsloader" -RDEPENDS_perl-module-attribute-handlers += "perl-module-strict" -RDEPENDS_perl-module-attribute-handlers += "perl-module-warnings" -RDEPENDS_perl-module-attributes += "perl-module-exporter" -RDEPENDS_perl-module-attributes += "perl-module-strict" -RDEPENDS_perl-module-attributes += "perl-module-warnings" -RDEPENDS_perl-module-attributes += "perl-module-xsloader" -RDEPENDS_perl-module-autodie-exception += "perl-module-constant" -RDEPENDS_perl-module-autodie-exception += "perl-module-fatal" -RDEPENDS_perl-module-autodie-exception += "perl-module-fcntl" -RDEPENDS_perl-module-autodie-exception += "perl-module-overload" -RDEPENDS_perl-module-autodie-exception += "perl-module-strict" -RDEPENDS_perl-module-autodie-exception += "perl-module-warnings" -RDEPENDS_perl-module-autodie-exception-system += "perl-module-parent" -RDEPENDS_perl-module-autodie-exception-system += "perl-module-strict" -RDEPENDS_perl-module-autodie-exception-system += "perl-module-warnings" -RDEPENDS_perl-module-autodie-hints += "perl-module-b" -RDEPENDS_perl-module-autodie-hints += "perl-module-constant" -RDEPENDS_perl-module-autodie-hints += "perl-module-strict" -RDEPENDS_perl-module-autodie-hints += "perl-module-warnings" -RDEPENDS_perl-module-autodie += "perl-module-constant" -RDEPENDS_perl-module-autodie += "perl-module-lib" -RDEPENDS_perl-module-autodie += "perl-module-parent" -RDEPENDS_perl-module-autodie += "perl-module-strict" -RDEPENDS_perl-module-autodie += "perl-module-warnings" -RDEPENDS_perl-module-autodie-scope-guard += "perl-module-strict" -RDEPENDS_perl-module-autodie-scope-guard += "perl-module-warnings" -RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-autodie-scope-guard" -RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-strict" -RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-warnings" -RDEPENDS_perl-module-autodie-skip += "perl-module-strict" -RDEPENDS_perl-module-autodie-skip += "perl-module-warnings" -RDEPENDS_perl-module-autodie-util += "perl-module-autodie-scope-guardstack" -RDEPENDS_perl-module-autodie-util += "perl-module-exporter" -RDEPENDS_perl-module-autodie-util += "perl-module-strict" -RDEPENDS_perl-module-autodie-util += "perl-module-warnings" -RDEPENDS_perl-module-autoloader += "perl-module-strict" -RDEPENDS_perl-module-autosplit += "perl-module-config" -RDEPENDS_perl-module-autosplit += "perl-module-exporter" -RDEPENDS_perl-module-autosplit += "perl-module-file-basename" -RDEPENDS_perl-module-autosplit += "perl-module-file-path" -RDEPENDS_perl-module-autosplit += "perl-module-strict" -RDEPENDS_perl-module-base += "perl-module-strict" -RDEPENDS_perl-module-b-concise += "perl-module-b" -RDEPENDS_perl-module-b-concise += "perl-module-b-op-private" -RDEPENDS_perl-module-b-concise += "perl-module-config" -RDEPENDS_perl-module-b-concise += "perl-module-exporter" -RDEPENDS_perl-module-b-concise += "perl-module-feature" -RDEPENDS_perl-module-b-concise += "perl-module-strict" -RDEPENDS_perl-module-b-concise += "perl-module-warnings" -RDEPENDS_perl-module-b-debug += "perl-module-b" -RDEPENDS_perl-module-b-debug += "perl-module-config" -RDEPENDS_perl-module-b-debug += "perl-module-strict" -RDEPENDS_perl-module-benchmark += "perl-module-exporter" -RDEPENDS_perl-module-benchmark += "perl-module-strict" -RDEPENDS_perl-module-bigint += "perl-module-constant" -RDEPENDS_perl-module-bigint += "perl-module-exporter" -RDEPENDS_perl-module-bigint += "perl-module-math-bigint" -RDEPENDS_perl-module-bigint += "perl-module-math-bigint-trace" -RDEPENDS_perl-module-bigint += "perl-module-overload" -RDEPENDS_perl-module-bigint += "perl-module-strict" -RDEPENDS_perl-module-bigint += "perl-module-warnings" -RDEPENDS_perl-module-bignum += "perl-module-bigint" -RDEPENDS_perl-module-bignum += "perl-module-exporter" -RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat" -RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat-trace" -RDEPENDS_perl-module-bignum += "perl-module-math-bigint" -RDEPENDS_perl-module-bignum += "perl-module-math-bigint-trace" -RDEPENDS_perl-module-bignum += "perl-module-overload" -RDEPENDS_perl-module-bignum += "perl-module-strict" -RDEPENDS_perl-module-bignum += "perl-module-warnings" -RDEPENDS_perl-module-bigrat += "perl-module-bigint" -RDEPENDS_perl-module-bigrat += "perl-module-exporter" -RDEPENDS_perl-module-bigrat += "perl-module-math-bigfloat" -RDEPENDS_perl-module-bigrat += "perl-module-math-bigint" -RDEPENDS_perl-module-bigrat += "perl-module-math-bigint-trace" -RDEPENDS_perl-module-bigrat += "perl-module-math-bigrat" -RDEPENDS_perl-module-bigrat += "perl-module-overload" -RDEPENDS_perl-module-bigrat += "perl-module-strict" -RDEPENDS_perl-module-bigrat += "perl-module-warnings" -RDEPENDS_perl-module-blib += "perl-module-cwd" -RDEPENDS_perl-module-b += "perl-module-exporter" -RDEPENDS_perl-module-b += "perl-module-xsloader" -RDEPENDS_perl-module-b-showlex += "perl-module-b" -RDEPENDS_perl-module-b-showlex += "perl-module-b-concise" -RDEPENDS_perl-module-b-showlex += "perl-module-b-terse" -RDEPENDS_perl-module-b-showlex += "perl-module-strict" -RDEPENDS_perl-module-b-terse += "perl-module-b" -RDEPENDS_perl-module-b-terse += "perl-module-b-concise" -RDEPENDS_perl-module-b-terse += "perl-module-strict" -RDEPENDS_perl-module-b-xref += "perl-module-b" -RDEPENDS_perl-module-b-xref += "perl-module-config" -RDEPENDS_perl-module-b-xref += "perl-module-strict" -RDEPENDS_perl-module-bytes += "perl-module-bytes-heavy" -RDEPENDS_perl-module--charnames += "perl-module-bytes" -RDEPENDS_perl-module-charnames += "perl-module-bytes" -RDEPENDS_perl-module-charnames += "perl-module--charnames" -RDEPENDS_perl-module--charnames += "perl-module-re" -RDEPENDS_perl-module-charnames += "perl-module-re" -RDEPENDS_perl-module--charnames += "perl-module-strict" -RDEPENDS_perl-module-charnames += "perl-module-strict" -RDEPENDS_perl-module--charnames += "perl-module-warnings" -RDEPENDS_perl-module-charnames += "perl-module-warnings" -RDEPENDS_perl-module-class-struct += "perl-module-exporter" -RDEPENDS_perl-module-class-struct += "perl-module-strict" -RDEPENDS_perl-module-class-struct += "perl-module-warnings-register" -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-bytes " -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-constant" -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-dynaloader" -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-exporter" -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-strict " -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-warnings " -RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-xsloader" -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-bytes " -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-constant" -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-dynaloader" -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter" -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-strict " -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-warnings " -RDEPENDS_perl-module-compress-raw-zlib += "perl-module-xsloader" -RDEPENDS_perl-module-compress-zlib += "perl-module-bytes " -RDEPENDS_perl-module-compress-zlib += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-compress-zlib += "perl-module-constant" -RDEPENDS_perl-module-compress-zlib += "perl-module-exporter" -RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip" -RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip-constants" -RDEPENDS_perl-module-compress-zlib += "perl-module-io-handle " -RDEPENDS_perl-module-compress-zlib += "perl-module-io-uncompress-gunzip" -RDEPENDS_perl-module-compress-zlib += "perl-module-strict " -RDEPENDS_perl-module-compress-zlib += "perl-module-warnings " -RDEPENDS_perl-module-config-extensions += "perl-module-config" -RDEPENDS_perl-module-config-extensions += "perl-module-exporter" -RDEPENDS_perl-module-config-extensions += "perl-module-strict" -RDEPENDS_perl-module-config += "perl-module-strict" -RDEPENDS_perl-module-config += "perl-module-warnings" -RDEPENDS_perl-module-config-perl-v += "perl-module-config" -RDEPENDS_perl-module-config-perl-v += "perl-module-exporter" -RDEPENDS_perl-module-config-perl-v += "perl-module-strict" -RDEPENDS_perl-module-config-perl-v += "perl-module-vars" -RDEPENDS_perl-module-config-perl-v += "perl-module-warnings" -RDEPENDS_perl-module-constant += "perl-module-strict" -RDEPENDS_perl-module-constant += "perl-module-warnings-register" -RDEPENDS_perl-module-corelist += "perl-module-list-util" -RDEPENDS_perl-module-corelist += "perl-module-corelist" -RDEPENDS_perl-module-corelist += "perl-module-strict" -RDEPENDS_perl-module-corelist += "perl-module-version" -RDEPENDS_perl-module-corelist += "perl-module-warnings" -RDEPENDS_perl-module-cpan += "perl-module-b" -RDEPENDS_perl-module-cpan += "perl-module-config" -RDEPENDS_perl-module-cpan += "perl-module-cwd" -RDEPENDS_perl-module-cpan += "perl-module-data-dumper" -RDEPENDS_perl-module-cpan += "perl-module-dirhandle" -RDEPENDS_perl-module-cpan += "perl-module-errno" -RDEPENDS_perl-module-cpan += "perl-module-exporter" -RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-cpan += "perl-module-extutils-manifest" -RDEPENDS_perl-module-cpan += "perl-module-fcntl" -RDEPENDS_perl-module-cpan += "perl-module-file-basename" -RDEPENDS_perl-module-cpan += "perl-module-file-copy" -RDEPENDS_perl-module-cpan += "perl-module-file-find" -RDEPENDS_perl-module-cpan += "perl-module-filehandle" -RDEPENDS_perl-module-cpan += "perl-module-file-path" -RDEPENDS_perl-module-cpan += "perl-module-lib" -RDEPENDS_perl-module-cpan += "perl-module-net-ping" -RDEPENDS_perl-module-cpan += "perl-module-overload" -RDEPENDS_perl-module-cpan += "perl-module-posix" -RDEPENDS_perl-module-cpan += "perl-module-safe" -RDEPENDS_perl-module-cpan += "perl-module-strict" -RDEPENDS_perl-module-cpan += "perl-module-sys-hostname" -RDEPENDS_perl-module-cpan += "perl-module-term-readline" -RDEPENDS_perl-module-cpan += "perl-module-text-parsewords" -RDEPENDS_perl-module-cpan += "perl-module-text-wrap" -RDEPENDS_perl-module-cpan += "perl-module-time-local" -RDEPENDS_perl-module-cpan += "perl-module-vars" -RDEPENDS_perl-module-cpan += "perl-module-warnings" -RDEPENDS_perl-module-cwd += "perl-module-errno" -RDEPENDS_perl-module-cwd += "perl-module-exporter" -RDEPENDS_perl-module-cwd += "perl-module-strict" -RDEPENDS_perl-module-cwd += "perl-module-xsloader" -RDEPENDS_perl-module-data-dumper += "perl-module-config" -RDEPENDS_perl-module-data-dumper += "perl-module-constant" -RDEPENDS_perl-module-data-dumper += "perl-module-exporter" -RDEPENDS_perl-module-data-dumper += "perl-module-xsloader" -RDEPENDS_perl-module-dbm-filter-compress += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter-compress += "perl-module-warnings" -RDEPENDS_perl-module-dbm-filter-encode += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter-encode += "perl-module-warnings" -RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-warnings" -RDEPENDS_perl-module-dbm-filter-null += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter-null += "perl-module-warnings" -RDEPENDS_perl-module-dbm-filter += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter += "perl-module-warnings" -RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-strict" -RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-warnings" -RDEPENDS_perl-module-db += "perl-module-strict" -RDEPENDS_perl-module-deprecate += "perl-module-strict" -RDEPENDS_perl-module-deprecate += "perl-module-warnings" -RDEPENDS_perl-module-devel-peek += "perl-module-exporter" -RDEPENDS_perl-module-devel-peek += "perl-module-xsloader" -RDEPENDS_perl-module-devel-ppport += "perl-module-file-find" -RDEPENDS_perl-module-devel-ppport += "perl-module-getopt-long" -RDEPENDS_perl-module-devel-ppport += "perl-module-strict" -RDEPENDS_perl-module-devel-ppport += "perl-module-vars" -RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader" -RDEPENDS_perl-module-diagnostics += "perl-module-config" -RDEPENDS_perl-module-diagnostics += "perl-module-getopt-std" -RDEPENDS_perl-module-diagnostics += "perl-module-strict" -RDEPENDS_perl-module-diagnostics += "perl-module-text-tabs" -RDEPENDS_perl-module-digest-base += "perl-module-mime-base64" -RDEPENDS_perl-module-digest-base += "perl-module-strict" -RDEPENDS_perl-module-digest-base += "perl-module-vars" -RDEPENDS_perl-module-digest-file += "perl-module-digest" -RDEPENDS_perl-module-digest-file += "perl-module-exporter" -RDEPENDS_perl-module-digest-file += "perl-module-strict" -RDEPENDS_perl-module-digest-file += "perl-module-vars" -RDEPENDS_perl-module-digest-md5 += "perl-module-digest-base" -RDEPENDS_perl-module-digest-md5 += "perl-module-exporter" -RDEPENDS_perl-module-digest-md5 += "perl-module-strict" -RDEPENDS_perl-module-digest-md5 += "perl-module-vars" -RDEPENDS_perl-module-digest-md5 += "perl-module-xsloader" -RDEPENDS_perl-module-digest += "perl-module-strict" -RDEPENDS_perl-module-digest += "perl-module-vars" -RDEPENDS_perl-module-digest-sha += "perl-module-digest-base" -RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader" -RDEPENDS_perl-module-digest-sha += "perl-module-exporter" -RDEPENDS_perl-module-digest-sha += "perl-module-fcntl" -RDEPENDS_perl-module-digest-sha += "perl-module-integer" -RDEPENDS_perl-module-digest-sha += "perl-module-strict" -RDEPENDS_perl-module-digest-sha += "perl-module-vars" -RDEPENDS_perl-module-digest-sha += "perl-module-warnings" -RDEPENDS_perl-module-digest-sha += "perl-module-xsloader" -RDEPENDS_perl-module-dynaloader += "perl-module-config" -RDEPENDS_perl-module-encode-alias += "perl-module-constant" -RDEPENDS_perl-module-encode-alias += "perl-module-encode" -RDEPENDS_perl-module-encode-alias += "perl-module-exporter" -RDEPENDS_perl-module-encode-alias += "perl-module-strict" -RDEPENDS_perl-module-encode-alias += "perl-module-warnings" -RDEPENDS_perl-module-encode-byte += "perl-module-encode" -RDEPENDS_perl-module-encode-byte += "perl-module-strict" -RDEPENDS_perl-module-encode-byte += "perl-module-warnings" -RDEPENDS_perl-module-encode-byte += "perl-module-xsloader" -RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter" -RDEPENDS_perl-module-encode-cjkconstants += "perl-module-strict" -RDEPENDS_perl-module-encode-cjkconstants += "perl-module-warnings" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-encode" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-parent" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-strict" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-utf8" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-vars" -RDEPENDS_perl-module-encode-cn-hz += "perl-module-warnings" -RDEPENDS_perl-module-encode-cn += "perl-module-encode" -RDEPENDS_perl-module-encode-cn += "perl-module-encode-cn-hz" -RDEPENDS_perl-module-encode-cn += "perl-module-strict" -RDEPENDS_perl-module-encode-cn += "perl-module-warnings" -RDEPENDS_perl-module-encode-cn += "perl-module-xsloader" -RDEPENDS_perl-module-encode-config += "perl-module-strict" -RDEPENDS_perl-module-encode-config += "perl-module-warnings" -RDEPENDS_perl-module-encode-ebcdic += "perl-module-encode" -RDEPENDS_perl-module-encode-ebcdic += "perl-module-strict" -RDEPENDS_perl-module-encode-ebcdic += "perl-module-warnings" -RDEPENDS_perl-module-encode-ebcdic += "perl-module-xsloader" -RDEPENDS_perl-module-encode-encoder += "perl-module-constant" -RDEPENDS_perl-module-encode-encoder += "perl-module-encode" -RDEPENDS_perl-module-encode-encoder += "perl-module-exporter" -RDEPENDS_perl-module-encode-encoder += "perl-module-overload" -RDEPENDS_perl-module-encode-encoder += "perl-module-strict" -RDEPENDS_perl-module-encode-encoder += "perl-module-warnings" -RDEPENDS_perl-module-encode-encoding += "perl-module-constant" -RDEPENDS_perl-module-encode-encoding += "perl-module-encode" -RDEPENDS_perl-module-encode-encoding += "perl-module-encode-mime-name" -RDEPENDS_perl-module-encode-encoding += "perl-module-strict" -RDEPENDS_perl-module-encode-encoding += "perl-module-warnings" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-encode" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-parent" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-strict" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-utf8" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-vars" -RDEPENDS_perl-module-encode-gsm0338 += "perl-module-warnings" -RDEPENDS_perl-module-encode-guess += "perl-module-bytes" -RDEPENDS_perl-module-encode-guess += "perl-module-constant" -RDEPENDS_perl-module-encode-guess += "perl-module-encode" -RDEPENDS_perl-module-encode-guess += "perl-module-encode-unicode" -RDEPENDS_perl-module-encode-guess += "perl-module-parent" -RDEPENDS_perl-module-encode-guess += "perl-module-strict" -RDEPENDS_perl-module-encode-guess += "perl-module-warnings" -RDEPENDS_perl-module-encode-jp-h2z += "perl-module-encode-cjkconstants" -RDEPENDS_perl-module-encode-jp-h2z += "perl-module-strict" -RDEPENDS_perl-module-encode-jp-h2z += "perl-module-vars" -RDEPENDS_perl-module-encode-jp-h2z += "perl-module-warnings" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-bytes" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-cjkconstants" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-jp-h2z" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-parent" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-strict" -RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-warnings" -RDEPENDS_perl-module-encode-jp += "perl-module-encode" -RDEPENDS_perl-module-encode-jp += "perl-module-encode-jp-jis7" -RDEPENDS_perl-module-encode-jp += "perl-module-strict" -RDEPENDS_perl-module-encode-jp += "perl-module-warnings" -RDEPENDS_perl-module-encode-jp += "perl-module-xsloader" -RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode" -RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode-cjkconstants" -RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-parent" -RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-strict" -RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-warnings" -RDEPENDS_perl-module-encode-kr += "perl-module-encode" -RDEPENDS_perl-module-encode-kr += "perl-module-encode-kr-2022-kr" -RDEPENDS_perl-module-encode-kr += "perl-module-strict" -RDEPENDS_perl-module-encode-kr += "perl-module-warnings" -RDEPENDS_perl-module-encode-kr += "perl-module-xsloader" -RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-constant" -RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-encode-cjkconstants" -RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-parent" -RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-strict" -RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-warnings" -RDEPENDS_perl-module-encode-mime-header += "perl-module-encode" -RDEPENDS_perl-module-encode-mime-header += "perl-module-mime-base64" -RDEPENDS_perl-module-encode-mime-header += "perl-module-parent" -RDEPENDS_perl-module-encode-mime-header += "perl-module-strict" -RDEPENDS_perl-module-encode-mime-header += "perl-module-warnings" -RDEPENDS_perl-module-encode-mime-name += "perl-module-strict" -RDEPENDS_perl-module-encode-mime-name += "perl-module-warnings" -RDEPENDS_perl-module-encode += "perl-module-bytes" -RDEPENDS_perl-module-encode += "perl-module-constant" -RDEPENDS_perl-module-encode += "perl-module-encode-alias" -RDEPENDS_perl-module-encode += "perl-module-encode-config" -RDEPENDS_perl-module-encode += "perl-module-encode-configlocal-pm" -RDEPENDS_perl-module-encode += "perl-module-encode-mime-name" -RDEPENDS_perl-module-encode += "perl-module-exporter" -RDEPENDS_perl-module-encode += "perl-module-parent" -RDEPENDS_perl-module-encode += "perl-module-storable" -RDEPENDS_perl-module-encode += "perl-module-strict" -RDEPENDS_perl-module-encode += "perl-module-warnings" -RDEPENDS_perl-module-encode += "perl-module-xsloader" -RDEPENDS_perl-module-encode-symbol += "perl-module-encode" -RDEPENDS_perl-module-encode-symbol += "perl-module-strict" -RDEPENDS_perl-module-encode-symbol += "perl-module-warnings" -RDEPENDS_perl-module-encode-symbol += "perl-module-xsloader" -RDEPENDS_perl-module-encode-tw += "perl-module-encode" -RDEPENDS_perl-module-encode-tw += "perl-module-strict" -RDEPENDS_perl-module-encode-tw += "perl-module-warnings" -RDEPENDS_perl-module-encode-tw += "perl-module-xsloader" -RDEPENDS_perl-module-encode-unicode += "perl-module-encode" -RDEPENDS_perl-module-encode-unicode += "perl-module-parent" -RDEPENDS_perl-module-encode-unicode += "perl-module-strict" -RDEPENDS_perl-module-encode-unicode += "perl-module-warnings" -RDEPENDS_perl-module-encode-unicode += "perl-module-xsloader" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-encode" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-mime-base64" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-parent" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-re" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-strict" -RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-warnings" -RDEPENDS_perl-module-encoding += "perl-module-config" -RDEPENDS_perl-module-encoding += "perl-module-constant" -RDEPENDS_perl-module-encoding += "perl-module-encode" -RDEPENDS_perl-module-encoding += "perl-module-filter-util-call" -RDEPENDS_perl-module-encoding += "perl-module-i18n-langinfo" -RDEPENDS_perl-module-encoding += "perl-module-posix" -RDEPENDS_perl-module-encoding += "perl-module-strict" -RDEPENDS_perl-module-encoding += "perl-module-utf8" -RDEPENDS_perl-module-encoding += "perl-module-warnings" -RDEPENDS_perl-module-encoding-warnings += "perl-module-strict" -RDEPENDS_perl-module-encoding-warnings += "perl-module-warnings" -RDEPENDS_perl-module-english += "perl-module-exporter" -RDEPENDS_perl-module-env += "perl-module-config" -RDEPENDS_perl-module-env += "perl-module-tie-array" -RDEPENDS_perl-module-errno += "perl-module-exporter" -RDEPENDS_perl-module-errno += "perl-module-strict" -RDEPENDS_perl-module-experimental += "perl-module-strict" -RDEPENDS_perl-module-experimental += "perl-module-version" -RDEPENDS_perl-module-experimental += "perl-module-warnings" -RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter" -RDEPENDS_perl-module-exporter-heavy += "perl-module-strict" -RDEPENDS_perl-module-exporter += "perl-module-exporter-heavy" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-config" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-cwd" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-dynaloader" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-extutils-mksymlists" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-temp" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-ipc-cmd" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-text-parsewords" -RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-path" -RDEPENDS_perl-module-extutils-cbuilder += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-config" -RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-extutils-cbuilder-platform-unix" -RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-extutils-cbuilder-base" -RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-config" -RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-extutils-cbuilder-base" -RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-warnings" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-extutils-cbuilder-base" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-io-file" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-strict" -RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-warnings" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-command" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-install" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-getopt-long" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-strict" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-test-harness" -RDEPENDS_perl-module-extutils-command-mm += "perl-module-warnings" -RDEPENDS_perl-module-extutils-command += "perl-module-exporter" -RDEPENDS_perl-module-extutils-command += "perl-module-file-copy" -RDEPENDS_perl-module-extutils-command += "perl-module-file-find" -RDEPENDS_perl-module-extutils-command += "perl-module-file-path" -RDEPENDS_perl-module-extutils-command += "perl-module-strict" -RDEPENDS_perl-module-extutils-command += "perl-module-vars" -RDEPENDS_perl-module-extutils-constant-base += "perl-module-constant" -RDEPENDS_perl-module-extutils-constant-base += "perl-module-extutils-constant-utils" -RDEPENDS_perl-module-extutils-constant-base += "perl-module-strict" -RDEPENDS_perl-module-extutils-constant-base += "perl-module-text-wrap" -RDEPENDS_perl-module-extutils-constant-base += "perl-module-vars" -RDEPENDS_perl-module-extutils-constant += "perl-module-exporter" -RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-proxysubs" -RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-utils" -RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-xs" -RDEPENDS_perl-module-extutils-constant += "perl-module-filehandle" -RDEPENDS_perl-module-extutils-constant += "perl-module-strict" -RDEPENDS_perl-module-extutils-constant += "perl-module-vars" -RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-utils" -RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs" -RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-strict" -RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-vars" -RDEPENDS_perl-module-extutils-constant-utils += "perl-module-constant" -RDEPENDS_perl-module-extutils-constant-utils += "perl-module-posix" -RDEPENDS_perl-module-extutils-constant-utils += "perl-module-strict" -RDEPENDS_perl-module-extutils-constant-utils += "perl-module-vars" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-data-dumper" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-utils" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-strict" -RDEPENDS_perl-module-extutils-constant-xs += "perl-module-vars" -RDEPENDS_perl-module-extutils-embed += "perl-module-config" -RDEPENDS_perl-module-extutils-embed += "perl-module-exporter" -RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-liblist" -RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-embed += "perl-module-getopt-std" -RDEPENDS_perl-module-extutils-embed += "perl-module-strict" -RDEPENDS_perl-module-extutils-installed += "perl-module-config" -RDEPENDS_perl-module-extutils-installed += "perl-module-data-dumper" -RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-packlist" -RDEPENDS_perl-module-extutils-installed += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-installed += "perl-module-file-find" -RDEPENDS_perl-module-extutils-installed += "perl-module-strict" -RDEPENDS_perl-module-extutils-installed += "perl-module-vars" -RDEPENDS_perl-module-extutils-install += "perl-module-autosplit" -RDEPENDS_perl-module-extutils-install += "perl-module-config" -RDEPENDS_perl-module-extutils-install += "perl-module-cwd" -RDEPENDS_perl-module-extutils-install += "perl-module-exporter" -RDEPENDS_perl-module-extutils-install += "perl-module-extutils-packlist" -RDEPENDS_perl-module-extutils-install += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-install += "perl-module-file-compare" -RDEPENDS_perl-module-extutils-install += "perl-module-file-copy" -RDEPENDS_perl-module-extutils-install += "perl-module-file-find" -RDEPENDS_perl-module-extutils-install += "perl-module-file-path" -RDEPENDS_perl-module-extutils-install += "perl-module-strict" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-cwd" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-strict" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-text-parsewords" -RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-warnings" -RDEPENDS_perl-module-extutils-liblist += "perl-module-extutils-liblist-kid" -RDEPENDS_perl-module-extutils-liblist += "perl-module-strict" -RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-config" -RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-strict" -RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-base" -RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode" -RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode-alias" -RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-i18n-langinfo" -RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-strict" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-b" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-cpan" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-cwd" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-exporter" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-version" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-manifest" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict" -RDEPENDS_perl-module-extutils-makemaker += "perl-module-version" -RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-strict" -RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-vars" -RDEPENDS_perl-module-extutils-manifest += "perl-module-config" -RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter" -RDEPENDS_perl-module-extutils-manifest += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-manifest += "perl-module-file-copy" -RDEPENDS_perl-module-extutils-manifest += "perl-module-file-find" -RDEPENDS_perl-module-extutils-manifest += "perl-module-file-path" -RDEPENDS_perl-module-extutils-manifest += "perl-module-strict" -RDEPENDS_perl-module-extutils-manifest += "perl-module-warnings" -RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter" -RDEPENDS_perl-module-extutils-miniperl += "perl-module-extutils-embed" -RDEPENDS_perl-module-extutils-miniperl += "perl-module-strict" -RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-config" -RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-dynaloader" -RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter" -RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-strict" -RDEPENDS_perl-module-extutils-mksymlists += "perl-module-config" -RDEPENDS_perl-module-extutils-mksymlists += "perl-module-exporter" -RDEPENDS_perl-module-extutils-mksymlists += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-aix += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-autosplit" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-cpan" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-data-dumper" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-find" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-any += "perl-module-version" -RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-beos += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-win32" -RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-dos += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-macos += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32" -RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist" -RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-cwd" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-encode" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-liblist" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-find" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-vars" -RDEPENDS_perl-module-extutils-mm-unix += "perl-module-version" -RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-exporter" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-liblist-kid" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-find" -RDEPENDS_perl-module-extutils-mm-vms += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-vos += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-vos += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-any" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-unix" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-strict" -RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-makemaker-config" -RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32" -RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-strict" -RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm" -RDEPENDS_perl-module-extutils-my += "perl-module-strict" -RDEPENDS_perl-module-extutils-packlist += "perl-module-config" -RDEPENDS_perl-module-extutils-packlist += "perl-module-cwd" -RDEPENDS_perl-module-extutils-packlist += "perl-module-strict" -RDEPENDS_perl-module-extutils-packlist += "perl-module-vars" -RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-strict" -RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-warnings" -RDEPENDS_perl-module-extutils-parsexs-countlines += "perl-module-strict" -RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-strict" -RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-warnings" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-config" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-cwd" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-constants" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-countlines" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-eval" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-utilities" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-file-basename" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-re" -RDEPENDS_perl-module-extutils-parsexs += "perl-module-strict" -RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-exporter" -RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-parsexs-constants" -RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-typemaps" -RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-strict" -RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-warnings" -RDEPENDS_perl-module-extutils-testlib += "perl-module-cwd" -RDEPENDS_perl-module-extutils-testlib += "perl-module-lib" -RDEPENDS_perl-module-extutils-testlib += "perl-module-strict" -RDEPENDS_perl-module-extutils-testlib += "perl-module-warnings" -RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-exporter" -RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-extutils-typemaps" -RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-strict" -RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-warnings" -RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-strict" -RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-warnings" -RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-re" -RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-strict" -RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-warnings" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs-constants" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-inputmap" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-outputmap" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-type" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-strict" -RDEPENDS_perl-module-extutils-typemaps += "perl-module-warnings" -RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-extutils-typemaps" -RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-strict" -RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-warnings" -RDEPENDS_perl-module-fatal += "perl-module-autodie" -RDEPENDS_perl-module-fatal += "perl-module-autodie-exception-system" -RDEPENDS_perl-module-fatal += "perl-module-autodie-hints" -RDEPENDS_perl-module-fatal += "perl-module-autodie-util" -RDEPENDS_perl-module-fatal += "perl-module-config" -RDEPENDS_perl-module-fatal += "perl-module-constant" -RDEPENDS_perl-module-fatal += "perl-module-fcntl" -RDEPENDS_perl-module-fatal += "perl-module-posix" -RDEPENDS_perl-module-fatal += "perl-module-strict" -RDEPENDS_perl-module-fatal += "perl-module-tie-refhash" -RDEPENDS_perl-module-fatal += "perl-module-warnings" -RDEPENDS_perl-module-fcntl += "perl-module-exporter" -RDEPENDS_perl-module-fcntl += "perl-module-strict" -RDEPENDS_perl-module-fcntl += "perl-module-xsloader" -RDEPENDS_perl-module-fields += "perl-module-base" -RDEPENDS_perl-module-fields += "perl-module-hash-util" -RDEPENDS_perl-module-fields += "perl-module-strict" -RDEPENDS_perl-module-file-basename += "perl-module-exporter" -RDEPENDS_perl-module-file-basename += "perl-module-re" -RDEPENDS_perl-module-file-basename += "perl-module-strict" -RDEPENDS_perl-module-file-basename += "perl-module-warnings" -RDEPENDS_perl-module-filecache += "perl-module-parent" -RDEPENDS_perl-module-filecache += "perl-module-strict" -RDEPENDS_perl-module-file-compare += "perl-module-exporter" -RDEPENDS_perl-module-file-compare += "perl-module-strict" -RDEPENDS_perl-module-file-compare += "perl-module-warnings" -RDEPENDS_perl-module-file-copy += "perl-module-config" -RDEPENDS_perl-module-file-copy += "perl-module-exporter" -RDEPENDS_perl-module-file-copy += "perl-module-file-basename" -RDEPENDS_perl-module-file-copy += "perl-module-strict" -RDEPENDS_perl-module-file-copy += "perl-module-warnings" -RDEPENDS_perl-module-file-dosglob += "perl-module-strict" -RDEPENDS_perl-module-file-dosglob += "perl-module-text-parsewords" -RDEPENDS_perl-module-file-dosglob += "perl-module-warnings" -RDEPENDS_perl-module-file-dosglob += "perl-module-xsloader" -RDEPENDS_perl-module-file-fetch += "perl-module-constant" -RDEPENDS_perl-module-file-fetch += "perl-module-cwd" -RDEPENDS_perl-module-file-fetch += "perl-module-file-basename" -RDEPENDS_perl-module-file-fetch += "perl-module-file-copy" -RDEPENDS_perl-module-file-fetch += "perl-module-filehandle" -RDEPENDS_perl-module-file-fetch += "perl-module-file-path" -RDEPENDS_perl-module-file-fetch += "perl-module-file-temp" -RDEPENDS_perl-module-file-fetch += "perl-module-ipc-cmd" -RDEPENDS_perl-module-file-fetch += "perl-module-locale-maketext-simple" -RDEPENDS_perl-module-file-fetch += "perl-module-load" -RDEPENDS_perl-module-file-fetch += "perl-module-params-check" -RDEPENDS_perl-module-file-fetch += "perl-module-strict" -RDEPENDS_perl-module-file-fetch += "perl-module-vars" -RDEPENDS_perl-module-file-find += "perl-module-config" -RDEPENDS_perl-module-file-find += "perl-module-cwd" -RDEPENDS_perl-module-file-find += "perl-module-exporter" -RDEPENDS_perl-module-file-find += "perl-module-file-basename" -RDEPENDS_perl-module-file-find += "perl-module-strict" -RDEPENDS_perl-module-file-find += "perl-module-warnings" -RDEPENDS_perl-module-file-find += "perl-module-warnings-register" -RDEPENDS_perl-module-file-globmapper += "perl-module-file-glob" -RDEPENDS_perl-module-file-globmapper += "perl-module-strict" -RDEPENDS_perl-module-file-globmapper += "perl-module-warnings" -RDEPENDS_perl-module-file-glob += "perl-module-exporter" -RDEPENDS_perl-module-file-glob += "perl-module-strict" -RDEPENDS_perl-module-file-glob += "perl-module-warnings" -RDEPENDS_perl-module-file-glob += "perl-module-xsloader" -RDEPENDS_perl-module-filehandle += "perl-module-exporter" -RDEPENDS_perl-module-filehandle += "perl-module-fcntl" -RDEPENDS_perl-module-filehandle += "perl-module-io-file" -RDEPENDS_perl-module-filehandle += "perl-module-strict" -RDEPENDS_perl-module-file-path += "perl-module-cwd" -RDEPENDS_perl-module-file-path += "perl-module-exporter" -RDEPENDS_perl-module-file-path += "perl-module-file-basename" -RDEPENDS_perl-module-file-path += "perl-module-strict" -RDEPENDS_perl-module-file-path += "perl-module-vars" -RDEPENDS_perl-module-file-stat += "perl-module-class-struct" -RDEPENDS_perl-module-file-stat += "perl-module-constant" -RDEPENDS_perl-module-file-stat += "perl-module-exporter" -RDEPENDS_perl-module-file-stat += "perl-module-fcntl" -RDEPENDS_perl-module-file-stat += "perl-module-overload " -RDEPENDS_perl-module-file-stat += "perl-module-strict" -RDEPENDS_perl-module-file-stat += "perl-module-warnings" -RDEPENDS_perl-module-file-stat += "perl-module-warnings-register" -RDEPENDS_perl-module-file-temp += "perl-module-constant" -RDEPENDS_perl-module-file-temp += "perl-module-cwd" -RDEPENDS_perl-module-file-temp += "perl-module-errno" -RDEPENDS_perl-module-file-temp += "perl-module-exporter" -RDEPENDS_perl-module-file-temp += "perl-module-fcntl" -RDEPENDS_perl-module-file-temp += "perl-module-file-path" -RDEPENDS_perl-module-file-temp += "perl-module-io-seekable" -RDEPENDS_perl-module-file-temp += "perl-module-overload" -RDEPENDS_perl-module-file-temp += "perl-module-parent" -RDEPENDS_perl-module-file-temp += "perl-module-posix" -RDEPENDS_perl-module-file-temp += "perl-module-strict" -RDEPENDS_perl-module-file-temp += "perl-module-vars" -RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call" -RDEPENDS_perl-module-filter-simple += "perl-module-text-balanced" -RDEPENDS_perl-module-filter-util-call += "perl-module-exporter" -RDEPENDS_perl-module-filter-util-call += "perl-module-strict" -RDEPENDS_perl-module-filter-util-call += "perl-module-warnings" -RDEPENDS_perl-module-filter-util-call += "perl-module-xsloader" -RDEPENDS_perl-module-findbin += "perl-module-cwd" -RDEPENDS_perl-module-findbin += "perl-module-exporter" -RDEPENDS_perl-module-findbin += "perl-module-file-basename" -RDEPENDS_perl-module-getopt-long += "perl-module-constant" -RDEPENDS_perl-module-getopt-long += "perl-module-exporter" -RDEPENDS_perl-module-getopt-long += "perl-module-overload" -RDEPENDS_perl-module-getopt-long += "perl-module-pod-usage" -RDEPENDS_perl-module-getopt-long += "perl-module-strict" -RDEPENDS_perl-module-getopt-long += "perl-module-text-parsewords" -RDEPENDS_perl-module-getopt-long += "perl-module-vars" -RDEPENDS_perl-module-getopt-long += "perl-module-warnings" -RDEPENDS_perl-module-getopt-std += "perl-module-exporter" -RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter" -RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-strict" -RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-warnings" -RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-xsloader" -RDEPENDS_perl-module-hash-util += "perl-module-exporter" -RDEPENDS_perl-module-hash-util += "perl-module-hash-util-fieldhash" -RDEPENDS_perl-module-hash-util += "perl-module-strict" -RDEPENDS_perl-module-hash-util += "perl-module-warnings" -RDEPENDS_perl-module-hash-util += "perl-module-warnings-register" -RDEPENDS_perl-module-hash-util += "perl-module-xsloader" -RDEPENDS_perl-module-i18n-collate += "perl-module-exporter" -RDEPENDS_perl-module-i18n-collate += "perl-module-overload" -RDEPENDS_perl-module-i18n-collate += "perl-module-posix" -RDEPENDS_perl-module-i18n-collate += "perl-module-strict" -RDEPENDS_perl-module-i18n-collate += "perl-module-warnings-register" -RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter" -RDEPENDS_perl-module-i18n-langinfo += "perl-module-strict" -RDEPENDS_perl-module-i18n-langinfo += "perl-module-warnings" -RDEPENDS_perl-module-i18n-langinfo += "perl-module-xsloader" -RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-i18n-langtags" -RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-strict" -RDEPENDS_perl-module-i18n-langtags-list += "perl-module-strict" -RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter" -RDEPENDS_perl-module-i18n-langtags += "perl-module-strict" -RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-compress-raw-bzip2" -RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-strict" -RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-exporter" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-strict" -RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-strict" -RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-constant" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-encode" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-file-globmapper" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict " -RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-utf8" -RDEPENDS_perl-module-io-compress-base-common += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-base += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-base += "perl-module-io-file" -RDEPENDS_perl-module-io-compress-base += "perl-module-io-handle " -RDEPENDS_perl-module-io-compress-base += "perl-module-strict " -RDEPENDS_perl-module-io-compress-base += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter " -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-adapter-bzip2" -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base" -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-strict " -RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter " -RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-adapter-deflate" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-rawdeflate" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-zlib-constants" -RDEPENDS_perl-module-io-compress-deflate += "perl-module-strict " -RDEPENDS_perl-module-io-compress-deflate += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-constant" -RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter" -RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-strict " -RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter " -RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-adapter-deflate" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-gzip-constants" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-rawdeflate" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-zlib-extra" -RDEPENDS_perl-module-io-compress-gzip += "perl-module-strict " -RDEPENDS_perl-module-io-compress-gzip += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter " -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-fcntl" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-adapter-deflate" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-strict " -RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-constant" -RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter" -RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-strict " -RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-zip += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-zip += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-compress-zip += "perl-module-config" -RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter " -RDEPENDS_perl-module-io-compress-zip += "perl-module-fcntl" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-deflate" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-identity" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-bzip2 " -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-rawdeflate" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zip-constants" -RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zlib-extra" -RDEPENDS_perl-module-io-compress-zip += "perl-module-strict " -RDEPENDS_perl-module-io-compress-zip += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-constant" -RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter" -RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-strict " -RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-warnings" -RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-bytes" -RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-io-compress-gzip-constants" -RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-strict " -RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-warnings" -RDEPENDS_perl-module-io-dir += "perl-module-exporter" -RDEPENDS_perl-module-io-dir += "perl-module-file-stat" -RDEPENDS_perl-module-io-dir += "perl-module-io-file" -RDEPENDS_perl-module-io-dir += "perl-module-strict" -RDEPENDS_perl-module-io-dir += "perl-module-tie-hash" -RDEPENDS_perl-module-io-file += "perl-module-exporter" -RDEPENDS_perl-module-io-file += "perl-module-fcntl" -RDEPENDS_perl-module-io-file += "perl-module-io-seekable" -RDEPENDS_perl-module-io-file += "perl-module-selectsaver" -RDEPENDS_perl-module-io-file += "perl-module-strict" -RDEPENDS_perl-module-io-handle += "perl-module-exporter" -RDEPENDS_perl-module-io-handle += "perl-module-io" -RDEPENDS_perl-module-io-handle += "perl-module-io-file" -RDEPENDS_perl-module-io-handle += "perl-module-selectsaver" -RDEPENDS_perl-module-io-handle += "perl-module-strict" -RDEPENDS_perl-module-io += "perl-module-strict" -RDEPENDS_perl-module-io += "perl-module-warnings" -RDEPENDS_perl-module-io += "perl-module-xsloader" -RDEPENDS_perl-module-io-pipe += "perl-module-fcntl" -RDEPENDS_perl-module-io-pipe += "perl-module-io-handle" -RDEPENDS_perl-module-io-pipe += "perl-module-strict" -RDEPENDS_perl-module-io-poll += "perl-module-exporter" -RDEPENDS_perl-module-io-poll += "perl-module-io-handle" -RDEPENDS_perl-module-io-poll += "perl-module-strict" -RDEPENDS_perl-module-io-seekable += "perl-module-exporter" -RDEPENDS_perl-module-io-seekable += "perl-module-fcntl" -RDEPENDS_perl-module-io-seekable += "perl-module-io-handle" -RDEPENDS_perl-module-io-seekable += "perl-module-strict" -RDEPENDS_perl-module-io-select += "perl-module-exporter" -RDEPENDS_perl-module-io-select += "perl-module-strict" -RDEPENDS_perl-module-io-select += "perl-module-warnings-register" -RDEPENDS_perl-module-io-socket-inet += "perl-module-errno" -RDEPENDS_perl-module-io-socket-inet += "perl-module-exporter" -RDEPENDS_perl-module-io-socket-inet += "perl-module-io-socket" -RDEPENDS_perl-module-io-socket-inet += "perl-module-socket" -RDEPENDS_perl-module-io-socket-inet += "perl-module-strict" -RDEPENDS_perl-module-io-socket-ip += "perl-module-base" -RDEPENDS_perl-module-io-socket-ip += "perl-module-constant" -RDEPENDS_perl-module-io-socket-ip += "perl-module-errno" -RDEPENDS_perl-module-io-socket-ip += "perl-module-posix" -RDEPENDS_perl-module-io-socket-ip += "perl-module-socket" -RDEPENDS_perl-module-io-socket-ip += "perl-module-strict" -RDEPENDS_perl-module-io-socket-ip += "perl-module-warnings" -RDEPENDS_perl-module-io-socket += "perl-module-errno" -RDEPENDS_perl-module-io-socket += "perl-module-exporter" -RDEPENDS_perl-module-io-socket += "perl-module-io-handle" -RDEPENDS_perl-module-io-socket += "perl-module-io-select" -RDEPENDS_perl-module-io-socket += "perl-module-io-socket-inet" -RDEPENDS_perl-module-io-socket += "perl-module-io-socket-unix" -RDEPENDS_perl-module-io-socket += "perl-module-socket" -RDEPENDS_perl-module-io-socket += "perl-module-strict" -RDEPENDS_perl-module-io-socket-unix += "perl-module-io-socket" -RDEPENDS_perl-module-io-socket-unix += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-compress-raw-bzip2" -RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-zip-constants " -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-adapter-inflate" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-base" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-gunzip" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-inflate" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-rawinflate" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-unzip" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-uncompress-base" -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-strict" -RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-base += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-base += "perl-module-constant" -RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-file " -RDEPENDS_perl-module-io-uncompress-base += "perl-module-list-util" -RDEPENDS_perl-module-io-uncompress-base += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-base += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-adapter-bunzip2" -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-base" -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-gzip-constants" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-zlib-extra" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-uncompress-rawinflate" -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-zlib-constants" -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-uncompress-rawinflate" -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-adapter-inflate" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-base" -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-warnings" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-bytes" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-compress-raw-zlib" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-constant" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-exporter " -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-fcntl" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-base-common" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zip-constants" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zlib-extra" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-file" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-identity" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-inflate" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-rawinflate" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-posix" -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-strict " -RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-warnings" -RDEPENDS_perl-module-io-zlib += "perl-module-fcntl" -RDEPENDS_perl-module-io-zlib += "perl-module-io-handle" -RDEPENDS_perl-module-io-zlib += "perl-module-strict" -RDEPENDS_perl-module-io-zlib += "perl-module-tie-handle" -RDEPENDS_perl-module-io-zlib += "perl-module-vars" -RDEPENDS_perl-module-ipc-cmd += "perl-module-constant" -RDEPENDS_perl-module-ipc-cmd += "perl-module-exporter" -RDEPENDS_perl-module-ipc-cmd += "perl-module-extutils-makemaker" -RDEPENDS_perl-module-ipc-cmd += "perl-module-filehandle" -RDEPENDS_perl-module-ipc-cmd += "perl-module-io-handle" -RDEPENDS_perl-module-ipc-cmd += "perl-module-io-select" -RDEPENDS_perl-module-ipc-cmd += "perl-module-ipc-open3" -RDEPENDS_perl-module-ipc-cmd += "perl-module-locale-maketext-simple" -RDEPENDS_perl-module-ipc-cmd += "perl-module-load" -RDEPENDS_perl-module-ipc-cmd += "perl-module-params-check" -RDEPENDS_perl-module-ipc-cmd += "perl-module-posix" -RDEPENDS_perl-module-ipc-cmd += "perl-module-socket" -RDEPENDS_perl-module-ipc-cmd += "perl-module-strict" -RDEPENDS_perl-module-ipc-cmd += "perl-module-text-parsewords" -RDEPENDS_perl-module-ipc-cmd += "perl-module-time-hires" -RDEPENDS_perl-module-ipc-cmd += "perl-module-vars" -RDEPENDS_perl-module-ipc-msg += "perl-module-class-struct" -RDEPENDS_perl-module-ipc-msg += "perl-module-ipc-sysv" -RDEPENDS_perl-module-ipc-msg += "perl-module-strict" -RDEPENDS_perl-module-ipc-msg += "perl-module-vars" -RDEPENDS_perl-module-ipc-open2 += "perl-module-exporter" -RDEPENDS_perl-module-ipc-open2 += "perl-module-ipc-open3" -RDEPENDS_perl-module-ipc-open2 += "perl-module-strict" -RDEPENDS_perl-module-ipc-open3 += "perl-module-constant" -RDEPENDS_perl-module-ipc-open3 += "perl-module-exporter" -RDEPENDS_perl-module-ipc-open3 += "perl-module-fcntl" -RDEPENDS_perl-module-ipc-open3 += "perl-module-io-pipe" -RDEPENDS_perl-module-ipc-open3 += "perl-module-posix" -RDEPENDS_perl-module-ipc-open3 += "perl-module-strict" -RDEPENDS_perl-module-ipc-semaphore += "perl-module-class-struct" -RDEPENDS_perl-module-ipc-semaphore += "perl-module-ipc-sysv" -RDEPENDS_perl-module-ipc-semaphore += "perl-module-strict" -RDEPENDS_perl-module-ipc-semaphore += "perl-module-vars" -RDEPENDS_perl-module-ipc-sharedmem += "perl-module-class-struct" -RDEPENDS_perl-module-ipc-sharedmem += "perl-module-ipc-sysv" -RDEPENDS_perl-module-ipc-sharedmem += "perl-module-strict" -RDEPENDS_perl-module-ipc-sharedmem += "perl-module-vars" -RDEPENDS_perl-module-ipc-sysv += "perl-module-config" -RDEPENDS_perl-module-ipc-sysv += "perl-module-dynaloader" -RDEPENDS_perl-module-ipc-sysv += "perl-module-exporter" -RDEPENDS_perl-module-ipc-sysv += "perl-module-strict" -RDEPENDS_perl-module-ipc-sysv += "perl-module-vars" -RDEPENDS_perl-module-json-pp-boolean += "perl-module-overload" -RDEPENDS_perl-module-json-pp-boolean += "perl-module-strict" -RDEPENDS_perl-module-json-pp += "perl-module-b" -RDEPENDS_perl-module-json-pp += "perl-module-bytes" -RDEPENDS_perl-module-json-pp += "perl-module-constant" -RDEPENDS_perl-module-json-pp += "perl-module-encode" -RDEPENDS_perl-module-json-pp += "perl-module-exporter" -RDEPENDS_perl-module-json-pp += "perl-module-json-pp-boolean" -RDEPENDS_perl-module-json-pp += "perl-module-math-bigfloat" -RDEPENDS_perl-module-json-pp += "perl-module-math-bigint" -RDEPENDS_perl-module-json-pp += "perl-module-overload" -RDEPENDS_perl-module-json-pp += "perl-module-strict" -RDEPENDS_perl-module-json-pp += "perl-module-subs" -RDEPENDS_perl-module-less += "perl-module-strict" -RDEPENDS_perl-module-less += "perl-module-warnings" -RDEPENDS_perl-module-lib += "perl-module-config" -RDEPENDS_perl-module-lib += "perl-module-strict" -RDEPENDS_perl-module-list-util += "perl-module-exporter" -RDEPENDS_perl-module-list-util += "perl-module-strict" -RDEPENDS_perl-module-list-util += "perl-module-warnings" -RDEPENDS_perl-module-list-util += "perl-module-xsloader" -RDEPENDS_perl-module-list-util-xs += "perl-module-list-util" -RDEPENDS_perl-module-list-util-xs += "perl-module-strict" -RDEPENDS_perl-module-list-util-xs += "perl-module-warnings" -RDEPENDS_perl-module-loaded += "perl-module-strict" -RDEPENDS_perl-module-loaded += "perl-module-vars" -RDEPENDS_perl-module-load += "perl-module-config" -RDEPENDS_perl-module-load += "perl-module-constant" -RDEPENDS_perl-module-load += "perl-module-exporter" -RDEPENDS_perl-module-load += "perl-module-filehandle" -RDEPENDS_perl-module-load += "perl-module-locale-maketext-simple" -RDEPENDS_perl-module-load += "perl-module-corelist" -RDEPENDS_perl-module-load += "perl-module-load" -RDEPENDS_perl-module-load += "perl-module-params-check" -RDEPENDS_perl-module-load += "perl-module-strict" -RDEPENDS_perl-module-load += "perl-module-vars" -RDEPENDS_perl-module-load += "perl-module-version" -RDEPENDS_perl-module-load += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-constants += "perl-module-constant" -RDEPENDS_perl-module-locale-codes-constants += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-constants += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-constants += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-country += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-country += "perl-module-if" -RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-country += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-country += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-if" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-currency += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-if" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langext += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-if" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langfam += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-language += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-language += "perl-module-if" -RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-language += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-language += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-if" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langvar += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes += "perl-module-if" -RDEPENDS_perl-module-locale-codes += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-script += "perl-module-exporter" -RDEPENDS_perl-module-locale-codes-script += "perl-module-if" -RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-codes-script += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-script += "perl-module-warnings" -RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-strict" -RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-utf8" -RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-warnings" -RDEPENDS_perl-module-locale-country += "perl-module-exporter" -RDEPENDS_perl-module-locale-country += "perl-module-if" -RDEPENDS_perl-module-locale-country += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-country += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-country += "perl-module-strict" -RDEPENDS_perl-module-locale-country += "perl-module-warnings" -RDEPENDS_perl-module-locale-currency += "perl-module-exporter" -RDEPENDS_perl-module-locale-currency += "perl-module-if" -RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-currency += "perl-module-strict" -RDEPENDS_perl-module-locale-currency += "perl-module-warnings" -RDEPENDS_perl-module-locale-language += "perl-module-exporter" -RDEPENDS_perl-module-locale-language += "perl-module-if" -RDEPENDS_perl-module-locale-language += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-language += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-language += "perl-module-strict" -RDEPENDS_perl-module-locale-language += "perl-module-warnings" -RDEPENDS_perl-module-locale-maketext-gutsloader += "perl-module-locale-maketext" -RDEPENDS_perl-module-locale-maketext-guts += "perl-module-locale-maketext" -RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags" -RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags-detect" -RDEPENDS_perl-module-locale-maketext += "perl-module-integer" -RDEPENDS_perl-module-locale-maketext += "perl-module-strict" -RDEPENDS_perl-module-locale-maketext-simple += "perl-module-base" -RDEPENDS_perl-module-locale-maketext-simple += "perl-module-strict" -RDEPENDS_perl-module-locale += "perl-module-config" -RDEPENDS_perl-module-locale-script += "perl-module-exporter" -RDEPENDS_perl-module-locale-script += "perl-module-if" -RDEPENDS_perl-module-locale-script += "perl-module-locale-codes" -RDEPENDS_perl-module-locale-script += "perl-module-locale-codes-constants" -RDEPENDS_perl-module-locale-script += "perl-module-strict" -RDEPENDS_perl-module-locale-script += "perl-module-warnings" -RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter" -RDEPENDS_perl-module-math-bigfloat += "perl-module-math-bigint" -RDEPENDS_perl-module-math-bigfloat += "perl-module-math-complex" -RDEPENDS_perl-module-math-bigfloat += "perl-module-overload" -RDEPENDS_perl-module-math-bigfloat += "perl-module-strict" -RDEPENDS_perl-module-math-bigfloat += "perl-module-warnings" -RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-exporter" -RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-math-bigfloat" -RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-overload" -RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-strict" -RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-strict" -RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint-calc += "perl-module-constant" -RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer" -RDEPENDS_perl-module-math-bigint-calc += "perl-module-math-bigint-lib" -RDEPENDS_perl-module-math-bigint-calc += "perl-module-strict" -RDEPENDS_perl-module-math-bigint-calc += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-math-bigint-calc" -RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-strict" -RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-xsloader" -RDEPENDS_perl-module-math-bigint-lib += "perl-module-overload" -RDEPENDS_perl-module-math-bigint-lib += "perl-module-strict" -RDEPENDS_perl-module-math-bigint-lib += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint += "perl-module-exporter" -RDEPENDS_perl-module-math-bigint += "perl-module-math-bigfloat" -RDEPENDS_perl-module-math-bigint += "perl-module-math-complex" -RDEPENDS_perl-module-math-bigint += "perl-module-overload" -RDEPENDS_perl-module-math-bigint += "perl-module-strict" -RDEPENDS_perl-module-math-bigint += "perl-module-warnings" -RDEPENDS_perl-module-math-bigint-trace += "perl-module-exporter" -RDEPENDS_perl-module-math-bigint-trace += "perl-module-math-bigint" -RDEPENDS_perl-module-math-bigint-trace += "perl-module-overload" -RDEPENDS_perl-module-math-bigint-trace += "perl-module-strict" -RDEPENDS_perl-module-math-bigint-trace += "perl-module-warnings" -RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigfloat" -RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigint" -RDEPENDS_perl-module-math-bigrat += "perl-module-overload" -RDEPENDS_perl-module-math-bigrat += "perl-module-strict" -RDEPENDS_perl-module-math-bigrat += "perl-module-warnings" -RDEPENDS_perl-module-math-complex += "perl-module-config" -RDEPENDS_perl-module-math-complex += "perl-module-exporter" -RDEPENDS_perl-module-math-complex += "perl-module-overload" -RDEPENDS_perl-module-math-complex += "perl-module-strict" -RDEPENDS_perl-module-math-complex += "perl-module-warnings" -RDEPENDS_perl-module-math-trig += "perl-module-exporter" -RDEPENDS_perl-module-math-trig += "perl-module-math-complex" -RDEPENDS_perl-module-math-trig += "perl-module-strict" -RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars" -RDEPENDS_perl-module-memoize += "perl-module-config" -RDEPENDS_perl-module-memoize += "perl-module-exporter" -RDEPENDS_perl-module-memoize += "perl-module-strict" -RDEPENDS_perl-module-memoize += "perl-module-vars" -RDEPENDS_perl-module-memoize-sdbm-file += "perl-module-sdbm-file" -RDEPENDS_perl-module-memoize-storable += "perl-module-storable" -RDEPENDS_perl-module-mime-base64 += "perl-module-exporter" -RDEPENDS_perl-module-mime-base64 += "perl-module-strict" -RDEPENDS_perl-module-mime-base64 += "perl-module-vars" -RDEPENDS_perl-module-mime-base64 += "perl-module-xsloader" -RDEPENDS_perl-module-mime-quotedprint += "perl-module-exporter" -RDEPENDS_perl-module-mime-quotedprint += "perl-module-mime-base64" -RDEPENDS_perl-module-mime-quotedprint += "perl-module-strict" -RDEPENDS_perl-module-mime-quotedprint += "perl-module-vars" -RDEPENDS_perl-module-mro += "perl-module-strict" -RDEPENDS_perl-module-mro += "perl-module-warnings" -RDEPENDS_perl-module-mro += "perl-module-xsloader" -RDEPENDS_perl-module-net-cmd += "perl-module-constant" -RDEPENDS_perl-module-net-cmd += "perl-module-errno" -RDEPENDS_perl-module-net-cmd += "perl-module-exporter" -RDEPENDS_perl-module-net-cmd += "perl-module-strict" -RDEPENDS_perl-module-net-cmd += "perl-module-warnings" -RDEPENDS_perl-module-net-config += "perl-module-exporter" -RDEPENDS_perl-module-net-config += "perl-module-socket" -RDEPENDS_perl-module-net-config += "perl-module-strict" -RDEPENDS_perl-module-net-config += "perl-module-warnings" -RDEPENDS_perl-module-net-domain += "perl-module-exporter" -RDEPENDS_perl-module-net-domain += "perl-module-net-config" -RDEPENDS_perl-module-net-domain += "perl-module-posix" -RDEPENDS_perl-module-net-domain += "perl-module-socket" -RDEPENDS_perl-module-net-domain += "perl-module-strict" -RDEPENDS_perl-module-net-domain += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp-a += "perl-module-net-ftp-dataconn" -RDEPENDS_perl-module-net-ftp-a += "perl-module-strict" -RDEPENDS_perl-module-net-ftp-a += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-errno" -RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-net-cmd" -RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-strict" -RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp-e += "perl-module-net-ftp-i" -RDEPENDS_perl-module-net-ftp-e += "perl-module-strict" -RDEPENDS_perl-module-net-ftp-e += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp-i += "perl-module-net-ftp-dataconn" -RDEPENDS_perl-module-net-ftp-i += "perl-module-strict" -RDEPENDS_perl-module-net-ftp-i += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i" -RDEPENDS_perl-module-net-ftp-l += "perl-module-strict" -RDEPENDS_perl-module-net-ftp-l += "perl-module-warnings" -RDEPENDS_perl-module-net-ftp += "perl-module-constant" -RDEPENDS_perl-module-net-ftp += "perl-module-fcntl" -RDEPENDS_perl-module-net-ftp += "perl-module-file-basename" -RDEPENDS_perl-module-net-ftp += "perl-module-io-socket" -RDEPENDS_perl-module-net-ftp += "perl-module-io-socket-ip" -RDEPENDS_perl-module-net-ftp += "perl-module-net-cmd" -RDEPENDS_perl-module-net-ftp += "perl-module-net-config" -RDEPENDS_perl-module-net-ftp += "perl-module-net-ftp-a" -RDEPENDS_perl-module-net-ftp += "perl-module-net-netrc" -RDEPENDS_perl-module-net-ftp += "perl-module-socket" -RDEPENDS_perl-module-net-ftp += "perl-module-strict" -RDEPENDS_perl-module-net-ftp += "perl-module-time-local" -RDEPENDS_perl-module-net-ftp += "perl-module-warnings" -RDEPENDS_perl-module-net-hostent += "perl-module-class-struct" -RDEPENDS_perl-module-net-hostent += "perl-module-exporter" -RDEPENDS_perl-module-net-hostent += "perl-module-socket" -RDEPENDS_perl-module-net-hostent += "perl-module-strict" -RDEPENDS_perl-module-net-netent += "perl-module-class-struct" -RDEPENDS_perl-module-net-netent += "perl-module-exporter" -RDEPENDS_perl-module-net-netent += "perl-module-socket" -RDEPENDS_perl-module-net-netent += "perl-module-strict" -RDEPENDS_perl-module-net-netrc += "perl-module-filehandle" -RDEPENDS_perl-module-net-netrc += "perl-module-strict" -RDEPENDS_perl-module-net-netrc += "perl-module-warnings" -RDEPENDS_perl-module-net-nntp += "perl-module-io-socket" -RDEPENDS_perl-module-net-nntp += "perl-module-io-socket-ip" -RDEPENDS_perl-module-net-nntp += "perl-module-net-cmd" -RDEPENDS_perl-module-net-nntp += "perl-module-net-config" -RDEPENDS_perl-module-net-nntp += "perl-module-strict" -RDEPENDS_perl-module-net-nntp += "perl-module-time-local" -RDEPENDS_perl-module-net-nntp += "perl-module-warnings" -RDEPENDS_perl-module-net-ping += "perl-module-constant" -RDEPENDS_perl-module-net-ping += "perl-module-exporter" -RDEPENDS_perl-module-net-ping += "perl-module-fcntl" -RDEPENDS_perl-module-net-ping += "perl-module-filehandle" -RDEPENDS_perl-module-net-ping += "perl-module-io-socket-inet" -RDEPENDS_perl-module-net-ping += "perl-module-posix" -RDEPENDS_perl-module-net-ping += "perl-module-socket" -RDEPENDS_perl-module-net-ping += "perl-module-strict" -RDEPENDS_perl-module-net-ping += "perl-module-time-hires" -RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket" -RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket-ip" -RDEPENDS_perl-module-net-pop3 += "perl-module-mime-base64" -RDEPENDS_perl-module-net-pop3 += "perl-module-net-cmd" -RDEPENDS_perl-module-net-pop3 += "perl-module-net-config" -RDEPENDS_perl-module-net-pop3 += "perl-module-net-netrc" -RDEPENDS_perl-module-net-pop3 += "perl-module-strict" -RDEPENDS_perl-module-net-pop3 += "perl-module-warnings" -RDEPENDS_perl-module-net-protoent += "perl-module-class-struct" -RDEPENDS_perl-module-net-protoent += "perl-module-exporter" -RDEPENDS_perl-module-net-protoent += "perl-module-strict" -RDEPENDS_perl-module-net-servent += "perl-module-class-struct" -RDEPENDS_perl-module-net-servent += "perl-module-exporter" -RDEPENDS_perl-module-net-servent += "perl-module-strict" -RDEPENDS_perl-module-net-smtp += "perl-module-io-socket" -RDEPENDS_perl-module-net-smtp += "perl-module-io-socket-ip" -RDEPENDS_perl-module-net-smtp += "perl-module-mime-base64" -RDEPENDS_perl-module-net-smtp += "perl-module-net-cmd" -RDEPENDS_perl-module-net-smtp += "perl-module-net-config" -RDEPENDS_perl-module-net-smtp += "perl-module-socket" -RDEPENDS_perl-module-net-smtp += "perl-module-strict" -RDEPENDS_perl-module-net-smtp += "perl-module-warnings" -RDEPENDS_perl-module-net-time += "perl-module-exporter" -RDEPENDS_perl-module-net-time += "perl-module-io-select" -RDEPENDS_perl-module-net-time += "perl-module-io-socket" -RDEPENDS_perl-module-net-time += "perl-module-net-config" -RDEPENDS_perl-module-net-time += "perl-module-strict" -RDEPENDS_perl-module-net-time += "perl-module-warnings" -RDEPENDS_perl-module-next += "perl-module-overload" -RDEPENDS_perl-module-next += "perl-module-strict" -RDEPENDS_perl-module-next += "perl-module-warnings" -RDEPENDS_perl-module-ok += "perl-module-strict" -RDEPENDS_perl-module-ok += "perl-module-test-more" -RDEPENDS_perl-module-opcode += "perl-module-exporter" -RDEPENDS_perl-module-opcode += "perl-module-strict" -RDEPENDS_perl-module-opcode += "perl-module-subs" -RDEPENDS_perl-module-opcode += "perl-module-xsloader" -RDEPENDS_perl-module-open += "perl-module-encode" -RDEPENDS_perl-module-open += "perl-module-encoding" -RDEPENDS_perl-module-open += "perl-module-warnings" -RDEPENDS_perl-module-o += "perl-module-b" -RDEPENDS_perl-module-ops += "perl-module-opcode" -RDEPENDS_perl-module-overloading += "perl-module-overload-numbers" -RDEPENDS_perl-module-overloading += "perl-module-warnings" -RDEPENDS_perl-module-overload += "perl-module-mro" -RDEPENDS_perl-module-overload += "perl-module-warnings-register" -RDEPENDS_perl-module-params-check += "perl-module-exporter" -RDEPENDS_perl-module-params-check += "perl-module-locale-maketext-simple" -RDEPENDS_perl-module-params-check += "perl-module-strict" -RDEPENDS_perl-module-params-check += "perl-module-vars" -RDEPENDS_perl-module-parent += "perl-module-strict" -RDEPENDS_perl-module-parent += "perl-module-vars" -RDEPENDS_perl-module-perlfaq += "perl-module-strict" -RDEPENDS_perl-module-perlfaq += "perl-module-warnings" -RDEPENDS_perl-module-perlio-encoding += "perl-module-strict" -RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader" -RDEPENDS_perl-module-perlio-mmap += "perl-module-strict" -RDEPENDS_perl-module-perlio-mmap += "perl-module-warnings" -RDEPENDS_perl-module-perlio-mmap += "perl-module-xsloader" -RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader" -RDEPENDS_perl-module-perlio-via += "perl-module-xsloader" -RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-mime-quotedprint" -RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-strict" -RDEPENDS_perl-module-pod-checker += "perl-module-base" -RDEPENDS_perl-module-pod-checker += "perl-module-exporter" -RDEPENDS_perl-module-pod-checker += "perl-module-strict" -RDEPENDS_perl-module-pod-checker += "perl-module-warnings" -RDEPENDS_perl-module-pod-escapes += "perl-module-exporter" -RDEPENDS_perl-module-pod-escapes += "perl-module-strict" -RDEPENDS_perl-module-pod-escapes += "perl-module-vars" -RDEPENDS_perl-module-pod-escapes += "perl-module-warnings" -RDEPENDS_perl-module-pod-find += "perl-module-config" -RDEPENDS_perl-module-pod-find += "perl-module-cwd" -RDEPENDS_perl-module-pod-find += "perl-module-exporter" -RDEPENDS_perl-module-pod-find += "perl-module-file-find" -RDEPENDS_perl-module-pod-find += "perl-module-strict" -RDEPENDS_perl-module-pod-find += "perl-module-vars" -RDEPENDS_perl-module-pod-functions += "perl-module-exporter" -RDEPENDS_perl-module-pod-functions += "perl-module-strict" -RDEPENDS_perl-module-pod-inputobjects += "perl-module-strict" -RDEPENDS_perl-module-pod-inputobjects += "perl-module-vars" -RDEPENDS_perl-module-pod-man += "perl-module-file-basename" -RDEPENDS_perl-module-pod-man += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-man += "perl-module-strict" -RDEPENDS_perl-module-pod-man += "perl-module-subs" -RDEPENDS_perl-module-pod-man += "perl-module-vars" -RDEPENDS_perl-module-pod-man += "perl-module-warnings" -RDEPENDS_perl-module-pod-parselink += "perl-module-exporter" -RDEPENDS_perl-module-pod-parselink += "perl-module-strict" -RDEPENDS_perl-module-pod-parselink += "perl-module-vars" -RDEPENDS_perl-module-pod-parselink += "perl-module-warnings" -RDEPENDS_perl-module-pod-parser += "perl-module-exporter" -RDEPENDS_perl-module-pod-parser += "perl-module-pod-inputobjects" -RDEPENDS_perl-module-pod-parser += "perl-module-strict" -RDEPENDS_perl-module-pod-parser += "perl-module-vars" -RDEPENDS_perl-module-pod-parseutils += "perl-module-strict" -RDEPENDS_perl-module-pod-parseutils += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-config" -RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc += "perl-module-config" -RDEPENDS_perl-module-pod-perldoc += "perl-module-encode" -RDEPENDS_perl-module-pod-perldoc += "perl-module-fcntl" -RDEPENDS_perl-module-pod-perldoc += "perl-module-file-basename" -RDEPENDS_perl-module-pod-perldoc += "perl-module-file-temp" -RDEPENDS_perl-module-pod-perldoc += "perl-module-pod-perldoc-getoptsoo" -RDEPENDS_perl-module-pod-perldoc += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc += "perl-module-text-parsewords" -RDEPENDS_perl-module-pod-perldoc += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-pod-text-color" -RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-pod-checker" -RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-encode" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-handle" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-select" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-ipc-open3" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-man" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-perldoc-topod" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-pod-man" -RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-pod-text-termcap" -RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-pod-text" -RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-warnings" -RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-parent" -RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-strict" -RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-vars" -RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-warnings" -RDEPENDS_perl-module-pod-plaintext += "perl-module-pod-select" -RDEPENDS_perl-module-pod-plaintext += "perl-module-strict" -RDEPENDS_perl-module-pod-plaintext += "perl-module-vars" -RDEPENDS_perl-module-pod-select += "perl-module-pod-parser" -RDEPENDS_perl-module-pod-select += "perl-module-strict" -RDEPENDS_perl-module-pod-select += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-integer" -RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple-transcode" -RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple-methody" -RDEPENDS_perl-module-pod-simple-checker += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-checker += "perl-module-text-wrap" -RDEPENDS_perl-module-pod-simple-checker += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-debug += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-debug += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-debug += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-text-wrap" -RDEPENDS_perl-module-pod-simple-linksection += "perl-module-overload" -RDEPENDS_perl-module-pod-simple-linksection += "perl-module-pod-simple-blackbox" -RDEPENDS_perl-module-pod-simple-linksection += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-linksection += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-methody += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-methody += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-methody += "perl-module-vars" -RDEPENDS_perl-module-pod-simple += "perl-module-integer" -RDEPENDS_perl-module-pod-simple += "perl-module-pod-escapes" -RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-blackbox" -RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-linksection" -RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-tiedoutfh" -RDEPENDS_perl-module-pod-simple += "perl-module-strict" -RDEPENDS_perl-module-pod-simple += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-progress += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-pod-simple-pullparsertoken" -RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserendtoken" -RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserstarttoken" -RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparsertexttoken" -RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-pod-simple-pullparsertoken" -RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-pod-simple-pullparsertoken" -RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-pullparsertoken += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-rtf += "perl-module-integer" -RDEPENDS_perl-module-pod-simple-rtf += "perl-module-pod-simple-pullparser" -RDEPENDS_perl-module-pod-simple-rtf += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-rtf += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-search += "perl-module-config" -RDEPENDS_perl-module-pod-simple-search += "perl-module-cwd" -RDEPENDS_perl-module-pod-simple-search += "perl-module-file-basename" -RDEPENDS_perl-module-pod-simple-search += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-search += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple-methody" -RDEPENDS_perl-module-pod-simple-text += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-text += "perl-module-text-wrap" -RDEPENDS_perl-module-pod-simple-text += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-transcode += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-transcode += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode" -RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-vars" -RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-strict" -RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-vars" -RDEPENDS_perl-module-pod-text-color += "perl-module-pod-text" -RDEPENDS_perl-module-pod-text-color += "perl-module-strict" -RDEPENDS_perl-module-pod-text-color += "perl-module-term-ansicolor" -RDEPENDS_perl-module-pod-text-color += "perl-module-vars" -RDEPENDS_perl-module-pod-text-color += "perl-module-warnings" -RDEPENDS_perl-module-pod-text-overstrike += "perl-module-pod-text" -RDEPENDS_perl-module-pod-text-overstrike += "perl-module-strict" -RDEPENDS_perl-module-pod-text-overstrike += "perl-module-vars" -RDEPENDS_perl-module-pod-text-overstrike += "perl-module-warnings" -RDEPENDS_perl-module-pod-text += "perl-module-encode" -RDEPENDS_perl-module-pod-text += "perl-module-exporter" -RDEPENDS_perl-module-pod-text += "perl-module-pod-simple" -RDEPENDS_perl-module-pod-text += "perl-module-strict" -RDEPENDS_perl-module-pod-text += "perl-module-vars" -RDEPENDS_perl-module-pod-text += "perl-module-warnings" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-pod-text" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-posix" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-strict" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-term-cap" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-vars" -RDEPENDS_perl-module-pod-text-termcap += "perl-module-warnings" -RDEPENDS_perl-module-pod-usage += "perl-module-config" -RDEPENDS_perl-module-pod-usage += "perl-module-exporter" -RDEPENDS_perl-module-pod-usage += "perl-module-strict" -RDEPENDS_perl-module-pod-usage += "perl-module-vars" -RDEPENDS_perl-module-posix += "perl-module-exporter" -RDEPENDS_perl-module-posix += "perl-module-fcntl" -RDEPENDS_perl-module-posix += "perl-module-strict" -RDEPENDS_perl-module-posix += "perl-module-tie-hash" -RDEPENDS_perl-module-posix += "perl-module-warnings" -RDEPENDS_perl-module-posix += "perl-module-xsloader" -RDEPENDS_perl-module-re += "perl-module-exporter" -RDEPENDS_perl-module-re += "perl-module-strict" -RDEPENDS_perl-module-re += "perl-module-term-cap" -RDEPENDS_perl-module-re += "perl-module-warnings" -RDEPENDS_perl-module-re += "perl-module-xsloader" -RDEPENDS_perl-module-safe += "perl-module-b" -RDEPENDS_perl-module-safe += "perl-module-opcode" -RDEPENDS_perl-module-safe += "perl-module-strict" -RDEPENDS_perl-module-safe += "perl-module-utf8" -RDEPENDS_perl-module-sdbm-file += "perl-module-exporter" -RDEPENDS_perl-module-sdbm-file += "perl-module-strict" -RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash" -RDEPENDS_perl-module-sdbm-file += "perl-module-warnings" -RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader" -RDEPENDS_perl-module-search-dict += "perl-module-exporter" -RDEPENDS_perl-module-search-dict += "perl-module-feature" -RDEPENDS_perl-module-search-dict += "perl-module-strict" -RDEPENDS_perl-module-selfloader += "perl-module-exporter" -RDEPENDS_perl-module-selfloader += "perl-module-io-handle" -RDEPENDS_perl-module-selfloader += "perl-module-strict" -RDEPENDS_perl-module-socket += "perl-module-exporter" -RDEPENDS_perl-module-socket += "perl-module-strict" -RDEPENDS_perl-module-socket += "perl-module-warnings-register" -RDEPENDS_perl-module-socket += "perl-module-xsloader" -RDEPENDS_perl-module-sort += "perl-module-strict" -RDEPENDS_perl-module-storable += "perl-module-exporter" -RDEPENDS_perl-module-storable += "perl-module-io-file" -RDEPENDS_perl-module-storable += "perl-module-xsloader" -RDEPENDS_perl-module-sub-util += "perl-module-exporter" -RDEPENDS_perl-module-sub-util += "perl-module-list-util" -RDEPENDS_perl-module-sub-util += "perl-module-strict" -RDEPENDS_perl-module-sub-util += "perl-module-warnings" -RDEPENDS_perl-module-sys-hostname += "perl-module-exporter" -RDEPENDS_perl-module-sys-hostname += "perl-module-posix" -RDEPENDS_perl-module-sys-hostname += "perl-module-strict" -RDEPENDS_perl-module-sys-hostname += "perl-module-warnings" -RDEPENDS_perl-module-sys-hostname += "perl-module-xsloader" -RDEPENDS_perl-module-sys-syslog += "perl-module-config" -RDEPENDS_perl-module-sys-syslog += "perl-module-constant" -RDEPENDS_perl-module-sys-syslog += "perl-module-dynaloader" -RDEPENDS_perl-module-sys-syslog += "perl-module-exporter" -RDEPENDS_perl-module-sys-syslog += "perl-module-fcntl" -RDEPENDS_perl-module-sys-syslog += "perl-module-file-basename" -RDEPENDS_perl-module-sys-syslog += "perl-module-posix" -RDEPENDS_perl-module-sys-syslog += "perl-module-socket" -RDEPENDS_perl-module-sys-syslog += "perl-module-strict" -RDEPENDS_perl-module-sys-syslog += "perl-module-sys-hostname" -RDEPENDS_perl-module-sys-syslog += "perl-module-vars" -RDEPENDS_perl-module-sys-syslog += "perl-module-warnings" -RDEPENDS_perl-module-sys-syslog += "perl-module-warnings-register" -RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader" -RDEPENDS_perl-module-tap-base += "perl-module-base" -RDEPENDS_perl-module-tap-base += "perl-module-constant" -RDEPENDS_perl-module-tap-base += "perl-module-strict" -RDEPENDS_perl-module-tap-base += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-base += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix" -RDEPENDS_perl-module-tap-formatter-base += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-base += "perl-module-tap-formatter-color" -RDEPENDS_perl-module-tap-formatter-base += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-color += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-color += "perl-module-constant" -RDEPENDS_perl-module-tap-formatter-color += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-color += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-constant" -RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-file-path" -RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-console += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-console += "perl-module-posix" -RDEPENDS_perl-module-tap-formatter-console += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-console += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-file += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-file += "perl-module-posix" -RDEPENDS_perl-module-tap-formatter-file += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-file-session" -RDEPENDS_perl-module-tap-formatter-file += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-warnings" -RDEPENDS_perl-module-tap-formatter-session += "perl-module-base" -RDEPENDS_perl-module-tap-formatter-session += "perl-module-strict" -RDEPENDS_perl-module-tap-formatter-session += "perl-module-warnings" -RDEPENDS_perl-module-tap-harness-env += "perl-module-constant" -RDEPENDS_perl-module-tap-harness-env += "perl-module-strict" -RDEPENDS_perl-module-tap-harness-env += "perl-module-tap-object" -RDEPENDS_perl-module-tap-harness-env += "perl-module-text-parsewords" -RDEPENDS_perl-module-tap-harness-env += "perl-module-warnings" -RDEPENDS_perl-module-tap-harness += "perl-module-base" -RDEPENDS_perl-module-tap-harness += "perl-module-file-path" -RDEPENDS_perl-module-tap-harness += "perl-module-io-handle" -RDEPENDS_perl-module-tap-harness += "perl-module-strict" -RDEPENDS_perl-module-tap-harness += "perl-module-warnings" -RDEPENDS_perl-module-tap-object += "perl-module-strict" -RDEPENDS_perl-module-tap-object += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-base" -RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-benchmark" -RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-grammar += "perl-module-base" -RDEPENDS_perl-module-tap-parser-grammar += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-resultfactory" -RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-yamlish-reader" -RDEPENDS_perl-module-tap-parser-grammar += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-base" -RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-base" -RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-file-basename" -RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-iterator += "perl-module-base" -RDEPENDS_perl-module-tap-parser-iterator += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-iterator += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-base" -RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-config" -RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-io-handle" -RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-base" -RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-base" -RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-io-select" -RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser += "perl-module-base" -RDEPENDS_perl-module-tap-parser += "perl-module-strict" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-grammar" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iterator" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-result" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-resultfactory" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-source" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-executable" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-file" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-handle" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-perl" -RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-rawtap" -RDEPENDS_perl-module-tap-parser += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-base" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-bailout" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-comment" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-plan" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-pragma" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-test" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-unknown" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-version" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-yaml" -RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-test += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-test += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-test += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-version += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-version += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-version += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-base" -RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-job" -RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-spinner" -RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iterator-process" -RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iterator-stream" -RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iterator-stream" -RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-tap-parser-iterator" -RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-config" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords" -RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base" -RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iterator-array" -RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iteratorfactory" -RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-source += "perl-module-base" -RDEPENDS_perl-module-tap-parser-source += "perl-module-constant" -RDEPENDS_perl-module-tap-parser-source += "perl-module-file-basename" -RDEPENDS_perl-module-tap-parser-source += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-source += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-base" -RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-warnings" -RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-base" -RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-strict" -RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-warnings" -RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter" -RDEPENDS_perl-module-term-ansicolor += "perl-module-strict" -RDEPENDS_perl-module-term-ansicolor += "perl-module-warnings" -RDEPENDS_perl-module-term-cap += "perl-module-strict" -RDEPENDS_perl-module-term-cap += "perl-module-vars" -RDEPENDS_perl-module-term-complete += "perl-module-exporter" -RDEPENDS_perl-module-term-complete += "perl-module-strict" -RDEPENDS_perl-module-term-readline += "perl-module-strict" -RDEPENDS_perl-module-term-readline += "perl-module-term-cap" -RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict" -RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings" -RDEPENDS_perl-module-test-builder-module += "perl-module-exporter" -RDEPENDS_perl-module-test-builder-module += "perl-module-strict" -RDEPENDS_perl-module-test-builder-module += "perl-module-test-builder" -RDEPENDS_perl-module-test-builder += "perl-module-data-dumper" -RDEPENDS_perl-module-test-builder += "perl-module-overload" -RDEPENDS_perl-module-test-builder += "perl-module-strict" -RDEPENDS_perl-module-test-builder += "perl-module-test-builder-formatter" -RDEPENDS_perl-module-test-builder += "perl-module-test-builder-tododiag" -RDEPENDS_perl-module-test-builder += "perl-module-warnings" -RDEPENDS_perl-module-test-builder-tester-color += "perl-module-strict" -RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester" -RDEPENDS_perl-module-test-builder-tester += "perl-module-exporter" -RDEPENDS_perl-module-test-builder-tester += "perl-module-strict" -RDEPENDS_perl-module-test-builder-tester += "perl-module-test-builder" -RDEPENDS_perl-module-test-builder-tododiag += "perl-module-strict" -RDEPENDS_perl-module-test-builder-tododiag += "perl-module-warnings" -RDEPENDS_perl-module-test-harness += "perl-module-base" -RDEPENDS_perl-module-test-harness += "perl-module-config" -RDEPENDS_perl-module-test-harness += "perl-module-constant" -RDEPENDS_perl-module-test-harness += "perl-module-strict" -RDEPENDS_perl-module-test-harness += "perl-module-tap-harness" -RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-aggregator" -RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-source" -RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-sourcehandler-perl" -RDEPENDS_perl-module-test-harness += "perl-module-text-parsewords" -RDEPENDS_perl-module-test-harness += "perl-module-warnings" -RDEPENDS_perl-module-test-more += "perl-module-strict" -RDEPENDS_perl-module-test-more += "perl-module-test-builder-module" -RDEPENDS_perl-module-test-more += "perl-module-warnings" -RDEPENDS_perl-module-test += "perl-module-exporter" -RDEPENDS_perl-module-test += "perl-module-file-temp" -RDEPENDS_perl-module-test += "perl-module-strict" -RDEPENDS_perl-module-test-simple += "perl-module-strict" -RDEPENDS_perl-module-test-simple += "perl-module-test-builder-module" -RDEPENDS_perl-module-test-tester-capture += "perl-module-config" -RDEPENDS_perl-module-test-tester-capture += "perl-module-strict" -RDEPENDS_perl-module-test-tester-capture += "perl-module-test-builder" -RDEPENDS_perl-module-test-tester-capture += "perl-module-threads-shared" -RDEPENDS_perl-module-test-tester-capture += "perl-module-vars" -RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-exporter" -RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-strict" -RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-test-tester-capture" -RDEPENDS_perl-module-test-tester-delegate += "perl-module-strict" -RDEPENDS_perl-module-test-tester-delegate += "perl-module-vars" -RDEPENDS_perl-module-test-tester-delegate += "perl-module-warnings" -RDEPENDS_perl-module-test-tester += "perl-module-exporter" -RDEPENDS_perl-module-test-tester += "perl-module-strict" -RDEPENDS_perl-module-test-tester += "perl-module-test-builder" -RDEPENDS_perl-module-test-tester += "perl-module-test-tester-capturerunner" -RDEPENDS_perl-module-test-tester += "perl-module-test-tester-delegate" -RDEPENDS_perl-module-test-tester += "perl-module-vars" -RDEPENDS_perl-module-text-abbrev += "perl-module-exporter" -RDEPENDS_perl-module-text-balanced += "perl-module-exporter" -RDEPENDS_perl-module-text-balanced += "perl-module-overload" -RDEPENDS_perl-module-text-balanced += "perl-module-selfloader" -RDEPENDS_perl-module-text-balanced += "perl-module-strict" -RDEPENDS_perl-module-text-balanced += "perl-module-vars" -RDEPENDS_perl-module-text-parsewords += "perl-module-exporter" -RDEPENDS_perl-module-text-parsewords += "perl-module-strict" -RDEPENDS_perl-module-text-tabs += "perl-module-exporter" -RDEPENDS_perl-module-text-tabs += "perl-module-strict" -RDEPENDS_perl-module-text-tabs += "perl-module-vars" -RDEPENDS_perl-module-text-wrap += "perl-module-exporter" -RDEPENDS_perl-module-text-wrap += "perl-module-re" -RDEPENDS_perl-module-text-wrap += "perl-module-strict" -RDEPENDS_perl-module-text-wrap += "perl-module-text-tabs" -RDEPENDS_perl-module-text-wrap += "perl-module-vars" -RDEPENDS_perl-module-text-wrap += "perl-module-warnings-register" -RDEPENDS_perl-module-thread += "perl-module-config" -RDEPENDS_perl-module-thread += "perl-module-exporter" -RDEPENDS_perl-module-thread += "perl-module-strict" -RDEPENDS_perl-module-thread += "perl-module-threads" -RDEPENDS_perl-module-thread += "perl-module-threads-shared" -RDEPENDS_perl-module-thread += "perl-module-warnings" -RDEPENDS_perl-module-thread-queue += "perl-module-strict" -RDEPENDS_perl-module-thread-queue += "perl-module-threads-shared" -RDEPENDS_perl-module-thread-queue += "perl-module-warnings" -RDEPENDS_perl-module-thread-semaphore += "perl-module-strict" -RDEPENDS_perl-module-thread-semaphore += "perl-module-threads-shared" -RDEPENDS_perl-module-thread-semaphore += "perl-module-warnings" -RDEPENDS_perl-module-threads += "perl-module-config" -RDEPENDS_perl-module-threads += "perl-module-overload" -RDEPENDS_perl-module-threads += "perl-module-strict" -RDEPENDS_perl-module-threads += "perl-module-warnings" -RDEPENDS_perl-module-threads += "perl-module-xsloader" -RDEPENDS_perl-module-threads-shared += "perl-module-strict" -RDEPENDS_perl-module-threads-shared += "perl-module-warnings" -RDEPENDS_perl-module-threads-shared += "perl-module-xsloader" -RDEPENDS_perl-module-tie-array += "perl-module-strict" -RDEPENDS_perl-module-tie-file += "perl-module-fcntl" -RDEPENDS_perl-module-tie-file += "perl-module-posix" -RDEPENDS_perl-module-tie-file += "perl-module-strict" -RDEPENDS_perl-module-tie-handle += "perl-module-tie-stdhandle" -RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register" -RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-strict" -RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-xsloader" -RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register" -RDEPENDS_perl-module-tie-memoize += "perl-module-strict" -RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash" -RDEPENDS_perl-module-tie-refhash += "perl-module-config" -RDEPENDS_perl-module-tie-refhash += "perl-module-overload" -RDEPENDS_perl-module-tie-refhash += "perl-module-strict" -RDEPENDS_perl-module-tie-refhash += "perl-module-tie-hash" -RDEPENDS_perl-module-tie-refhash += "perl-module-vars" -RDEPENDS_perl-module-tie-scalar += "perl-module-warnings-register" -RDEPENDS_perl-module-tie-stdhandle += "perl-module-strict" -RDEPENDS_perl-module-tie-stdhandle += "perl-module-tie-handle" -RDEPENDS_perl-module-tie-substrhash += "perl-module-integer" -RDEPENDS_perl-module-time-gmtime += "perl-module-exporter" -RDEPENDS_perl-module-time-gmtime += "perl-module-strict" -RDEPENDS_perl-module-time-gmtime += "perl-module-time-tm" -RDEPENDS_perl-module-time-hires += "perl-module-exporter" -RDEPENDS_perl-module-time-hires += "perl-module-strict" -RDEPENDS_perl-module-time-hires += "perl-module-xsloader" -RDEPENDS_perl-module-time-local += "perl-module-config" -RDEPENDS_perl-module-time-local += "perl-module-constant" -RDEPENDS_perl-module-time-local += "perl-module-exporter" -RDEPENDS_perl-module-time-local += "perl-module-parent" -RDEPENDS_perl-module-time-local += "perl-module-strict" -RDEPENDS_perl-module-time-localtime += "perl-module-exporter" -RDEPENDS_perl-module-time-localtime += "perl-module-strict" -RDEPENDS_perl-module-time-localtime += "perl-module-time-tm" -RDEPENDS_perl-module-time-piece += "perl-module-constant" -RDEPENDS_perl-module-time-piece += "perl-module-exporter" -RDEPENDS_perl-module-time-piece += "perl-module-integer" -RDEPENDS_perl-module-time-piece += "perl-module-overload" -RDEPENDS_perl-module-time-piece += "perl-module-strict" -RDEPENDS_perl-module-time-piece += "perl-module-time-local" -RDEPENDS_perl-module-time-piece += "perl-module-time-seconds" -RDEPENDS_perl-module-time-piece += "perl-module-xsloader" -RDEPENDS_perl-module-time-seconds += "perl-module-constant" -RDEPENDS_perl-module-time-seconds += "perl-module-exporter" -RDEPENDS_perl-module-time-seconds += "perl-module-overload" -RDEPENDS_perl-module-time-seconds += "perl-module-strict" -RDEPENDS_perl-module-time-tm += "perl-module-class-struct" -RDEPENDS_perl-module-time-tm += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate-locale += "perl-module-base" -RDEPENDS_perl-module-unicode-collate-locale += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate-locale += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate += "perl-module-constant" -RDEPENDS_perl-module-unicode-collate += "perl-module-strict" -RDEPENDS_perl-module-unicode-collate += "perl-module-warnings" -RDEPENDS_perl-module-unicode-collate += "perl-module-xsloader" -RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter" -RDEPENDS_perl-module-unicode-normalize += "perl-module-strict" -RDEPENDS_perl-module-unicode-normalize += "perl-module-warnings" -RDEPENDS_perl-module-unicode-normalize += "perl-module-xsloader" -RDEPENDS_perl-module-unicode-ucd += "perl-module-charnames" -RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter" -RDEPENDS_perl-module-unicode-ucd += "perl-module-feature" -RDEPENDS_perl-module-unicode-ucd += "perl-module-if" -RDEPENDS_perl-module-unicode-ucd += "perl-module-integer" -RDEPENDS_perl-module-unicode-ucd += "perl-module-strict" -RDEPENDS_perl-module-unicode-ucd += "perl-module-unicode-normalize" -RDEPENDS_perl-module-unicode-ucd += "perl-module-utf8-heavy" -RDEPENDS_perl-module-unicode-ucd += "perl-module-warnings" -RDEPENDS_perl-module-user-grent += "perl-module-class-struct" -RDEPENDS_perl-module-user-grent += "perl-module-exporter" -RDEPENDS_perl-module-user-grent += "perl-module-strict" -RDEPENDS_perl-module-user-pwent += "perl-module-class-struct" -RDEPENDS_perl-module-user-pwent += "perl-module-config" -RDEPENDS_perl-module-user-pwent += "perl-module-exporter" -RDEPENDS_perl-module-user-pwent += "perl-module-strict" -RDEPENDS_perl-module-user-pwent += "perl-module-warnings" -RDEPENDS_perl-module-utf8 += "perl-module-utf8-heavy" -RDEPENDS_perl-module-version += "perl-module-strict" -RDEPENDS_perl-module-version += "perl-module-version-regex" -RDEPENDS_perl-module-version += "perl-module-warnings-register" -RDEPENDS_perl-module-version-regex += "perl-module-strict" -RDEPENDS_perl-module-xsloader += "perl-module-dynaloader" diff --git a/poky/meta/recipes-devtools/perl-sanity/files/run-ptest b/poky/meta/recipes-devtools/perl-sanity/files/run-ptest deleted file mode 100644 index dad4d4291..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/files/run-ptest +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -cd t && PERL_BUILD_PACKAGING=1 ./TEST | sed -u -e 's|\(.*\) .* ok$|PASS: \1|' -e 's|\(.*\) .* skipped|SKIP: \1|' -e 's|\(.*\) \.\(.*\)|FAIL: \1|' diff --git a/poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc b/poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc deleted file mode 100644 index 9dd9b7da5..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc +++ /dev/null @@ -1,57 +0,0 @@ -inherit ptest - -SRC_URI += "file://run-ptest \ - " -do_install_ptest () { - mkdir -p ${D}${PTEST_PATH} - sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/* - sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl - sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh - tar -c --exclude=try --exclude=a.out --exclude='*.o' --exclude=libperl.so* --exclude=Makefile --exclude=makefile --exclude=hostperl \ - --exclude=cygwin --exclude=os2 --exclude=djgpp --exclude=qnx --exclude=symbian --exclude=haiku \ - --exclude=vms --exclude=vos --exclude=NetWare --exclude=amigaos4 --exclude=buildcustomize.pl \ - --exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \ - --exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \ - --exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=makefile.old \ - --exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x ) - - ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl - - # Remove build host references from various scattered files... - find "${D}${PTEST_PATH}" \ - \( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \ - -o -name 'h2xs' -o -name 'h2ph' \ - -o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' \) \ - -type f -exec sed -i \ - -e "s,${D},,g" \ - -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ - -e "s,-isystem${STAGING_INCDIR} ,,g" \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ - -e "s,${STAGING_LIBDIR},${libdir},g" \ - -e "s,${STAGING_BINDIR},${bindir},g" \ - -e "s,${STAGING_INCDIR},${includedir},g" \ - -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ - -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - -e 's:${RECIPE_SYSROOT}::g' \ - {} + - - # Remove a useless timestamp... - sed -i -e '/Autogenerated starting on/d' ${D}${PTEST_PATH}/lib/unicore/mktables.lst -} - -python populate_packages_prepend() { - # Put all *.t files from the lib dir in the ptest package - # do_split_packages requires a pair of () in the regex, but we have nothing - # to match, so use an empty pair. - if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d): - do_split_packages(d, d.expand('${libdir}/perl/${PV}'), r'.*\.t()', - '${PN}-ptest%s', '%s', recursive=True, match_path=True) -} - -RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc sed" - -# The perl-ptest package contains Perl internal modules and generating file -# dependencies for it causes problems. -SKIP_FILEDEPS_${PN}-ptest = '1' diff --git a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb b/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb deleted file mode 100644 index 12b220a4d..000000000 --- a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb +++ /dev/null @@ -1,304 +0,0 @@ -SUMMARY = "Perl scripting language" -HOMEPAGE = "http://www.perl.org/" -SECTION = "devel" -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \ - file://Artistic;md5=71a4d5d9acc18c0952a6df2218bb68da \ - " - - -SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ - https://github.com/arsv/perl-cross/releases/download/1.2.3/perl-cross-1.2.3.tar.gz;name=perl-cross \ - file://perl-rdepends.txt \ - file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \ - file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \ - file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \ - file://errno_ver.diff \ - file://native-perlinc.patch \ - file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ - file://perl-dynloader.patch \ - file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \ - " -SRC_URI_append_class-native = " \ - file://perl-configpm-switch.patch \ -" - -SRC_URI[perl.md5sum] = "1323e7581fbedf3791d2843f4ccaec4b" -SRC_URI[perl.sha256sum] = "aa95456dddb3eb1cc5475fed4e08f91876bea71fb636fba6399054dfbabed6c7" -SRC_URI[perl-cross.md5sum] = "03d9eafd71161eb5d1f80434e8b49dbc" -SRC_URI[perl-cross.sha256sum] = "84583a1bb5f3a2c64d13d031386c114382e5c62955c6f84a27cec8318536627c" - -PR = "r1" - -S = "${WORKDIR}/perl-${PV}" - -inherit upstream-version-is-even - -DEPENDS += "db gdbm zlib virtual/crypt" - -PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" - -do_unpack_append() { - bb.build.exec_func('do_copy_perlcross', d) -} - -do_copy_perlcross() { - cp -rf ${WORKDIR}/perl-cross*/* ${S} -} - -do_configure_class-target() { - ./configure --prefix=${prefix} --libdir=${libdir} \ - --target=${TARGET_SYS} \ - -Duseshrplib \ - -Dsoname=libperl.so.5 \ - -Dvendorprefix=${prefix} \ - -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux - - #perl.c uses an ARCHLIB_EXP define to generate compile-time code that - #adds the archlibexp path to @INC during run-time initialization of a - #new perl interpreter. - - #Because we've changed this value in a temporary way to make it - #possible to use ExtUtils::Embed in the target build (the temporary - #value in config.sh gets re-stripped out during packaging), the - #ARCHLIB_EXP value that gets generated still uses the temporary version - #instead of the original expected version (i.e. becauses it's in the - #generated config.h, it doesn't get stripped out during packaging like - #the others in config.sh). - - sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h -} - -do_configure_class-nativesdk() { - ./configure --prefix=${prefix} \ - --target=${TARGET_SYS} \ - -Duseshrplib \ - -Dsoname=libperl.so.5 \ - -Dvendorprefix=${prefix} \ - -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux - - # See the comment above - sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h -} - -do_configure_class-native() { - ./configure --prefix=${prefix} \ - -Dbin=${bindir}/perl-native \ - -Duseshrplib \ - -Dsoname=libperl.so.5 \ - -Dvendorprefix=${prefix} \ - -Ui_xlocale -} - -do_compile() { - oe_runmake -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - install -d ${D}${libdir}/perl5 - install -d ${D}${libdir}/perl5/${PV}/ - install -d ${D}${libdir}/perl5/${PV}/ExtUtils/ - - # Save native config - install config.sh ${D}${libdir}/perl5 - install lib/Config.pm ${D}${libdir}/perl5/${PV}/ - install lib/ExtUtils/typemap ${D}${libdir}/perl5/${PV}/ExtUtils/ - - # Fix up shared library - rm ${D}/${libdir}/perl5/${PV}/*/CORE/libperl.so - ln -sf ../../../../libperl.so.${PERL_LIB_VER} $(echo ${D}/${libdir}/perl5/${PV}/*/CORE)/libperl.so -} - -do_install_append_class-target() { - # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch - ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl - -} - -do_install_append_class-nativesdk() { - # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch - ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl - - create_wrapper ${D}${bindir}/perl \ - PERL5LIB='$PERL5LIB:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/site_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/vendor_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/${PV}' -} - -do_install_append_class-native () { - # Those wrappers mean that perl installed from sstate (which may change - # path location) works and that in the nativesdk case, the SDK can be - # installed to a different location from the one it was built for. - create_wrapper ${D}${bindir}/perl-native/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl5/site_perl/${PV}:${STAGING_LIBDIR}/perl5/vendor_perl/${PV}:${STAGING_LIBDIR}/perl5/${PV}' - - # Use /usr/bin/env nativeperl for the perl script. - for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do - sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f - done -} - -PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess" - -perl_package_preprocess () { - # Fix up installed configuration - sed -i -e "s,${D},,g" \ - -e "s,${DEBUG_PREFIX_MAP},,g" \ - -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ - -e "s,-isystem${STAGING_INCDIR} ,,g" \ - -e "s,${STAGING_LIBDIR},${libdir},g" \ - -e "s,${STAGING_BINDIR},${bindir},g" \ - -e "s,${STAGING_INCDIR},${includedir},g" \ - -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ - -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ - -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \ - -e 's:${RECIPE_SYSROOT}::g' \ - ${PKGD}${bindir}/h2xs \ - ${PKGD}${bindir}/h2ph \ - ${PKGD}${bindir}/pod2man \ - ${PKGD}${bindir}/pod2text \ - ${PKGD}${bindir}/pod2usage \ - ${PKGD}${bindir}/podchecker \ - ${PKGD}${bindir}/podselect \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \ - ${PKGD}${libdir}/perl5/${PV}/Config.pm \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pod \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy.pl \ - ${PKGD}${libdir}/perl5/${PV}/ExtUtils/Liblist/Kid.pm \ - ${PKGD}${libdir}/perl5/${PV}/FileCache.pm \ - ${PKGD}${libdir}/perl5/${PV}/pod/*.pod \ - ${PKGD}${libdir}/perl5/config.sh -} - -require perl-ptest.inc - -FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \ - ${libdir}/perl5/site_perl \ - ${libdir}/perl5/${PV}/Config.pm \ - ${libdir}/perl5/${PV}/*/Config_heavy-target.pl \ - ${libdir}/perl5/config.sh \ - ${libdir}/perl5/${PV}/strict.pm \ - ${libdir}/perl5/${PV}/warnings.pm \ - ${libdir}/perl5/${PV}/warnings \ - ${libdir}/perl5/${PV}/vars.pm \ - ${libdir}/perl5/site_perl \ - " -RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \ - perl-module-warnings-register" - -FILES_${PN}-staticdev_append = " ${libdir}/perl5/${PV}/*/CORE/libperl.a" - -FILES_${PN}-dev_append = " ${libdir}/perl5/${PV}/*/CORE" - -FILES_${PN}-doc_append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \ - ${libdir}/perl5/${PV}/*/.packlist \ - ${libdir}/perl5/${PV}/ExtUtils/MANIFEST.SKIP \ - ${libdir}/perl5/${PV}/ExtUtils/xsubpp \ - ${libdir}/perl5/${PV}/ExtUtils/typemap \ - ${libdir}/perl5/${PV}/Encode/encode.h \ - " -PACKAGES += "${PN}-misc" - -FILES_${PN}-misc = "${bindir}/*" - -PACKAGES += "${PN}-pod" - -FILES_${PN}-pod = "${libdir}/perl5/${PV}/pod \ - ${libdir}/perl5/${PV}/*.pod \ - ${libdir}/perl5/${PV}/*/*.pod \ - ${libdir}/perl5/${PV}/*/*/*.pod \ - ${libdir}/perl5/${PV}/*/*/*/*.pod \ - " - -PACKAGES += "${PN}-module-cpan ${PN}-module-unicore" - -FILES_${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \ - " -FILES_${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore" - -# Create a perl-modules package recommending all the other perl -# packages (actually the non modules packages and not created too) -ALLOW_EMPTY_${PN}-modules = "1" -PACKAGES += "${PN}-modules " - -PACKAGESPLITFUNCS_prepend = "split_perl_packages " - -python split_perl_packages () { - libdir = d.expand('${libdir}/perl5/${PV}') - do_split_packages(d, libdir, r'.*/auto/([^.]*)/[^/]*\.(so|ld|ix|al)', '${PN}-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False) - do_split_packages(d, libdir, r'.*linux/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'Module/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'Module/([^\/]*)/.*', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'.*linux/([^\/].*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/)[^\/]).*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - - # perl-modules should recommend every perl module, and only the - # modules. Don't attempt to use the result of do_split_packages() as some - # modules are manually split (eg. perl-module-unicore). - packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split()) - d.setVar(d.expand("RRECOMMENDS_${PN}-modules"), ' '.join(packages)) - - # Read the pre-generated dependency file, and use it to set module dependecies - for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines(): - splitline = line.split() - module = splitline[0].replace("RDEPENDS_perl", "RDEPENDS_${PN}") - depends = splitline[2].strip('"').replace("perl-module", "${PN}-module") - d.appendVar(d.expand(module), " " + depends) -} - -PACKAGES_DYNAMIC_class-target += "^perl-module-.*" -PACKAGES_DYNAMIC_class-nativesdk += "^nativesdk-perl-module-.*" - -RDEPENDS_${PN}-misc += "perl perl-modules" -RDEPENDS_${PN}-pod += "perl" - -BBCLASSEXTEND = "native nativesdk" - -SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh" - -do_create_rdepends_inc() { - cd ${WORKDIR} - cat <<'EOPREAMBLE' > ${WORKDIR}/perl-rdepends.inc - -# Some additional dependencies that the above doesn't manage to figure out -RDEPENDS_${PN}-module-file-spec += "${PN}-module-file-spec-unix" -RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigint-calc" -RDEPENDS_${PN}-module-thread-queue += "${PN}-module-attributes" -RDEPENDS_${PN}-module-overload += "${PN}-module-overloading" - -# Generated depends list beyond this line -EOPREAMBLE - test -e packages-split.new && rm -rf packages-split.new - cp -r packages-split packages-split.new && cd packages-split.new - find . -name \*.pm | xargs sed -i '/^=head/,/^=cut/d' - egrep -r "^\s*(\ */+= \"perl-module-/g;s/CPANPLUS::.*/cpanplus/g;s/CPAN::.*/cpan/g;s/::/-/g;s/ [^+\"].*//g;s/_/-/g;s/\.pl\"$/\"/;s/\"\?\$/\"/;s/(//;" | tr [:upper:] [:lower:] | \ - awk '{if ($3 != "\x22"$1"\x22"){ print $0}}'| \ - grep -v -e "\-vms\-" -e module-5 -e "^$" -e "\\$" -e your -e tk -e autoperl -e html -e http -e parse-cpan -e perl-ostype -e ndbm-file -e module-mac -e fcgi -e lwp -e dbd -e dbix | \ - sort -u | \ - sed 's/^/RDEPENDS_/;s/perl-module-/${PN}-module-/g;s/module-\(module-\)/\1/g;s/\(module-load\)-conditional/\1/g;s/encode-configlocal/&-pm/;' | \ - egrep -wv '=>|module-a|module-apache.?|module-apr|module-authen-sasl|module-b-asmdata|module-convert-ebcdic|module-devel-size|module-digest-perl-md5|module-dumpvalue|module-extutils-constant-aaargh56hash|module-extutils-xssymset|module-file-bsdglob|module-for|module-it|module-io-socket-inet6|module-io-socket-ssl|module-io-string|module-ipc-system-simple|module-lexical|module-local-lib|metadata|module-modperl-util|module-pluggable-object|module-test-builder-io-scalar|module-test2|module-text-unidecode|module-unicore|module-win32|objects\sload|syscall.ph|systeminfo.ph|%s' | \ - egrep -wv '=>|module-algorithm-diff|module-carp|module-c|module-encode-hanextra|module-extutils-makemaker-version-regex|module-file-spec|module-io-compress-lzma|module-locale-maketext-lexicon|module-log-agent|module-meta-notation|module-net-localcfg|module-net-ping-external|module-b-deparse|module-scalar-util|module-some-module|module-symbol|module-uri|module-win32api-file' >> ${WORKDIR}/perl-rdepends.generated - cp ${WORKDIR}/perl-rdepends.generated ${THISDIR}/files/perl-rdepends.txt -} - -# bitbake perl -c create_rdepends_inc -addtask do_create_rdepends_inc - -SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper" - -perl_sysroot_create_wrapper () { - mkdir -p ${SYSROOT_DESTDIR}${bindir} - # Create a wrapper that /usr/bin/env perl will use to get perl-native. - # This MUST live in the normal bindir. - cat > ${SYSROOT_DESTDIR}${bindir}/nativeperl << EOF -#!/bin/sh -realpath=\`readlink -fn \$0\` -exec \`dirname \$realpath\`/perl-native/perl "\$@" -EOF - chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl - cat ${SYSROOT_DESTDIR}${bindir}/nativeperl -} - diff --git a/poky/meta/recipes-devtools/perl/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch b/poky/meta/recipes-devtools/perl/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch new file mode 100644 index 000000000..7d5c079b2 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch @@ -0,0 +1,26 @@ +From 2f74a899474f428a4a5368a94accf801c5f97ae4 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 4 Jun 2018 18:33:50 +0300 +Subject: [PATCH] ExtUtils-MakeMaker: add $(LDFLAGS) when linking binary + modules + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin + +--- + cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +index fe53be1..249c048 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +@@ -1050,7 +1050,7 @@ sub xs_make_dynamic_lib { + } + + push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $dlsyms_arg, $ldfrom, $self->xs_obj_opt('$@'), $libs, $exportlist; +- %s$(LD) %s $(LDDLFLAGS) %s %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \ ++ %s$(LD) %s $(LDDLFLAGS) %s %s $(LDFLAGS) $(OTHERLDFLAGS) %s $(MYEXTLIB) \ + $(PERL_ARCHIVE) %s $(PERL_ARCHIVE_AFTER) %s \ + $(INST_DYNAMIC_FIX) + $(CHMOD) $(PERM_RWX) $@ diff --git a/poky/meta/recipes-devtools/perl/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch b/poky/meta/recipes-devtools/perl/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch new file mode 100644 index 000000000..ed8ec1d41 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch @@ -0,0 +1,34 @@ +From e8e095b9c71c58f8197d6315359446b6b084cb2b Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 5 Jun 2018 14:58:42 +0300 +Subject: [PATCH] Somehow this module breaks through the perl wrapper and + declares perl binary to be 'perl.real'. This patch forces it back to perl. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +--- + cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +index 948c476..f537526 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +@@ -1110,6 +1110,9 @@ WARNING + } + + foreach my $name (@$names){ ++ # Getting MakeMaker.pm use perl wrapper instead of 'perl.real' directly ++ $name =~ s/perl\.real/perl/ if ($name =~ /perl\.real/); ++ + my ($abs, $use_dir); + if ($self->file_name_is_absolute($name)) { # /foo/bar + $abs = $name; +@@ -2006,6 +2009,7 @@ sub init_PERL { + + $self->{PERL} ||= + $self->find_perl(5.0, \@perls, \@defpath, $Verbose ); ++ + + my $perl = $self->{PERL}; + $perl =~ s/^"//; diff --git a/poky/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch b/poky/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch new file mode 100644 index 000000000..3b0fc453e --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch @@ -0,0 +1,69 @@ +From 19c1987b455998d2959a5fdf3d1ed911d35e70f2 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 2 Jan 2019 17:55:35 +0100 +Subject: [PATCH] configure_path.sh: do not hardcode $prefix/lib as library + path + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin + +--- + cnf/configure_args.sh | 2 +- + cnf/configure_path.sh | 11 ++++++----- + 2 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/cnf/configure_args.sh b/cnf/configure_args.sh +index 29ca4f5..3297fb3 100644 +--- a/cnf/configure_args.sh ++++ b/cnf/configure_args.sh +@@ -155,7 +155,7 @@ while [ $i -le $# -o -n "$n" ]; do + help) mode="help" ;; + regen|regenerate) mode="regen" ;; + keeplog) defuser "$a" 1 ;; +- prefix|html[13]dir|libsdir) defuser $a "$v" ;; ++ prefix|html[13]dir|libsdir|libdir) defuser $a "$v" ;; + man[13]dir|otherlibsdir) defuser $a "$v" ;; + siteprefix|sitehtml[13]dir) defuser $a "$v" ;; + siteman[13]dir|vendorman[13]dir)defuser $a "$v" ;; +diff --git a/cnf/configure_path.sh b/cnf/configure_path.sh +index fe7eac7..bcba8b8 100644 +--- a/cnf/configure_path.sh ++++ b/cnf/configure_path.sh +@@ -30,6 +30,7 @@ definst() { + define "$1" "$installpath$v" + } + ++define libdir "$prefix/lib" + define sharedir "$prefix/share" + define html1dir "$sharedir/doc/$perlname/html" + define html3dir "$sharedir/doc/$perlname/html" +@@ -38,16 +39,16 @@ define man1ext "1" + define man3dir "$sharedir/man/man3" + define man3ext "3" + define bin "$prefix/bin" +-define lib "$prefix/lib" ++define lib "$libdir" + define scriptdir "$prefix/bin" + define libsdirs ' ' +-defrel privlib "$prefix/lib/$package/$version" +-defrel archlib "$prefix/lib/$package/$version/$archname" ++defrel privlib "$libdir/$package/$version" ++defrel archlib "$libdir/$package/$version/$archname" + define perlpath "$prefix/bin/$perlname" + define d_archlib 'define' + + define sitebin "$prefix/bin" +-defrel sitelib_stem "$prefix/lib/$package/site_perl" ++defrel sitelib_stem "$libdir/$package/site_perl" + define sitelib "$sitelib_stem/$version" + define sitearch "$sitelib_stem/$version/$archname" + define siteprefix "$prefix" +@@ -145,7 +146,7 @@ vendortest() { + } + + vendorpath vendorbin "$vendorprefix/bin" +-vendorpath vendorlib_stem "$vendorprefix/lib/$package/vendor_perl" ++vendorpath vendorlib_stem "$libdir/$package/vendor_perl" + vendorpath vendorlib "$vendorlib_stem/$version" + vendorpath vendorarch "$vendorlib_stem/$version/$archname" + vendorpath vendorscript "$vendorprefix/bin" diff --git a/poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch b/poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch new file mode 100644 index 000000000..0aaeaa29e --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch @@ -0,0 +1,29 @@ +From a66811c487ecf8ba8724879c253bb10dfa82aeb5 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 1 Jun 2018 19:57:32 +0300 +Subject: [PATCH] configure_tool.sh: do not quote the argument to 'command' + +As it seems to break things if the argument has spaces and arguments in it. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + cnf/configure_tool.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cnf/configure_tool.sh b/cnf/configure_tool.sh +index 32201c0..461bc68 100644 +--- a/cnf/configure_tool.sh ++++ b/cnf/configure_tool.sh +@@ -2,7 +2,7 @@ + + tryprog() { + log "trying $1=$2" +- if command -v "$2" 1>/dev/null 2>/dev/null; then ++ if command -v $2 1>/dev/null 2>/dev/null; then + define "$1" "$2" + result "$2" + return 0 +-- +2.17.0 + diff --git a/poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch b/poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch new file mode 100644 index 000000000..e7985036a --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch @@ -0,0 +1,27 @@ +From f824cbec9ac8f113a4ae35d57bd18625d415a71b Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 27 Nov 2018 15:37:40 +0100 +Subject: [PATCH] perl-cross: add LDFLAGS when linking libperl + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 01644cd..be811a7 100644 +--- a/Makefile ++++ b/Makefile +@@ -180,7 +180,7 @@ endif + + ifeq ($(useshrplib),true) + $(LIBPERL): +- $(CC) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS) ++ $(CC) $(LDFLAGS) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS) + else + $(LIBPERL): + $(AR) cru $@ $(filter %$o,$^) +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/perl/files/errno_ver.diff b/poky/meta/recipes-devtools/perl/files/errno_ver.diff new file mode 100644 index 000000000..a965fbeee --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/errno_ver.diff @@ -0,0 +1,37 @@ +From 8e1efba7560d8d55524c7a0f1b0539ddce419b86 Mon Sep 17 00:00:00 2001 +From: Brendan O'Dea +Date: Fri, 16 Dec 2005 01:32:14 +1100 +Subject: [PATCH 6/8] Remove Errno version check due to upgrade problems with + long-running processes. + +Bug-Debian: http://bugs.debian.org/343351 + +Remove version check which can cause problems for long running +processes embedding perl when upgrading to a newer version, +compatible, but built on a different machine. + +Patch-Name: debian/errno_ver.diff +Upstream-Status: Pending +--- + ext/Errno/Errno_pm.PL | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL +index 6251a3c..eeed445 100644 +--- a/ext/Errno/Errno_pm.PL ++++ b/ext/Errno/Errno_pm.PL +@@ -294,11 +294,6 @@ EDQ + # they've already declared perl doesn't need to worry about this risk. + if(!$ENV{'PERL_BUILD_EXPAND_CONFIG_VARS'}) { + print <<"CONFIG_CHECK_END"; +-use Config; +-"\$Config{'archname'}-\$Config{'osvers'}" eq +-"$archname-$Config{'osvers'}" or +- die "Errno architecture ($archname-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})"; +- + CONFIG_CHECK_END + } + +-- +2.1.4 + diff --git a/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch b/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch new file mode 100644 index 000000000..2b490e606 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch @@ -0,0 +1,49 @@ +Test script to reproduce the problem: + +#!/usr/bin/env perl +$) = "2 2"; +print $!; + +Result from perl 5.28 under strace: + +setgroups(1, [2]) = 0 +setresgid(-1, 2, -1) = 0 + +Result from perl 5.30 under strace: + +setgroups(1, [-1]) = -1 EINVAL (Invalid argument) +setresgid(-1, 2, -1) = 0 + +Patch which broke this upstream: +https://perl5.git.perl.org/perl.git/commitdiff/5d4a52b5c68a11bfc97c2e24806993b84a61eade + +Issue is that the new function changes the endptr to the end of the +scanned number and needs to be reset to the end of the string for +each iteration of the loop. + +[YOCTO #13391] + +RP +2019/6/14 +Upstream-Status: Pending + +Index: perl-5.30.0/mg.c +=================================================================== +--- perl-5.30.0.orig/mg.c ++++ perl-5.30.0/mg.c +@@ -3179,6 +3256,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg) + const char *p = SvPV_const(sv, len); + Groups_t *gary = NULL; + const char* endptr = p + len; ++ const char* realend = p + len; + UV uv; + #ifdef _SC_NGROUPS_MAX + int maxgrp = sysconf(_SC_NGROUPS_MAX); +@@ -3209,6 +3287,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg) + Newx(gary, i + 1, Groups_t); + else + Renew(gary, i + 1, Groups_t); ++ endptr = realend; + if (grok_atoUV(p, &uv, &endptr)) + gary[i] = (Groups_t)uv; + else { diff --git a/poky/meta/recipes-devtools/perl/files/native-perlinc.patch b/poky/meta/recipes-devtools/perl/files/native-perlinc.patch new file mode 100644 index 000000000..a2e1aefd4 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/native-perlinc.patch @@ -0,0 +1,27 @@ +Upstream-Status:Inappropriate [embedded specific] +Signed-off-by: Alexander Kanavin + +Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm +=================================================================== +--- perl-5.12.3.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000 ++++ perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000 +@@ -1597,6 +1597,19 @@ + $self->{PERL_LIB} ||= $Config{privlibexp}; + $self->{PERL_ARCHLIB} ||= $Config{archlibexp}; + $self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now ++ # Check for environment override so we'll find the headers in the correct place ++ if (defined $ENV{PERL_LIB}) ++ { ++ $self->{PERL_LIB} = $ENV{PERL_LIB}; ++ } ++ if (defined $ENV{PERL_ARCHLIB}) ++ { ++ $self->{PERL_ARCHLIB} = $ENV{PERL_ARCHLIB}; ++ } ++ if (defined $ENV{PERL_INC}) ++ { ++ $self->{PERL_INC} = $ENV{PERL_INC}; ++ } + my $perl_h; + + if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h")) diff --git a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch new file mode 100644 index 000000000..3c2cecb8c --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch @@ -0,0 +1,57 @@ +From 7f313cac31c55cbe62a4d0cdfa8321cc05a8eb3a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sun, 27 May 2007 21:04:11 +0000 +Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE) + +This patch is used for perl-native only. It enables the switching of +configuration files between Config_heavy.pl and +Config_heavy-target.pl by setting the environment variables +PERLCONFIGTARGET - the later containing settings for the target while +the former contains those for the host. This will allow cpan.bbclass +to use the settings appropriate for the native and/or target builds +as required. This also disables the use of the cache since the cached +values would be valid for the host only. + +Upstream-Status: Inappropriate [native] +Signed-off-by: Alexander Kanavin + +--- + configpm | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git a/configpm b/configpm +index 09c4a3b..6a0a680 100755 +--- a/configpm ++++ b/configpm +@@ -687,7 +687,7 @@ sub FETCH { + my($self, $key) = @_; + + # check for cached value (which may be undef so we use exists not defined) +- return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key); ++ return $self->fetch_string($key); + } + + ENDOFEND +@@ -845,7 +845,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fast_config; + sub DESTROY { } + + sub AUTOLOAD { +- require 'Config_heavy.pl'; ++ my $cfgfile = 'Config_heavy.pl'; ++ if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes") ++ { ++ $cfgfile = 'Config_heavy-target.pl'; ++ } ++ if (defined $ENV{PERL_ARCHLIB}) ++ { ++ push @INC, $ENV{PERL_ARCHLIB}; ++ require $cfgfile; ++ pop @INC; ++ } ++ else ++ { ++ require $cfgfile; ++ } + goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/; + die "&Config::AUTOLOAD failed on $Config::AUTOLOAD"; + } diff --git a/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch b/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch new file mode 100644 index 000000000..6bb832a42 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch @@ -0,0 +1,38 @@ +Upstream-Status:Inappropriate [embedded specific] + +Allow the location that .so files are searched for for dynamic +loading to be changed via an environment variable. This is to allow +us to load .so's from the host system while building for the target +system. + +Update by Nitin A Kamble 2011/04/21 + +Index: perl-5.24.1/dist/XSLoader/XSLoader_pm.PL +=================================================================== +--- perl-5.24.1.orig/dist/XSLoader/XSLoader_pm.PL ++++ perl-5.24.1/dist/XSLoader/XSLoader_pm.PL +@@ -52,6 +52,24 @@ sub load { + my ($caller, $modlibname) = caller(); + my $module = $caller; + ++ # OE: Allow env to form dynamic loader to look in a different place ++ # This is so it finds the host .so files, not the targets ++ if (defined $ENV{PERLHOSTLIB}) ++ { ++ my $hostlib = $ENV{PERLHOSTLIB}; ++ my $hostarchlib = $ENV{PERLHOSTARCHLIB}; ++ print STDERR "*** Module name IN: $modlibname\n"; ++ ($p1, $p2, $p3, $p4, $p5, $p6, $p7) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl5\/[0-9\.]*\/)?)(([^\/]*)\/)?(.*)$/; ++ print STDERR "*** p1: $p1 p3: $p3 p5: $p5 p7: $p7\n"; ++ if ( $p1 ne "" ) { ++ $modlibname = $hostlib.$p7; ++ } ++ if ( $p6 ne "" ) { ++ $modlibname = $hostarchlib.$p7; ++ } ++ print STDERR "*** Module name OUT: $modlibname\n"; ++ } ++ + if (@_) { + $module = $_[0]; + } else { diff --git a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt new file mode 100644 index 000000000..8d3e513ec --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt @@ -0,0 +1,4419 @@ +RDEPENDS_perl-module-anydbm-file += "perl-module-strict" +RDEPENDS_perl-module-anydbm-file += "perl-module-warnings" +RDEPENDS_perl-module-app-cpan += "perl-module-config" +RDEPENDS_perl-module-app-cpan += "perl-module-constant" +RDEPENDS_perl-module-app-cpan += "perl-module-cpan" +RDEPENDS_perl-module-app-cpan += "perl-module-cwd" +RDEPENDS_perl-module-app-cpan += "perl-module-data-dumper" +RDEPENDS_perl-module-app-cpan += "perl-module-file-basename" +RDEPENDS_perl-module-app-cpan += "perl-module-file-find" +RDEPENDS_perl-module-app-cpan += "perl-module-getopt-std" +RDEPENDS_perl-module-app-cpan += "perl-module-if" +RDEPENDS_perl-module-app-cpan += "perl-module-net-ping" +RDEPENDS_perl-module-app-cpan += "perl-module-strict" +RDEPENDS_perl-module-app-cpan += "perl-module-user-pwent" +RDEPENDS_perl-module-app-cpan += "perl-module-vars" +RDEPENDS_perl-module-app-cpan += "perl-module-warnings" +RDEPENDS_perl-module-app-prove += "perl-module-app-prove-state" +RDEPENDS_perl-module-app-prove += "perl-module-base" +RDEPENDS_perl-module-app-prove += "perl-module-constant" +RDEPENDS_perl-module-app-prove += "perl-module-getopt-long" +RDEPENDS_perl-module-app-prove += "perl-module-strict" +RDEPENDS_perl-module-app-prove += "perl-module-tap-harness" +RDEPENDS_perl-module-app-prove += "perl-module-tap-harness-env" +RDEPENDS_perl-module-app-prove += "perl-module-text-parsewords" +RDEPENDS_perl-module-app-prove += "perl-module-warnings" +RDEPENDS_perl-module-app-prove-state += "perl-module-app-prove-state-result" +RDEPENDS_perl-module-app-prove-state += "perl-module-base" +RDEPENDS_perl-module-app-prove-state += "perl-module-constant" +RDEPENDS_perl-module-app-prove-state += "perl-module-file-find" +RDEPENDS_perl-module-app-prove-state += "perl-module-strict" +RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-reader" +RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-writer" +RDEPENDS_perl-module-app-prove-state += "perl-module-warnings" +RDEPENDS_perl-module-app-prove-state-result += "perl-module-app-prove-state-result-test" +RDEPENDS_perl-module-app-prove-state-result += "perl-module-constant" +RDEPENDS_perl-module-app-prove-state-result += "perl-module-strict" +RDEPENDS_perl-module-app-prove-state-result += "perl-module-warnings" +RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-strict" +RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-warnings" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-constant" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-exporter" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-io-compress-bzip2" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-strict" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-time-local" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-warnings" +RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar" +RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar-constant" +RDEPENDS_perl-module-archive-tar-file += "perl-module-file-basename" +RDEPENDS_perl-module-archive-tar-file += "perl-module-io-file" +RDEPENDS_perl-module-archive-tar-file += "perl-module-strict" +RDEPENDS_perl-module-archive-tar-file += "perl-module-vars" +RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-constant" +RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-file" +RDEPENDS_perl-module-archive-tar += "perl-module-config" +RDEPENDS_perl-module-archive-tar += "perl-module-cwd" +RDEPENDS_perl-module-archive-tar += "perl-module-exporter" +RDEPENDS_perl-module-archive-tar += "perl-module-file-path" +RDEPENDS_perl-module-archive-tar += "perl-module-io-file" +RDEPENDS_perl-module-archive-tar += "perl-module-io-zlib" +RDEPENDS_perl-module-archive-tar += "perl-module-strict" +RDEPENDS_perl-module-archive-tar += "perl-module-vars" +RDEPENDS_perl-module-arybase += "perl-module-xsloader" +RDEPENDS_perl-module-attribute-handlers += "perl-module-strict" +RDEPENDS_perl-module-attribute-handlers += "perl-module-warnings" +RDEPENDS_perl-module-attributes += "perl-module-exporter" +RDEPENDS_perl-module-attributes += "perl-module-strict" +RDEPENDS_perl-module-attributes += "perl-module-warnings" +RDEPENDS_perl-module-attributes += "perl-module-xsloader" +RDEPENDS_perl-module-autodie-exception += "perl-module-constant" +RDEPENDS_perl-module-autodie-exception += "perl-module-fatal" +RDEPENDS_perl-module-autodie-exception += "perl-module-fcntl" +RDEPENDS_perl-module-autodie-exception += "perl-module-overload" +RDEPENDS_perl-module-autodie-exception += "perl-module-strict" +RDEPENDS_perl-module-autodie-exception += "perl-module-warnings" +RDEPENDS_perl-module-autodie-exception-system += "perl-module-parent" +RDEPENDS_perl-module-autodie-exception-system += "perl-module-strict" +RDEPENDS_perl-module-autodie-exception-system += "perl-module-warnings" +RDEPENDS_perl-module-autodie-hints += "perl-module-b" +RDEPENDS_perl-module-autodie-hints += "perl-module-constant" +RDEPENDS_perl-module-autodie-hints += "perl-module-strict" +RDEPENDS_perl-module-autodie-hints += "perl-module-warnings" +RDEPENDS_perl-module-autodie += "perl-module-constant" +RDEPENDS_perl-module-autodie += "perl-module-lib" +RDEPENDS_perl-module-autodie += "perl-module-parent" +RDEPENDS_perl-module-autodie += "perl-module-strict" +RDEPENDS_perl-module-autodie += "perl-module-warnings" +RDEPENDS_perl-module-autodie-scope-guard += "perl-module-strict" +RDEPENDS_perl-module-autodie-scope-guard += "perl-module-warnings" +RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-autodie-scope-guard" +RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-strict" +RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-warnings" +RDEPENDS_perl-module-autodie-skip += "perl-module-strict" +RDEPENDS_perl-module-autodie-skip += "perl-module-warnings" +RDEPENDS_perl-module-autodie-util += "perl-module-autodie-scope-guardstack" +RDEPENDS_perl-module-autodie-util += "perl-module-exporter" +RDEPENDS_perl-module-autodie-util += "perl-module-strict" +RDEPENDS_perl-module-autodie-util += "perl-module-warnings" +RDEPENDS_perl-module-autoloader += "perl-module-strict" +RDEPENDS_perl-module-autosplit += "perl-module-config" +RDEPENDS_perl-module-autosplit += "perl-module-exporter" +RDEPENDS_perl-module-autosplit += "perl-module-file-basename" +RDEPENDS_perl-module-autosplit += "perl-module-file-path" +RDEPENDS_perl-module-autosplit += "perl-module-strict" +RDEPENDS_perl-module-base += "perl-module-strict" +RDEPENDS_perl-module-b-concise += "perl-module-b" +RDEPENDS_perl-module-b-concise += "perl-module-b-op-private" +RDEPENDS_perl-module-b-concise += "perl-module-config" +RDEPENDS_perl-module-b-concise += "perl-module-exporter" +RDEPENDS_perl-module-b-concise += "perl-module-feature" +RDEPENDS_perl-module-b-concise += "perl-module-strict" +RDEPENDS_perl-module-b-concise += "perl-module-warnings" +RDEPENDS_perl-module-b-debug += "perl-module-b" +RDEPENDS_perl-module-b-debug += "perl-module-config" +RDEPENDS_perl-module-b-debug += "perl-module-strict" +RDEPENDS_perl-module-benchmark += "perl-module-exporter" +RDEPENDS_perl-module-benchmark += "perl-module-strict" +RDEPENDS_perl-module-bigint += "perl-module-constant" +RDEPENDS_perl-module-bigint += "perl-module-exporter" +RDEPENDS_perl-module-bigint += "perl-module-math-bigint" +RDEPENDS_perl-module-bigint += "perl-module-math-bigint-trace" +RDEPENDS_perl-module-bigint += "perl-module-overload" +RDEPENDS_perl-module-bigint += "perl-module-strict" +RDEPENDS_perl-module-bigint += "perl-module-warnings" +RDEPENDS_perl-module-bignum += "perl-module-bigint" +RDEPENDS_perl-module-bignum += "perl-module-exporter" +RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat" +RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat-trace" +RDEPENDS_perl-module-bignum += "perl-module-math-bigint" +RDEPENDS_perl-module-bignum += "perl-module-math-bigint-trace" +RDEPENDS_perl-module-bignum += "perl-module-overload" +RDEPENDS_perl-module-bignum += "perl-module-strict" +RDEPENDS_perl-module-bignum += "perl-module-warnings" +RDEPENDS_perl-module-bigrat += "perl-module-bigint" +RDEPENDS_perl-module-bigrat += "perl-module-exporter" +RDEPENDS_perl-module-bigrat += "perl-module-math-bigfloat" +RDEPENDS_perl-module-bigrat += "perl-module-math-bigint" +RDEPENDS_perl-module-bigrat += "perl-module-math-bigint-trace" +RDEPENDS_perl-module-bigrat += "perl-module-math-bigrat" +RDEPENDS_perl-module-bigrat += "perl-module-overload" +RDEPENDS_perl-module-bigrat += "perl-module-strict" +RDEPENDS_perl-module-bigrat += "perl-module-warnings" +RDEPENDS_perl-module-blib += "perl-module-cwd" +RDEPENDS_perl-module-b += "perl-module-exporter" +RDEPENDS_perl-module-b += "perl-module-xsloader" +RDEPENDS_perl-module-b-showlex += "perl-module-b" +RDEPENDS_perl-module-b-showlex += "perl-module-b-concise" +RDEPENDS_perl-module-b-showlex += "perl-module-b-terse" +RDEPENDS_perl-module-b-showlex += "perl-module-strict" +RDEPENDS_perl-module-b-terse += "perl-module-b" +RDEPENDS_perl-module-b-terse += "perl-module-b-concise" +RDEPENDS_perl-module-b-terse += "perl-module-strict" +RDEPENDS_perl-module-b-xref += "perl-module-b" +RDEPENDS_perl-module-b-xref += "perl-module-config" +RDEPENDS_perl-module-b-xref += "perl-module-strict" +RDEPENDS_perl-module-bytes += "perl-module-bytes-heavy" +RDEPENDS_perl-module-carp += "perl-module-exporter" +RDEPENDS_perl-module-carp += "perl-module-strict" +RDEPENDS_perl-module-carp += "perl-module-warnings" +RDEPENDS_perl-module--charnames += "perl-module-bytes" +RDEPENDS_perl-module-charnames += "perl-module-bytes" +RDEPENDS_perl-module-charnames += "perl-module--charnames" +RDEPENDS_perl-module--charnames += "perl-module-re" +RDEPENDS_perl-module-charnames += "perl-module-re" +RDEPENDS_perl-module--charnames += "perl-module-strict" +RDEPENDS_perl-module-charnames += "perl-module-strict" +RDEPENDS_perl-module--charnames += "perl-module-warnings" +RDEPENDS_perl-module-charnames += "perl-module-warnings" +RDEPENDS_perl-module-class-struct += "perl-module-exporter" +RDEPENDS_perl-module-class-struct += "perl-module-strict" +RDEPENDS_perl-module-class-struct += "perl-module-warnings-register" +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-bytes " +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-constant" +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-dynaloader" +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-exporter" +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-strict " +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-warnings " +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-xsloader" +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-bytes " +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-constant" +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-dynaloader" +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter" +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-strict " +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-warnings " +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-xsloader" +RDEPENDS_perl-module-compress-zlib += "perl-module-bytes " +RDEPENDS_perl-module-compress-zlib += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-compress-zlib += "perl-module-constant" +RDEPENDS_perl-module-compress-zlib += "perl-module-exporter" +RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip" +RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip-constants" +RDEPENDS_perl-module-compress-zlib += "perl-module-io-handle " +RDEPENDS_perl-module-compress-zlib += "perl-module-io-uncompress-gunzip" +RDEPENDS_perl-module-compress-zlib += "perl-module-strict " +RDEPENDS_perl-module-compress-zlib += "perl-module-warnings " +RDEPENDS_perl-module-config-extensions += "perl-module-config" +RDEPENDS_perl-module-config-extensions += "perl-module-exporter" +RDEPENDS_perl-module-config-extensions += "perl-module-strict" +RDEPENDS_perl-module-config += "perl-module-strict" +RDEPENDS_perl-module-config += "perl-module-warnings" +RDEPENDS_perl-module-config-perl-v += "perl-module-config" +RDEPENDS_perl-module-config-perl-v += "perl-module-exporter" +RDEPENDS_perl-module-config-perl-v += "perl-module-strict" +RDEPENDS_perl-module-config-perl-v += "perl-module-vars" +RDEPENDS_perl-module-config-perl-v += "perl-module-warnings" +RDEPENDS_perl-module-constant += "perl-module-strict" +RDEPENDS_perl-module-constant += "perl-module-warnings-register" +RDEPENDS_perl-module-corelist += "perl-module-list-util" +RDEPENDS_perl-module-corelist += "perl-module-corelist" +RDEPENDS_perl-module-corelist += "perl-module-strict" +RDEPENDS_perl-module-corelist += "perl-module-version" +RDEPENDS_perl-module-corelist += "perl-module-warnings" +RDEPENDS_perl-module-cpan += "perl-module-b" +RDEPENDS_perl-module-cpan += "perl-module-config" +RDEPENDS_perl-module-cpan += "perl-module-cwd" +RDEPENDS_perl-module-cpan += "perl-module-data-dumper" +RDEPENDS_perl-module-cpan += "perl-module-dirhandle" +RDEPENDS_perl-module-cpan += "perl-module-errno" +RDEPENDS_perl-module-cpan += "perl-module-exporter" +RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-cpan += "perl-module-extutils-manifest" +RDEPENDS_perl-module-cpan += "perl-module-fcntl" +RDEPENDS_perl-module-cpan += "perl-module-file-basename" +RDEPENDS_perl-module-cpan += "perl-module-file-copy" +RDEPENDS_perl-module-cpan += "perl-module-file-find" +RDEPENDS_perl-module-cpan += "perl-module-filehandle" +RDEPENDS_perl-module-cpan += "perl-module-file-path" +RDEPENDS_perl-module-cpan += "perl-module-lib" +RDEPENDS_perl-module-cpan += "perl-module-net-ping" +RDEPENDS_perl-module-cpan += "perl-module-overload" +RDEPENDS_perl-module-cpan += "perl-module-posix" +RDEPENDS_perl-module-cpan += "perl-module-safe" +RDEPENDS_perl-module-cpan += "perl-module-strict" +RDEPENDS_perl-module-cpan += "perl-module-sys-hostname" +RDEPENDS_perl-module-cpan += "perl-module-term-readline" +RDEPENDS_perl-module-cpan += "perl-module-text-parsewords" +RDEPENDS_perl-module-cpan += "perl-module-text-wrap" +RDEPENDS_perl-module-cpan += "perl-module-time-local" +RDEPENDS_perl-module-cpan += "perl-module-vars" +RDEPENDS_perl-module-cpan += "perl-module-warnings" +RDEPENDS_perl-module-cwd += "perl-module-errno" +RDEPENDS_perl-module-cwd += "perl-module-exporter" +RDEPENDS_perl-module-cwd += "perl-module-strict" +RDEPENDS_perl-module-cwd += "perl-module-xsloader" +RDEPENDS_perl-module-data-dumper += "perl-module-bytes" +RDEPENDS_perl-module-data-dumper += "perl-module-config" +RDEPENDS_perl-module-data-dumper += "perl-module-constant" +RDEPENDS_perl-module-data-dumper += "perl-module-exporter" +RDEPENDS_perl-module-data-dumper += "perl-module-xsloader" +RDEPENDS_perl-module-dbm-filter-compress += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter-compress += "perl-module-warnings" +RDEPENDS_perl-module-dbm-filter-encode += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter-encode += "perl-module-warnings" +RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-warnings" +RDEPENDS_perl-module-dbm-filter-null += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter-null += "perl-module-warnings" +RDEPENDS_perl-module-dbm-filter += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter += "perl-module-warnings" +RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-warnings" +RDEPENDS_perl-module-db += "perl-module-strict" +RDEPENDS_perl-module-deprecate += "perl-module-strict" +RDEPENDS_perl-module-deprecate += "perl-module-warnings" +RDEPENDS_perl-module-devel-peek += "perl-module-exporter" +RDEPENDS_perl-module-devel-peek += "perl-module-xsloader" +RDEPENDS_perl-module-devel-ppport += "perl-module-file-find" +RDEPENDS_perl-module-devel-ppport += "perl-module-getopt-long" +RDEPENDS_perl-module-devel-ppport += "perl-module-strict" +RDEPENDS_perl-module-devel-ppport += "perl-module-vars" +RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader" +RDEPENDS_perl-module-diagnostics += "perl-module-config" +RDEPENDS_perl-module-diagnostics += "perl-module-getopt-std" +RDEPENDS_perl-module-diagnostics += "perl-module-strict" +RDEPENDS_perl-module-diagnostics += "perl-module-text-tabs" +RDEPENDS_perl-module-digest-base += "perl-module-mime-base64" +RDEPENDS_perl-module-digest-base += "perl-module-strict" +RDEPENDS_perl-module-digest-base += "perl-module-vars" +RDEPENDS_perl-module-digest-file += "perl-module-digest" +RDEPENDS_perl-module-digest-file += "perl-module-exporter" +RDEPENDS_perl-module-digest-file += "perl-module-strict" +RDEPENDS_perl-module-digest-file += "perl-module-vars" +RDEPENDS_perl-module-digest-md5 += "perl-module-digest-base" +RDEPENDS_perl-module-digest-md5 += "perl-module-exporter" +RDEPENDS_perl-module-digest-md5 += "perl-module-strict" +RDEPENDS_perl-module-digest-md5 += "perl-module-vars" +RDEPENDS_perl-module-digest-md5 += "perl-module-xsloader" +RDEPENDS_perl-module-digest += "perl-module-strict" +RDEPENDS_perl-module-digest += "perl-module-vars" +RDEPENDS_perl-module-digest-sha += "perl-module-digest-base" +RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader" +RDEPENDS_perl-module-digest-sha += "perl-module-exporter" +RDEPENDS_perl-module-digest-sha += "perl-module-fcntl" +RDEPENDS_perl-module-digest-sha += "perl-module-integer" +RDEPENDS_perl-module-digest-sha += "perl-module-strict" +RDEPENDS_perl-module-digest-sha += "perl-module-vars" +RDEPENDS_perl-module-digest-sha += "perl-module-warnings" +RDEPENDS_perl-module-digest-sha += "perl-module-xsloader" +RDEPENDS_perl-module-dynaloader += "perl-module-config" +RDEPENDS_perl-module-encode-alias += "perl-module-constant" +RDEPENDS_perl-module-encode-alias += "perl-module-encode" +RDEPENDS_perl-module-encode-alias += "perl-module-exporter" +RDEPENDS_perl-module-encode-alias += "perl-module-strict" +RDEPENDS_perl-module-encode-alias += "perl-module-warnings" +RDEPENDS_perl-module-encode-byte += "perl-module-encode" +RDEPENDS_perl-module-encode-byte += "perl-module-strict" +RDEPENDS_perl-module-encode-byte += "perl-module-warnings" +RDEPENDS_perl-module-encode-byte += "perl-module-xsloader" +RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter" +RDEPENDS_perl-module-encode-cjkconstants += "perl-module-strict" +RDEPENDS_perl-module-encode-cjkconstants += "perl-module-warnings" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-encode" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-parent" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-strict" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-utf8" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-vars" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-warnings" +RDEPENDS_perl-module-encode-cn += "perl-module-encode" +RDEPENDS_perl-module-encode-cn += "perl-module-encode-cn-hz" +RDEPENDS_perl-module-encode-cn += "perl-module-strict" +RDEPENDS_perl-module-encode-cn += "perl-module-warnings" +RDEPENDS_perl-module-encode-cn += "perl-module-xsloader" +RDEPENDS_perl-module-encode-config += "perl-module-strict" +RDEPENDS_perl-module-encode-config += "perl-module-warnings" +RDEPENDS_perl-module-encode-ebcdic += "perl-module-encode" +RDEPENDS_perl-module-encode-ebcdic += "perl-module-strict" +RDEPENDS_perl-module-encode-ebcdic += "perl-module-warnings" +RDEPENDS_perl-module-encode-ebcdic += "perl-module-xsloader" +RDEPENDS_perl-module-encode-encoder += "perl-module-constant" +RDEPENDS_perl-module-encode-encoder += "perl-module-encode" +RDEPENDS_perl-module-encode-encoder += "perl-module-exporter" +RDEPENDS_perl-module-encode-encoder += "perl-module-overload" +RDEPENDS_perl-module-encode-encoder += "perl-module-strict" +RDEPENDS_perl-module-encode-encoder += "perl-module-warnings" +RDEPENDS_perl-module-encode-encoding += "perl-module-constant" +RDEPENDS_perl-module-encode-encoding += "perl-module-encode" +RDEPENDS_perl-module-encode-encoding += "perl-module-encode-mime-name" +RDEPENDS_perl-module-encode-encoding += "perl-module-strict" +RDEPENDS_perl-module-encode-encoding += "perl-module-warnings" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-encode" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-parent" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-strict" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-utf8" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-vars" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-warnings" +RDEPENDS_perl-module-encode-guess += "perl-module-bytes" +RDEPENDS_perl-module-encode-guess += "perl-module-constant" +RDEPENDS_perl-module-encode-guess += "perl-module-encode" +RDEPENDS_perl-module-encode-guess += "perl-module-encode-unicode" +RDEPENDS_perl-module-encode-guess += "perl-module-parent" +RDEPENDS_perl-module-encode-guess += "perl-module-strict" +RDEPENDS_perl-module-encode-guess += "perl-module-warnings" +RDEPENDS_perl-module-encode-jp-h2z += "perl-module-encode-cjkconstants" +RDEPENDS_perl-module-encode-jp-h2z += "perl-module-strict" +RDEPENDS_perl-module-encode-jp-h2z += "perl-module-vars" +RDEPENDS_perl-module-encode-jp-h2z += "perl-module-warnings" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-bytes" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-cjkconstants" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-jp-h2z" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-parent" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-strict" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-warnings" +RDEPENDS_perl-module-encode-jp += "perl-module-encode" +RDEPENDS_perl-module-encode-jp += "perl-module-encode-jp-jis7" +RDEPENDS_perl-module-encode-jp += "perl-module-strict" +RDEPENDS_perl-module-encode-jp += "perl-module-warnings" +RDEPENDS_perl-module-encode-jp += "perl-module-xsloader" +RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode" +RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode-cjkconstants" +RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-parent" +RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-strict" +RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-warnings" +RDEPENDS_perl-module-encode-kr += "perl-module-encode" +RDEPENDS_perl-module-encode-kr += "perl-module-encode-kr-2022-kr" +RDEPENDS_perl-module-encode-kr += "perl-module-strict" +RDEPENDS_perl-module-encode-kr += "perl-module-warnings" +RDEPENDS_perl-module-encode-kr += "perl-module-xsloader" +RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-constant" +RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-encode-cjkconstants" +RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-parent" +RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-strict" +RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-warnings" +RDEPENDS_perl-module-encode-mime-header += "perl-module-encode" +RDEPENDS_perl-module-encode-mime-header += "perl-module-mime-base64" +RDEPENDS_perl-module-encode-mime-header += "perl-module-parent" +RDEPENDS_perl-module-encode-mime-header += "perl-module-strict" +RDEPENDS_perl-module-encode-mime-header += "perl-module-warnings" +RDEPENDS_perl-module-encode-mime-name += "perl-module-strict" +RDEPENDS_perl-module-encode-mime-name += "perl-module-warnings" +RDEPENDS_perl-module-encode += "perl-module-bytes" +RDEPENDS_perl-module-encode += "perl-module-constant" +RDEPENDS_perl-module-encode += "perl-module-encode-alias" +RDEPENDS_perl-module-encode += "perl-module-encode-config" +RDEPENDS_perl-module-encode += "perl-module-encode-configlocal-pm" +RDEPENDS_perl-module-encode += "perl-module-encode-mime-name" +RDEPENDS_perl-module-encode += "perl-module-exporter" +RDEPENDS_perl-module-encode += "perl-module-parent" +RDEPENDS_perl-module-encode += "perl-module-storable" +RDEPENDS_perl-module-encode += "perl-module-strict" +RDEPENDS_perl-module-encode += "perl-module-warnings" +RDEPENDS_perl-module-encode += "perl-module-xsloader" +RDEPENDS_perl-module-encode-symbol += "perl-module-encode" +RDEPENDS_perl-module-encode-symbol += "perl-module-strict" +RDEPENDS_perl-module-encode-symbol += "perl-module-warnings" +RDEPENDS_perl-module-encode-symbol += "perl-module-xsloader" +RDEPENDS_perl-module-encode-tw += "perl-module-encode" +RDEPENDS_perl-module-encode-tw += "perl-module-strict" +RDEPENDS_perl-module-encode-tw += "perl-module-warnings" +RDEPENDS_perl-module-encode-tw += "perl-module-xsloader" +RDEPENDS_perl-module-encode-unicode += "perl-module-encode" +RDEPENDS_perl-module-encode-unicode += "perl-module-parent" +RDEPENDS_perl-module-encode-unicode += "perl-module-strict" +RDEPENDS_perl-module-encode-unicode += "perl-module-warnings" +RDEPENDS_perl-module-encode-unicode += "perl-module-xsloader" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-encode" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-mime-base64" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-parent" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-re" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-strict" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-warnings" +RDEPENDS_perl-module-encoding += "perl-module-config" +RDEPENDS_perl-module-encoding += "perl-module-constant" +RDEPENDS_perl-module-encoding += "perl-module-encode" +RDEPENDS_perl-module-encoding += "perl-module-filter-util-call" +RDEPENDS_perl-module-encoding += "perl-module-i18n-langinfo" +RDEPENDS_perl-module-encoding += "perl-module-posix" +RDEPENDS_perl-module-encoding += "perl-module-strict" +RDEPENDS_perl-module-encoding += "perl-module-utf8" +RDEPENDS_perl-module-encoding += "perl-module-warnings" +RDEPENDS_perl-module-encoding-warnings += "perl-module-strict" +RDEPENDS_perl-module-encoding-warnings += "perl-module-warnings" +RDEPENDS_perl-module-english += "perl-module-exporter" +RDEPENDS_perl-module-env += "perl-module-config" +RDEPENDS_perl-module-env += "perl-module-tie-array" +RDEPENDS_perl-module-errno += "perl-module-exporter" +RDEPENDS_perl-module-errno += "perl-module-strict" +RDEPENDS_perl-module-experimental += "perl-module-strict" +RDEPENDS_perl-module-experimental += "perl-module-version" +RDEPENDS_perl-module-experimental += "perl-module-warnings" +RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter" +RDEPENDS_perl-module-exporter-heavy += "perl-module-strict" +RDEPENDS_perl-module-exporter += "perl-module-exporter-heavy" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-config" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-cwd" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-dynaloader" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-extutils-mksymlists" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-temp" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-ipc-cmd" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-text-parsewords" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-path" +RDEPENDS_perl-module-extutils-cbuilder += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-config" +RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-extutils-cbuilder-base" +RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-config" +RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-extutils-cbuilder-base" +RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-extutils-cbuilder-base" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-io-file" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-warnings" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-command" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-install" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-getopt-long" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-strict" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-test-harness" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-warnings" +RDEPENDS_perl-module-extutils-command += "perl-module-exporter" +RDEPENDS_perl-module-extutils-command += "perl-module-file-copy" +RDEPENDS_perl-module-extutils-command += "perl-module-file-find" +RDEPENDS_perl-module-extutils-command += "perl-module-file-path" +RDEPENDS_perl-module-extutils-command += "perl-module-strict" +RDEPENDS_perl-module-extutils-command += "perl-module-vars" +RDEPENDS_perl-module-extutils-constant-base += "perl-module-constant" +RDEPENDS_perl-module-extutils-constant-base += "perl-module-extutils-constant-utils" +RDEPENDS_perl-module-extutils-constant-base += "perl-module-strict" +RDEPENDS_perl-module-extutils-constant-base += "perl-module-text-wrap" +RDEPENDS_perl-module-extutils-constant-base += "perl-module-vars" +RDEPENDS_perl-module-extutils-constant += "perl-module-exporter" +RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-proxysubs" +RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-utils" +RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-xs" +RDEPENDS_perl-module-extutils-constant += "perl-module-filehandle" +RDEPENDS_perl-module-extutils-constant += "perl-module-strict" +RDEPENDS_perl-module-extutils-constant += "perl-module-vars" +RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-utils" +RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs" +RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-strict" +RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-vars" +RDEPENDS_perl-module-extutils-constant-utils += "perl-module-constant" +RDEPENDS_perl-module-extutils-constant-utils += "perl-module-posix" +RDEPENDS_perl-module-extutils-constant-utils += "perl-module-strict" +RDEPENDS_perl-module-extutils-constant-utils += "perl-module-vars" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-data-dumper" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-utils" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-strict" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-vars" +RDEPENDS_perl-module-extutils-embed += "perl-module-config" +RDEPENDS_perl-module-extutils-embed += "perl-module-exporter" +RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-liblist" +RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-embed += "perl-module-getopt-std" +RDEPENDS_perl-module-extutils-embed += "perl-module-strict" +RDEPENDS_perl-module-extutils-installed += "perl-module-config" +RDEPENDS_perl-module-extutils-installed += "perl-module-data-dumper" +RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-packlist" +RDEPENDS_perl-module-extutils-installed += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-installed += "perl-module-file-find" +RDEPENDS_perl-module-extutils-installed += "perl-module-strict" +RDEPENDS_perl-module-extutils-installed += "perl-module-vars" +RDEPENDS_perl-module-extutils-install += "perl-module-autosplit" +RDEPENDS_perl-module-extutils-install += "perl-module-config" +RDEPENDS_perl-module-extutils-install += "perl-module-cwd" +RDEPENDS_perl-module-extutils-install += "perl-module-exporter" +RDEPENDS_perl-module-extutils-install += "perl-module-extutils-packlist" +RDEPENDS_perl-module-extutils-install += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-install += "perl-module-file-compare" +RDEPENDS_perl-module-extutils-install += "perl-module-file-copy" +RDEPENDS_perl-module-extutils-install += "perl-module-file-find" +RDEPENDS_perl-module-extutils-install += "perl-module-file-path" +RDEPENDS_perl-module-extutils-install += "perl-module-strict" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-cwd" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-strict" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-text-parsewords" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-warnings" +RDEPENDS_perl-module-extutils-liblist += "perl-module-extutils-liblist-kid" +RDEPENDS_perl-module-extutils-liblist += "perl-module-strict" +RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-config" +RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-strict" +RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-base" +RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode" +RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode-alias" +RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-i18n-langinfo" +RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-strict" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-b" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-cpan" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-cwd" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-exporter" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-version" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-manifest" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-version" +RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-strict" +RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-vars" +RDEPENDS_perl-module-extutils-manifest += "perl-module-config" +RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter" +RDEPENDS_perl-module-extutils-manifest += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-manifest += "perl-module-file-copy" +RDEPENDS_perl-module-extutils-manifest += "perl-module-file-find" +RDEPENDS_perl-module-extutils-manifest += "perl-module-file-path" +RDEPENDS_perl-module-extutils-manifest += "perl-module-strict" +RDEPENDS_perl-module-extutils-manifest += "perl-module-warnings" +RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter" +RDEPENDS_perl-module-extutils-miniperl += "perl-module-extutils-embed" +RDEPENDS_perl-module-extutils-miniperl += "perl-module-strict" +RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-config" +RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-dynaloader" +RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter" +RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-strict" +RDEPENDS_perl-module-extutils-mksymlists += "perl-module-config" +RDEPENDS_perl-module-extutils-mksymlists += "perl-module-exporter" +RDEPENDS_perl-module-extutils-mksymlists += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-aix += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-autosplit" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-cpan" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-data-dumper" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-find" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-version" +RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-beos += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-win32" +RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-dos += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-macos += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32" +RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist" +RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-cwd" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-encode" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-liblist" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-find" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-vars" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-version" +RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-exporter" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-liblist-kid" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-find" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-vos += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-vos += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32" +RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-strict" +RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm" +RDEPENDS_perl-module-extutils-my += "perl-module-strict" +RDEPENDS_perl-module-extutils-packlist += "perl-module-config" +RDEPENDS_perl-module-extutils-packlist += "perl-module-cwd" +RDEPENDS_perl-module-extutils-packlist += "perl-module-strict" +RDEPENDS_perl-module-extutils-packlist += "perl-module-vars" +RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-strict" +RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-warnings" +RDEPENDS_perl-module-extutils-parsexs-countlines += "perl-module-strict" +RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-strict" +RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-warnings" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-config" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-cwd" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-constants" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-countlines" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-eval" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-utilities" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-re" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-strict" +RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-exporter" +RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-parsexs-constants" +RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-typemaps" +RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-strict" +RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-warnings" +RDEPENDS_perl-module-extutils-testlib += "perl-module-cwd" +RDEPENDS_perl-module-extutils-testlib += "perl-module-lib" +RDEPENDS_perl-module-extutils-testlib += "perl-module-strict" +RDEPENDS_perl-module-extutils-testlib += "perl-module-warnings" +RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-exporter" +RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-extutils-typemaps" +RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-strict" +RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-warnings" +RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-strict" +RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-warnings" +RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-re" +RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-strict" +RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-warnings" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs-constants" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-inputmap" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-outputmap" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-type" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-strict" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-warnings" +RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-extutils-typemaps" +RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-strict" +RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-warnings" +RDEPENDS_perl-module-fatal += "perl-module-autodie" +RDEPENDS_perl-module-fatal += "perl-module-autodie-exception-system" +RDEPENDS_perl-module-fatal += "perl-module-autodie-hints" +RDEPENDS_perl-module-fatal += "perl-module-autodie-util" +RDEPENDS_perl-module-fatal += "perl-module-config" +RDEPENDS_perl-module-fatal += "perl-module-constant" +RDEPENDS_perl-module-fatal += "perl-module-fcntl" +RDEPENDS_perl-module-fatal += "perl-module-posix" +RDEPENDS_perl-module-fatal += "perl-module-strict" +RDEPENDS_perl-module-fatal += "perl-module-tie-refhash" +RDEPENDS_perl-module-fatal += "perl-module-warnings" +RDEPENDS_perl-module-fcntl += "perl-module-exporter" +RDEPENDS_perl-module-fcntl += "perl-module-strict" +RDEPENDS_perl-module-fcntl += "perl-module-xsloader" +RDEPENDS_perl-module-fields += "perl-module-base" +RDEPENDS_perl-module-fields += "perl-module-hash-util" +RDEPENDS_perl-module-fields += "perl-module-strict" +RDEPENDS_perl-module-file-basename += "perl-module-exporter" +RDEPENDS_perl-module-file-basename += "perl-module-re" +RDEPENDS_perl-module-file-basename += "perl-module-strict" +RDEPENDS_perl-module-file-basename += "perl-module-warnings" +RDEPENDS_perl-module-filecache += "perl-module-parent" +RDEPENDS_perl-module-filecache += "perl-module-strict" +RDEPENDS_perl-module-file-compare += "perl-module-exporter" +RDEPENDS_perl-module-file-compare += "perl-module-strict" +RDEPENDS_perl-module-file-compare += "perl-module-warnings" +RDEPENDS_perl-module-file-copy += "perl-module-config" +RDEPENDS_perl-module-file-copy += "perl-module-exporter" +RDEPENDS_perl-module-file-copy += "perl-module-file-basename" +RDEPENDS_perl-module-file-copy += "perl-module-strict" +RDEPENDS_perl-module-file-copy += "perl-module-warnings" +RDEPENDS_perl-module-file-dosglob += "perl-module-strict" +RDEPENDS_perl-module-file-dosglob += "perl-module-text-parsewords" +RDEPENDS_perl-module-file-dosglob += "perl-module-warnings" +RDEPENDS_perl-module-file-dosglob += "perl-module-xsloader" +RDEPENDS_perl-module-file-fetch += "perl-module-constant" +RDEPENDS_perl-module-file-fetch += "perl-module-cwd" +RDEPENDS_perl-module-file-fetch += "perl-module-file-basename" +RDEPENDS_perl-module-file-fetch += "perl-module-file-copy" +RDEPENDS_perl-module-file-fetch += "perl-module-filehandle" +RDEPENDS_perl-module-file-fetch += "perl-module-file-path" +RDEPENDS_perl-module-file-fetch += "perl-module-file-temp" +RDEPENDS_perl-module-file-fetch += "perl-module-ipc-cmd" +RDEPENDS_perl-module-file-fetch += "perl-module-locale-maketext-simple" +RDEPENDS_perl-module-file-fetch += "perl-module-load" +RDEPENDS_perl-module-file-fetch += "perl-module-params-check" +RDEPENDS_perl-module-file-fetch += "perl-module-strict" +RDEPENDS_perl-module-file-fetch += "perl-module-vars" +RDEPENDS_perl-module-file-find += "perl-module-config" +RDEPENDS_perl-module-file-find += "perl-module-cwd" +RDEPENDS_perl-module-file-find += "perl-module-exporter" +RDEPENDS_perl-module-file-find += "perl-module-file-basename" +RDEPENDS_perl-module-file-find += "perl-module-strict" +RDEPENDS_perl-module-file-find += "perl-module-warnings" +RDEPENDS_perl-module-file-find += "perl-module-warnings-register" +RDEPENDS_perl-module-file-globmapper += "perl-module-file-glob" +RDEPENDS_perl-module-file-globmapper += "perl-module-strict" +RDEPENDS_perl-module-file-globmapper += "perl-module-warnings" +RDEPENDS_perl-module-file-glob += "perl-module-exporter" +RDEPENDS_perl-module-file-glob += "perl-module-strict" +RDEPENDS_perl-module-file-glob += "perl-module-warnings" +RDEPENDS_perl-module-file-glob += "perl-module-xsloader" +RDEPENDS_perl-module-filehandle += "perl-module-exporter" +RDEPENDS_perl-module-filehandle += "perl-module-fcntl" +RDEPENDS_perl-module-filehandle += "perl-module-io-file" +RDEPENDS_perl-module-filehandle += "perl-module-strict" +RDEPENDS_perl-module-file-path += "perl-module-cwd" +RDEPENDS_perl-module-file-path += "perl-module-exporter" +RDEPENDS_perl-module-file-path += "perl-module-file-basename" +RDEPENDS_perl-module-file-path += "perl-module-strict" +RDEPENDS_perl-module-file-path += "perl-module-vars" +RDEPENDS_perl-module-file-spec += "perl-module-strict" +RDEPENDS_perl-module-file-spec += "perl-module-file-spec-unix" +RDEPENDS_perl-module-file-stat += "perl-module-class-struct" +RDEPENDS_perl-module-file-stat += "perl-module-constant" +RDEPENDS_perl-module-file-stat += "perl-module-exporter" +RDEPENDS_perl-module-file-stat += "perl-module-fcntl" +RDEPENDS_perl-module-file-stat += "perl-module-overload " +RDEPENDS_perl-module-file-stat += "perl-module-strict" +RDEPENDS_perl-module-file-stat += "perl-module-warnings" +RDEPENDS_perl-module-file-stat += "perl-module-warnings-register" +RDEPENDS_perl-module-file-temp += "perl-module-carp" +RDEPENDS_perl-module-file-temp += "perl-module-constant" +RDEPENDS_perl-module-file-temp += "perl-module-cwd" +RDEPENDS_perl-module-file-temp += "perl-module-errno" +RDEPENDS_perl-module-file-temp += "perl-module-exporter" +RDEPENDS_perl-module-file-temp += "perl-module-fcntl" +RDEPENDS_perl-module-file-temp += "perl-module-file-path" +RDEPENDS_perl-module-file-temp += "perl-module-file-spec" +RDEPENDS_perl-module-file-temp += "perl-module-io-seekable" +RDEPENDS_perl-module-file-temp += "perl-module-overload" +RDEPENDS_perl-module-file-temp += "perl-module-parent" +RDEPENDS_perl-module-file-temp += "perl-module-posix" +RDEPENDS_perl-module-file-temp += "perl-module-scalar-util" +RDEPENDS_perl-module-file-temp += "perl-module-strict" +RDEPENDS_perl-module-file-temp += "perl-module-vars" +RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call" +RDEPENDS_perl-module-filter-simple += "perl-module-text-balanced" +RDEPENDS_perl-module-filter-util-call += "perl-module-exporter" +RDEPENDS_perl-module-filter-util-call += "perl-module-strict" +RDEPENDS_perl-module-filter-util-call += "perl-module-warnings" +RDEPENDS_perl-module-filter-util-call += "perl-module-xsloader" +RDEPENDS_perl-module-findbin += "perl-module-cwd" +RDEPENDS_perl-module-findbin += "perl-module-exporter" +RDEPENDS_perl-module-findbin += "perl-module-file-basename" +RDEPENDS_perl-module-getopt-long += "perl-module-constant" +RDEPENDS_perl-module-getopt-long += "perl-module-exporter" +RDEPENDS_perl-module-getopt-long += "perl-module-overload" +RDEPENDS_perl-module-getopt-long += "perl-module-pod-usage" +RDEPENDS_perl-module-getopt-long += "perl-module-strict" +RDEPENDS_perl-module-getopt-long += "perl-module-text-parsewords" +RDEPENDS_perl-module-getopt-long += "perl-module-vars" +RDEPENDS_perl-module-getopt-long += "perl-module-warnings" +RDEPENDS_perl-module-getopt-std += "perl-module-exporter" +RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter" +RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-strict" +RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-warnings" +RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-xsloader" +RDEPENDS_perl-module-hash-util += "perl-module-exporter" +RDEPENDS_perl-module-hash-util += "perl-module-hash-util-fieldhash" +RDEPENDS_perl-module-hash-util += "perl-module-strict" +RDEPENDS_perl-module-hash-util += "perl-module-warnings" +RDEPENDS_perl-module-hash-util += "perl-module-warnings-register" +RDEPENDS_perl-module-hash-util += "perl-module-xsloader" +RDEPENDS_perl-module-i18n-collate += "perl-module-exporter" +RDEPENDS_perl-module-i18n-collate += "perl-module-overload" +RDEPENDS_perl-module-i18n-collate += "perl-module-posix" +RDEPENDS_perl-module-i18n-collate += "perl-module-strict" +RDEPENDS_perl-module-i18n-collate += "perl-module-warnings-register" +RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter" +RDEPENDS_perl-module-i18n-langinfo += "perl-module-strict" +RDEPENDS_perl-module-i18n-langinfo += "perl-module-warnings" +RDEPENDS_perl-module-i18n-langinfo += "perl-module-xsloader" +RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-i18n-langtags" +RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-strict" +RDEPENDS_perl-module-i18n-langtags-list += "perl-module-strict" +RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter" +RDEPENDS_perl-module-i18n-langtags += "perl-module-strict" +RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-compress-raw-bzip2" +RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-strict" +RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-exporter" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-strict" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-strict" +RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-constant" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-encode" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-file-globmapper" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict " +RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-utf8" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-base += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-base += "perl-module-io-file" +RDEPENDS_perl-module-io-compress-base += "perl-module-io-handle " +RDEPENDS_perl-module-io-compress-base += "perl-module-strict " +RDEPENDS_perl-module-io-compress-base += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter " +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-adapter-bzip2" +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base" +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-strict " +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter " +RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-adapter-deflate" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-rawdeflate" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-zlib-constants" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-strict " +RDEPENDS_perl-module-io-compress-deflate += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-constant" +RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter" +RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-strict " +RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter " +RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-adapter-deflate" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-gzip-constants" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-rawdeflate" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-zlib-extra" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-strict " +RDEPENDS_perl-module-io-compress-gzip += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter " +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-fcntl" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-adapter-deflate" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-strict " +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-constant" +RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter" +RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-strict " +RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-zip += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-zip += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-compress-zip += "perl-module-config" +RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter " +RDEPENDS_perl-module-io-compress-zip += "perl-module-fcntl" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-deflate" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-identity" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-bzip2 " +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-rawdeflate" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zip-constants" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zlib-extra" +RDEPENDS_perl-module-io-compress-zip += "perl-module-strict " +RDEPENDS_perl-module-io-compress-zip += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-constant" +RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter" +RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-strict " +RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-io-compress-gzip-constants" +RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-strict " +RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-warnings" +RDEPENDS_perl-module-io-dir += "perl-module-exporter" +RDEPENDS_perl-module-io-dir += "perl-module-file-stat" +RDEPENDS_perl-module-io-dir += "perl-module-io-file" +RDEPENDS_perl-module-io-dir += "perl-module-strict" +RDEPENDS_perl-module-io-dir += "perl-module-tie-hash" +RDEPENDS_perl-module-io-file += "perl-module-carp" +RDEPENDS_perl-module-io-file += "perl-module-exporter" +RDEPENDS_perl-module-io-file += "perl-module-fcntl" +RDEPENDS_perl-module-io-file += "perl-module-io-seekable" +RDEPENDS_perl-module-io-file += "perl-module-selectsaver" +RDEPENDS_perl-module-io-file += "perl-module-strict" +RDEPENDS_perl-module-io-file += "perl-module-symbol" +RDEPENDS_perl-module-io-handle += "perl-module-exporter" +RDEPENDS_perl-module-io-handle += "perl-module-io" +RDEPENDS_perl-module-io-handle += "perl-module-io-file" +RDEPENDS_perl-module-io-handle += "perl-module-selectsaver" +RDEPENDS_perl-module-io-handle += "perl-module-strict" +RDEPENDS_perl-module-io += "perl-module-strict" +RDEPENDS_perl-module-io += "perl-module-warnings" +RDEPENDS_perl-module-io += "perl-module-xsloader" +RDEPENDS_perl-module-io-pipe += "perl-module-fcntl" +RDEPENDS_perl-module-io-pipe += "perl-module-io-handle" +RDEPENDS_perl-module-io-pipe += "perl-module-strict" +RDEPENDS_perl-module-io-poll += "perl-module-exporter" +RDEPENDS_perl-module-io-poll += "perl-module-io-handle" +RDEPENDS_perl-module-io-poll += "perl-module-strict" +RDEPENDS_perl-module-io-seekable += "perl-module-exporter" +RDEPENDS_perl-module-io-seekable += "perl-module-fcntl" +RDEPENDS_perl-module-io-seekable += "perl-module-io-handle" +RDEPENDS_perl-module-io-seekable += "perl-module-strict" +RDEPENDS_perl-module-io-select += "perl-module-exporter" +RDEPENDS_perl-module-io-select += "perl-module-strict" +RDEPENDS_perl-module-io-select += "perl-module-warnings-register" +RDEPENDS_perl-module-io-socket-inet += "perl-module-errno" +RDEPENDS_perl-module-io-socket-inet += "perl-module-exporter" +RDEPENDS_perl-module-io-socket-inet += "perl-module-io-socket" +RDEPENDS_perl-module-io-socket-inet += "perl-module-socket" +RDEPENDS_perl-module-io-socket-inet += "perl-module-strict" +RDEPENDS_perl-module-io-socket-ip += "perl-module-base" +RDEPENDS_perl-module-io-socket-ip += "perl-module-constant" +RDEPENDS_perl-module-io-socket-ip += "perl-module-errno" +RDEPENDS_perl-module-io-socket-ip += "perl-module-posix" +RDEPENDS_perl-module-io-socket-ip += "perl-module-socket" +RDEPENDS_perl-module-io-socket-ip += "perl-module-strict" +RDEPENDS_perl-module-io-socket-ip += "perl-module-warnings" +RDEPENDS_perl-module-io-socket += "perl-module-errno" +RDEPENDS_perl-module-io-socket += "perl-module-exporter" +RDEPENDS_perl-module-io-socket += "perl-module-io-handle" +RDEPENDS_perl-module-io-socket += "perl-module-io-select" +RDEPENDS_perl-module-io-socket += "perl-module-io-socket-inet" +RDEPENDS_perl-module-io-socket += "perl-module-io-socket-unix" +RDEPENDS_perl-module-io-socket += "perl-module-socket" +RDEPENDS_perl-module-io-socket += "perl-module-strict" +RDEPENDS_perl-module-io-socket-unix += "perl-module-io-socket" +RDEPENDS_perl-module-io-socket-unix += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-compress-raw-bzip2" +RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-zip-constants " +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-adapter-inflate" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-base" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-gunzip" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-inflate" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-rawinflate" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-unzip" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-uncompress-base" +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-base += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-base += "perl-module-constant" +RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-file " +RDEPENDS_perl-module-io-uncompress-base += "perl-module-list-util" +RDEPENDS_perl-module-io-uncompress-base += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-base += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-adapter-bunzip2" +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-base" +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-gzip-constants" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-zlib-extra" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-uncompress-rawinflate" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-zlib-constants" +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-uncompress-rawinflate" +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-adapter-inflate" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-base" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-constant" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-fcntl" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zip-constants" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zlib-extra" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-file" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-identity" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-inflate" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-rawinflate" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-posix" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-warnings" +RDEPENDS_perl-module-io-zlib += "perl-module-fcntl" +RDEPENDS_perl-module-io-zlib += "perl-module-io-handle" +RDEPENDS_perl-module-io-zlib += "perl-module-strict" +RDEPENDS_perl-module-io-zlib += "perl-module-tie-handle" +RDEPENDS_perl-module-io-zlib += "perl-module-vars" +RDEPENDS_perl-module-ipc-cmd += "perl-module-constant" +RDEPENDS_perl-module-ipc-cmd += "perl-module-exporter" +RDEPENDS_perl-module-ipc-cmd += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-ipc-cmd += "perl-module-filehandle" +RDEPENDS_perl-module-ipc-cmd += "perl-module-io-handle" +RDEPENDS_perl-module-ipc-cmd += "perl-module-io-select" +RDEPENDS_perl-module-ipc-cmd += "perl-module-ipc-open3" +RDEPENDS_perl-module-ipc-cmd += "perl-module-locale-maketext-simple" +RDEPENDS_perl-module-ipc-cmd += "perl-module-load" +RDEPENDS_perl-module-ipc-cmd += "perl-module-params-check" +RDEPENDS_perl-module-ipc-cmd += "perl-module-posix" +RDEPENDS_perl-module-ipc-cmd += "perl-module-socket" +RDEPENDS_perl-module-ipc-cmd += "perl-module-strict" +RDEPENDS_perl-module-ipc-cmd += "perl-module-text-parsewords" +RDEPENDS_perl-module-ipc-cmd += "perl-module-time-hires" +RDEPENDS_perl-module-ipc-cmd += "perl-module-vars" +RDEPENDS_perl-module-ipc-msg += "perl-module-class-struct" +RDEPENDS_perl-module-ipc-msg += "perl-module-ipc-sysv" +RDEPENDS_perl-module-ipc-msg += "perl-module-strict" +RDEPENDS_perl-module-ipc-msg += "perl-module-vars" +RDEPENDS_perl-module-ipc-open2 += "perl-module-exporter" +RDEPENDS_perl-module-ipc-open2 += "perl-module-ipc-open3" +RDEPENDS_perl-module-ipc-open2 += "perl-module-strict" +RDEPENDS_perl-module-ipc-open3 += "perl-module-constant" +RDEPENDS_perl-module-ipc-open3 += "perl-module-exporter" +RDEPENDS_perl-module-ipc-open3 += "perl-module-fcntl" +RDEPENDS_perl-module-ipc-open3 += "perl-module-io-pipe" +RDEPENDS_perl-module-ipc-open3 += "perl-module-posix" +RDEPENDS_perl-module-ipc-open3 += "perl-module-strict" +RDEPENDS_perl-module-ipc-semaphore += "perl-module-class-struct" +RDEPENDS_perl-module-ipc-semaphore += "perl-module-ipc-sysv" +RDEPENDS_perl-module-ipc-semaphore += "perl-module-strict" +RDEPENDS_perl-module-ipc-semaphore += "perl-module-vars" +RDEPENDS_perl-module-ipc-sharedmem += "perl-module-class-struct" +RDEPENDS_perl-module-ipc-sharedmem += "perl-module-ipc-sysv" +RDEPENDS_perl-module-ipc-sharedmem += "perl-module-strict" +RDEPENDS_perl-module-ipc-sharedmem += "perl-module-vars" +RDEPENDS_perl-module-ipc-sysv += "perl-module-config" +RDEPENDS_perl-module-ipc-sysv += "perl-module-dynaloader" +RDEPENDS_perl-module-ipc-sysv += "perl-module-exporter" +RDEPENDS_perl-module-ipc-sysv += "perl-module-strict" +RDEPENDS_perl-module-ipc-sysv += "perl-module-vars" +RDEPENDS_perl-module-json-pp-boolean += "perl-module-overload" +RDEPENDS_perl-module-json-pp-boolean += "perl-module-strict" +RDEPENDS_perl-module-json-pp += "perl-module-b" +RDEPENDS_perl-module-json-pp += "perl-module-bytes" +RDEPENDS_perl-module-json-pp += "perl-module-constant" +RDEPENDS_perl-module-json-pp += "perl-module-encode" +RDEPENDS_perl-module-json-pp += "perl-module-exporter" +RDEPENDS_perl-module-json-pp += "perl-module-json-pp-boolean" +RDEPENDS_perl-module-json-pp += "perl-module-math-bigfloat" +RDEPENDS_perl-module-json-pp += "perl-module-math-bigint" +RDEPENDS_perl-module-json-pp += "perl-module-overload" +RDEPENDS_perl-module-json-pp += "perl-module-strict" +RDEPENDS_perl-module-json-pp += "perl-module-subs" +RDEPENDS_perl-module-less += "perl-module-strict" +RDEPENDS_perl-module-less += "perl-module-warnings" +RDEPENDS_perl-module-lib += "perl-module-config" +RDEPENDS_perl-module-lib += "perl-module-strict" +RDEPENDS_perl-module-list-util += "perl-module-exporter" +RDEPENDS_perl-module-list-util += "perl-module-strict" +RDEPENDS_perl-module-list-util += "perl-module-warnings" +RDEPENDS_perl-module-list-util += "perl-module-xsloader" +RDEPENDS_perl-module-list-util-xs += "perl-module-list-util" +RDEPENDS_perl-module-list-util-xs += "perl-module-strict" +RDEPENDS_perl-module-list-util-xs += "perl-module-warnings" +RDEPENDS_perl-module-loaded += "perl-module-strict" +RDEPENDS_perl-module-loaded += "perl-module-vars" +RDEPENDS_perl-module-load += "perl-module-config" +RDEPENDS_perl-module-load += "perl-module-constant" +RDEPENDS_perl-module-load += "perl-module-exporter" +RDEPENDS_perl-module-load += "perl-module-filehandle" +RDEPENDS_perl-module-load += "perl-module-locale-maketext-simple" +RDEPENDS_perl-module-load += "perl-module-corelist" +RDEPENDS_perl-module-load += "perl-module-load" +RDEPENDS_perl-module-load += "perl-module-params-check" +RDEPENDS_perl-module-load += "perl-module-strict" +RDEPENDS_perl-module-load += "perl-module-vars" +RDEPENDS_perl-module-load += "perl-module-version" +RDEPENDS_perl-module-load += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-constants += "perl-module-constant" +RDEPENDS_perl-module-locale-codes-constants += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-constants += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-constants += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-country += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-country += "perl-module-if" +RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-country += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-country += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-if" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-if" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-if" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-language += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-language += "perl-module-if" +RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-language += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-language += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-if" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes += "perl-module-if" +RDEPENDS_perl-module-locale-codes += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-script += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-script += "perl-module-if" +RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-script += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-script += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-country += "perl-module-exporter" +RDEPENDS_perl-module-locale-country += "perl-module-if" +RDEPENDS_perl-module-locale-country += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-country += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-country += "perl-module-strict" +RDEPENDS_perl-module-locale-country += "perl-module-warnings" +RDEPENDS_perl-module-locale-currency += "perl-module-exporter" +RDEPENDS_perl-module-locale-currency += "perl-module-if" +RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-currency += "perl-module-strict" +RDEPENDS_perl-module-locale-currency += "perl-module-warnings" +RDEPENDS_perl-module-locale-language += "perl-module-exporter" +RDEPENDS_perl-module-locale-language += "perl-module-if" +RDEPENDS_perl-module-locale-language += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-language += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-language += "perl-module-strict" +RDEPENDS_perl-module-locale-language += "perl-module-warnings" +RDEPENDS_perl-module-locale-maketext-gutsloader += "perl-module-locale-maketext" +RDEPENDS_perl-module-locale-maketext-guts += "perl-module-locale-maketext" +RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags" +RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags-detect" +RDEPENDS_perl-module-locale-maketext += "perl-module-integer" +RDEPENDS_perl-module-locale-maketext += "perl-module-strict" +RDEPENDS_perl-module-locale-maketext-simple += "perl-module-base" +RDEPENDS_perl-module-locale-maketext-simple += "perl-module-strict" +RDEPENDS_perl-module-locale += "perl-module-config" +RDEPENDS_perl-module-locale-script += "perl-module-exporter" +RDEPENDS_perl-module-locale-script += "perl-module-if" +RDEPENDS_perl-module-locale-script += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-script += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-script += "perl-module-strict" +RDEPENDS_perl-module-locale-script += "perl-module-warnings" +RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter" +RDEPENDS_perl-module-math-bigfloat += "perl-module-math-bigint" +RDEPENDS_perl-module-math-bigfloat += "perl-module-math-complex" +RDEPENDS_perl-module-math-bigfloat += "perl-module-overload" +RDEPENDS_perl-module-math-bigfloat += "perl-module-strict" +RDEPENDS_perl-module-math-bigfloat += "perl-module-warnings" +RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-exporter" +RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-math-bigfloat" +RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-overload" +RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-strict" +RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-strict" +RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint-calc += "perl-module-constant" +RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer" +RDEPENDS_perl-module-math-bigint-calc += "perl-module-math-bigint-lib" +RDEPENDS_perl-module-math-bigint-calc += "perl-module-strict" +RDEPENDS_perl-module-math-bigint-calc += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-math-bigint-calc" +RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-strict" +RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-xsloader" +RDEPENDS_perl-module-math-bigint-lib += "perl-module-overload" +RDEPENDS_perl-module-math-bigint-lib += "perl-module-strict" +RDEPENDS_perl-module-math-bigint-lib += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint += "perl-module-exporter" +RDEPENDS_perl-module-math-bigint += "perl-module-math-bigfloat" +RDEPENDS_perl-module-math-bigint += "perl-module-math-complex" +RDEPENDS_perl-module-math-bigint += "perl-module-overload" +RDEPENDS_perl-module-math-bigint += "perl-module-strict" +RDEPENDS_perl-module-math-bigint += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint-trace += "perl-module-exporter" +RDEPENDS_perl-module-math-bigint-trace += "perl-module-math-bigint" +RDEPENDS_perl-module-math-bigint-trace += "perl-module-overload" +RDEPENDS_perl-module-math-bigint-trace += "perl-module-strict" +RDEPENDS_perl-module-math-bigint-trace += "perl-module-warnings" +RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigfloat" +RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigint" +RDEPENDS_perl-module-math-bigrat += "perl-module-overload" +RDEPENDS_perl-module-math-bigrat += "perl-module-strict" +RDEPENDS_perl-module-math-bigrat += "perl-module-warnings" +RDEPENDS_perl-module-math-complex += "perl-module-config" +RDEPENDS_perl-module-math-complex += "perl-module-exporter" +RDEPENDS_perl-module-math-complex += "perl-module-overload" +RDEPENDS_perl-module-math-complex += "perl-module-strict" +RDEPENDS_perl-module-math-complex += "perl-module-warnings" +RDEPENDS_perl-module-math-trig += "perl-module-exporter" +RDEPENDS_perl-module-math-trig += "perl-module-math-complex" +RDEPENDS_perl-module-math-trig += "perl-module-strict" +RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars" +RDEPENDS_perl-module-memoize += "perl-module-config" +RDEPENDS_perl-module-memoize += "perl-module-exporter" +RDEPENDS_perl-module-memoize += "perl-module-strict" +RDEPENDS_perl-module-memoize += "perl-module-vars" +RDEPENDS_perl-module-memoize-sdbm-file += "perl-module-sdbm-file" +RDEPENDS_perl-module-memoize-storable += "perl-module-storable" +RDEPENDS_perl-module-mime-base64 += "perl-module-exporter" +RDEPENDS_perl-module-mime-base64 += "perl-module-strict" +RDEPENDS_perl-module-mime-base64 += "perl-module-vars" +RDEPENDS_perl-module-mime-base64 += "perl-module-xsloader" +RDEPENDS_perl-module-mime-quotedprint += "perl-module-exporter" +RDEPENDS_perl-module-mime-quotedprint += "perl-module-mime-base64" +RDEPENDS_perl-module-mime-quotedprint += "perl-module-strict" +RDEPENDS_perl-module-mime-quotedprint += "perl-module-vars" +RDEPENDS_perl-module-mro += "perl-module-strict" +RDEPENDS_perl-module-mro += "perl-module-warnings" +RDEPENDS_perl-module-mro += "perl-module-xsloader" +RDEPENDS_perl-module-net-cmd += "perl-module-constant" +RDEPENDS_perl-module-net-cmd += "perl-module-errno" +RDEPENDS_perl-module-net-cmd += "perl-module-exporter" +RDEPENDS_perl-module-net-cmd += "perl-module-strict" +RDEPENDS_perl-module-net-cmd += "perl-module-warnings" +RDEPENDS_perl-module-net-config += "perl-module-exporter" +RDEPENDS_perl-module-net-config += "perl-module-socket" +RDEPENDS_perl-module-net-config += "perl-module-strict" +RDEPENDS_perl-module-net-config += "perl-module-warnings" +RDEPENDS_perl-module-net-domain += "perl-module-exporter" +RDEPENDS_perl-module-net-domain += "perl-module-net-config" +RDEPENDS_perl-module-net-domain += "perl-module-posix" +RDEPENDS_perl-module-net-domain += "perl-module-socket" +RDEPENDS_perl-module-net-domain += "perl-module-strict" +RDEPENDS_perl-module-net-domain += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp-a += "perl-module-net-ftp-dataconn" +RDEPENDS_perl-module-net-ftp-a += "perl-module-strict" +RDEPENDS_perl-module-net-ftp-a += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-errno" +RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-net-cmd" +RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-strict" +RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp-e += "perl-module-net-ftp-i" +RDEPENDS_perl-module-net-ftp-e += "perl-module-strict" +RDEPENDS_perl-module-net-ftp-e += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp-i += "perl-module-net-ftp-dataconn" +RDEPENDS_perl-module-net-ftp-i += "perl-module-strict" +RDEPENDS_perl-module-net-ftp-i += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i" +RDEPENDS_perl-module-net-ftp-l += "perl-module-strict" +RDEPENDS_perl-module-net-ftp-l += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp += "perl-module-constant" +RDEPENDS_perl-module-net-ftp += "perl-module-fcntl" +RDEPENDS_perl-module-net-ftp += "perl-module-file-basename" +RDEPENDS_perl-module-net-ftp += "perl-module-io-socket" +RDEPENDS_perl-module-net-ftp += "perl-module-io-socket-ip" +RDEPENDS_perl-module-net-ftp += "perl-module-net-cmd" +RDEPENDS_perl-module-net-ftp += "perl-module-net-config" +RDEPENDS_perl-module-net-ftp += "perl-module-net-ftp-a" +RDEPENDS_perl-module-net-ftp += "perl-module-net-netrc" +RDEPENDS_perl-module-net-ftp += "perl-module-socket" +RDEPENDS_perl-module-net-ftp += "perl-module-strict" +RDEPENDS_perl-module-net-ftp += "perl-module-time-local" +RDEPENDS_perl-module-net-ftp += "perl-module-warnings" +RDEPENDS_perl-module-net-hostent += "perl-module-class-struct" +RDEPENDS_perl-module-net-hostent += "perl-module-exporter" +RDEPENDS_perl-module-net-hostent += "perl-module-socket" +RDEPENDS_perl-module-net-hostent += "perl-module-strict" +RDEPENDS_perl-module-net-netent += "perl-module-class-struct" +RDEPENDS_perl-module-net-netent += "perl-module-exporter" +RDEPENDS_perl-module-net-netent += "perl-module-socket" +RDEPENDS_perl-module-net-netent += "perl-module-strict" +RDEPENDS_perl-module-net-netrc += "perl-module-filehandle" +RDEPENDS_perl-module-net-netrc += "perl-module-strict" +RDEPENDS_perl-module-net-netrc += "perl-module-warnings" +RDEPENDS_perl-module-net-nntp += "perl-module-io-socket" +RDEPENDS_perl-module-net-nntp += "perl-module-io-socket-ip" +RDEPENDS_perl-module-net-nntp += "perl-module-net-cmd" +RDEPENDS_perl-module-net-nntp += "perl-module-net-config" +RDEPENDS_perl-module-net-nntp += "perl-module-strict" +RDEPENDS_perl-module-net-nntp += "perl-module-time-local" +RDEPENDS_perl-module-net-nntp += "perl-module-warnings" +RDEPENDS_perl-module-net-ping += "perl-module-constant" +RDEPENDS_perl-module-net-ping += "perl-module-exporter" +RDEPENDS_perl-module-net-ping += "perl-module-fcntl" +RDEPENDS_perl-module-net-ping += "perl-module-filehandle" +RDEPENDS_perl-module-net-ping += "perl-module-io-socket-inet" +RDEPENDS_perl-module-net-ping += "perl-module-posix" +RDEPENDS_perl-module-net-ping += "perl-module-socket" +RDEPENDS_perl-module-net-ping += "perl-module-strict" +RDEPENDS_perl-module-net-ping += "perl-module-time-hires" +RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket" +RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket-ip" +RDEPENDS_perl-module-net-pop3 += "perl-module-mime-base64" +RDEPENDS_perl-module-net-pop3 += "perl-module-net-cmd" +RDEPENDS_perl-module-net-pop3 += "perl-module-net-config" +RDEPENDS_perl-module-net-pop3 += "perl-module-net-netrc" +RDEPENDS_perl-module-net-pop3 += "perl-module-strict" +RDEPENDS_perl-module-net-pop3 += "perl-module-warnings" +RDEPENDS_perl-module-net-protoent += "perl-module-class-struct" +RDEPENDS_perl-module-net-protoent += "perl-module-exporter" +RDEPENDS_perl-module-net-protoent += "perl-module-strict" +RDEPENDS_perl-module-net-servent += "perl-module-class-struct" +RDEPENDS_perl-module-net-servent += "perl-module-exporter" +RDEPENDS_perl-module-net-servent += "perl-module-strict" +RDEPENDS_perl-module-net-smtp += "perl-module-io-socket" +RDEPENDS_perl-module-net-smtp += "perl-module-io-socket-ip" +RDEPENDS_perl-module-net-smtp += "perl-module-mime-base64" +RDEPENDS_perl-module-net-smtp += "perl-module-net-cmd" +RDEPENDS_perl-module-net-smtp += "perl-module-net-config" +RDEPENDS_perl-module-net-smtp += "perl-module-socket" +RDEPENDS_perl-module-net-smtp += "perl-module-strict" +RDEPENDS_perl-module-net-smtp += "perl-module-warnings" +RDEPENDS_perl-module-net-time += "perl-module-exporter" +RDEPENDS_perl-module-net-time += "perl-module-io-select" +RDEPENDS_perl-module-net-time += "perl-module-io-socket" +RDEPENDS_perl-module-net-time += "perl-module-net-config" +RDEPENDS_perl-module-net-time += "perl-module-strict" +RDEPENDS_perl-module-net-time += "perl-module-warnings" +RDEPENDS_perl-module-next += "perl-module-overload" +RDEPENDS_perl-module-next += "perl-module-strict" +RDEPENDS_perl-module-next += "perl-module-warnings" +RDEPENDS_perl-module-ok += "perl-module-strict" +RDEPENDS_perl-module-ok += "perl-module-test-more" +RDEPENDS_perl-module-opcode += "perl-module-exporter" +RDEPENDS_perl-module-opcode += "perl-module-strict" +RDEPENDS_perl-module-opcode += "perl-module-subs" +RDEPENDS_perl-module-opcode += "perl-module-xsloader" +RDEPENDS_perl-module-open += "perl-module-encode" +RDEPENDS_perl-module-open += "perl-module-encoding" +RDEPENDS_perl-module-open += "perl-module-warnings" +RDEPENDS_perl-module-o += "perl-module-b" +RDEPENDS_perl-module-ops += "perl-module-opcode" +RDEPENDS_perl-module-overloading += "perl-module-overload-numbers" +RDEPENDS_perl-module-overloading += "perl-module-warnings" +RDEPENDS_perl-module-overload += "perl-module-mro" +RDEPENDS_perl-module-overload += "perl-module-warnings-register" +RDEPENDS_perl-module-overload += "perl-module-overloading" +RDEPENDS_perl-module-params-check += "perl-module-exporter" +RDEPENDS_perl-module-params-check += "perl-module-locale-maketext-simple" +RDEPENDS_perl-module-params-check += "perl-module-strict" +RDEPENDS_perl-module-params-check += "perl-module-vars" +RDEPENDS_perl-module-parent += "perl-module-strict" +RDEPENDS_perl-module-parent += "perl-module-vars" +RDEPENDS_perl-module-perlfaq += "perl-module-strict" +RDEPENDS_perl-module-perlfaq += "perl-module-warnings" +RDEPENDS_perl-module-perlio-encoding += "perl-module-strict" +RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader" +RDEPENDS_perl-module-perlio-mmap += "perl-module-strict" +RDEPENDS_perl-module-perlio-mmap += "perl-module-warnings" +RDEPENDS_perl-module-perlio-mmap += "perl-module-xsloader" +RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader" +RDEPENDS_perl-module-perlio-via += "perl-module-xsloader" +RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-mime-quotedprint" +RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-strict" +RDEPENDS_perl-module-pod-checker += "perl-module-base" +RDEPENDS_perl-module-pod-checker += "perl-module-exporter" +RDEPENDS_perl-module-pod-checker += "perl-module-strict" +RDEPENDS_perl-module-pod-checker += "perl-module-warnings" +RDEPENDS_perl-module-pod-escapes += "perl-module-exporter" +RDEPENDS_perl-module-pod-escapes += "perl-module-strict" +RDEPENDS_perl-module-pod-escapes += "perl-module-vars" +RDEPENDS_perl-module-pod-escapes += "perl-module-warnings" +RDEPENDS_perl-module-pod-find += "perl-module-config" +RDEPENDS_perl-module-pod-find += "perl-module-cwd" +RDEPENDS_perl-module-pod-find += "perl-module-exporter" +RDEPENDS_perl-module-pod-find += "perl-module-file-find" +RDEPENDS_perl-module-pod-find += "perl-module-strict" +RDEPENDS_perl-module-pod-find += "perl-module-vars" +RDEPENDS_perl-module-pod-functions += "perl-module-exporter" +RDEPENDS_perl-module-pod-functions += "perl-module-strict" +RDEPENDS_perl-module-pod-inputobjects += "perl-module-strict" +RDEPENDS_perl-module-pod-inputobjects += "perl-module-vars" +RDEPENDS_perl-module-pod-man += "perl-module-file-basename" +RDEPENDS_perl-module-pod-man += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-man += "perl-module-strict" +RDEPENDS_perl-module-pod-man += "perl-module-subs" +RDEPENDS_perl-module-pod-man += "perl-module-vars" +RDEPENDS_perl-module-pod-man += "perl-module-warnings" +RDEPENDS_perl-module-pod-parselink += "perl-module-exporter" +RDEPENDS_perl-module-pod-parselink += "perl-module-strict" +RDEPENDS_perl-module-pod-parselink += "perl-module-vars" +RDEPENDS_perl-module-pod-parselink += "perl-module-warnings" +RDEPENDS_perl-module-pod-parser += "perl-module-exporter" +RDEPENDS_perl-module-pod-parser += "perl-module-pod-inputobjects" +RDEPENDS_perl-module-pod-parser += "perl-module-strict" +RDEPENDS_perl-module-pod-parser += "perl-module-vars" +RDEPENDS_perl-module-pod-parseutils += "perl-module-strict" +RDEPENDS_perl-module-pod-parseutils += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-config" +RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc += "perl-module-config" +RDEPENDS_perl-module-pod-perldoc += "perl-module-encode" +RDEPENDS_perl-module-pod-perldoc += "perl-module-fcntl" +RDEPENDS_perl-module-pod-perldoc += "perl-module-file-basename" +RDEPENDS_perl-module-pod-perldoc += "perl-module-file-temp" +RDEPENDS_perl-module-pod-perldoc += "perl-module-pod-perldoc-getoptsoo" +RDEPENDS_perl-module-pod-perldoc += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc += "perl-module-text-parsewords" +RDEPENDS_perl-module-pod-perldoc += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-pod-text-color" +RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-pod-checker" +RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-encode" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-handle" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-select" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-ipc-open3" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-man" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-perldoc-topod" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-pod-man" +RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-pod-text-termcap" +RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-pod-text" +RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-warnings" +RDEPENDS_perl-module-pod-plaintext += "perl-module-pod-select" +RDEPENDS_perl-module-pod-plaintext += "perl-module-strict" +RDEPENDS_perl-module-pod-plaintext += "perl-module-vars" +RDEPENDS_perl-module-pod-select += "perl-module-pod-parser" +RDEPENDS_perl-module-pod-select += "perl-module-strict" +RDEPENDS_perl-module-pod-select += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-integer" +RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple-transcode" +RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple-methody" +RDEPENDS_perl-module-pod-simple-checker += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-checker += "perl-module-text-wrap" +RDEPENDS_perl-module-pod-simple-checker += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-debug += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-debug += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-debug += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-text-wrap" +RDEPENDS_perl-module-pod-simple-linksection += "perl-module-overload" +RDEPENDS_perl-module-pod-simple-linksection += "perl-module-pod-simple-blackbox" +RDEPENDS_perl-module-pod-simple-linksection += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-linksection += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-methody += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-methody += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-methody += "perl-module-vars" +RDEPENDS_perl-module-pod-simple += "perl-module-integer" +RDEPENDS_perl-module-pod-simple += "perl-module-pod-escapes" +RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-blackbox" +RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-linksection" +RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-tiedoutfh" +RDEPENDS_perl-module-pod-simple += "perl-module-strict" +RDEPENDS_perl-module-pod-simple += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-progress += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-pod-simple-pullparsertoken" +RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserendtoken" +RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserstarttoken" +RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparsertexttoken" +RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-pod-simple-pullparsertoken" +RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-pod-simple-pullparsertoken" +RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-pullparsertoken += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-rtf += "perl-module-integer" +RDEPENDS_perl-module-pod-simple-rtf += "perl-module-pod-simple-pullparser" +RDEPENDS_perl-module-pod-simple-rtf += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-rtf += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-search += "perl-module-config" +RDEPENDS_perl-module-pod-simple-search += "perl-module-cwd" +RDEPENDS_perl-module-pod-simple-search += "perl-module-file-basename" +RDEPENDS_perl-module-pod-simple-search += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-search += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple-methody" +RDEPENDS_perl-module-pod-simple-text += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-text += "perl-module-text-wrap" +RDEPENDS_perl-module-pod-simple-text += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-transcode += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-transcode += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode" +RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-vars" +RDEPENDS_perl-module-pod-text-color += "perl-module-pod-text" +RDEPENDS_perl-module-pod-text-color += "perl-module-strict" +RDEPENDS_perl-module-pod-text-color += "perl-module-term-ansicolor" +RDEPENDS_perl-module-pod-text-color += "perl-module-vars" +RDEPENDS_perl-module-pod-text-color += "perl-module-warnings" +RDEPENDS_perl-module-pod-text-overstrike += "perl-module-pod-text" +RDEPENDS_perl-module-pod-text-overstrike += "perl-module-strict" +RDEPENDS_perl-module-pod-text-overstrike += "perl-module-vars" +RDEPENDS_perl-module-pod-text-overstrike += "perl-module-warnings" +RDEPENDS_perl-module-pod-text += "perl-module-encode" +RDEPENDS_perl-module-pod-text += "perl-module-exporter" +RDEPENDS_perl-module-pod-text += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-text += "perl-module-strict" +RDEPENDS_perl-module-pod-text += "perl-module-vars" +RDEPENDS_perl-module-pod-text += "perl-module-warnings" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-pod-text" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-posix" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-strict" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-term-cap" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-vars" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-warnings" +RDEPENDS_perl-module-pod-usage += "perl-module-config" +RDEPENDS_perl-module-pod-usage += "perl-module-exporter" +RDEPENDS_perl-module-pod-usage += "perl-module-strict" +RDEPENDS_perl-module-pod-usage += "perl-module-vars" +RDEPENDS_perl-module-posix += "perl-module-exporter" +RDEPENDS_perl-module-posix += "perl-module-fcntl" +RDEPENDS_perl-module-posix += "perl-module-strict" +RDEPENDS_perl-module-posix += "perl-module-tie-hash" +RDEPENDS_perl-module-posix += "perl-module-warnings" +RDEPENDS_perl-module-posix += "perl-module-xsloader" +RDEPENDS_perl-module-re += "perl-module-exporter" +RDEPENDS_perl-module-re += "perl-module-strict" +RDEPENDS_perl-module-re += "perl-module-term-cap" +RDEPENDS_perl-module-re += "perl-module-warnings" +RDEPENDS_perl-module-re += "perl-module-xsloader" +RDEPENDS_perl-module-safe += "perl-module-b" +RDEPENDS_perl-module-safe += "perl-module-opcode" +RDEPENDS_perl-module-safe += "perl-module-strict" +RDEPENDS_perl-module-safe += "perl-module-utf8" +RDEPENDS_perl-module-scalar-util += "perl-module-carp" +RDEPENDS_perl-module-scalar-util += "perl-module-exporter" +RDEPENDS_perl-module-scalar-util += "perl-module-list-util" +RDEPENDS_perl-module-scalar-util += "perl-module-strict" +RDEPENDS_perl-module-scalar-util += "perl-module-warnings" +RDEPENDS_perl-module-sdbm-file += "perl-module-exporter" +RDEPENDS_perl-module-sdbm-file += "perl-module-strict" +RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash" +RDEPENDS_perl-module-sdbm-file += "perl-module-warnings" +RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader" +RDEPENDS_perl-module-search-dict += "perl-module-exporter" +RDEPENDS_perl-module-search-dict += "perl-module-feature" +RDEPENDS_perl-module-search-dict += "perl-module-strict" +RDEPENDS_perl-module-selfloader += "perl-module-exporter" +RDEPENDS_perl-module-selfloader += "perl-module-io-handle" +RDEPENDS_perl-module-selfloader += "perl-module-strict" +RDEPENDS_perl-module-socket += "perl-module-exporter" +RDEPENDS_perl-module-socket += "perl-module-strict" +RDEPENDS_perl-module-socket += "perl-module-warnings-register" +RDEPENDS_perl-module-socket += "perl-module-xsloader" +RDEPENDS_perl-module-sort += "perl-module-strict" +RDEPENDS_perl-module-storable += "perl-module-exporter" +RDEPENDS_perl-module-storable += "perl-module-io-file" +RDEPENDS_perl-module-storable += "perl-module-xsloader" +RDEPENDS_perl-module-sub-util += "perl-module-exporter" +RDEPENDS_perl-module-sub-util += "perl-module-list-util" +RDEPENDS_perl-module-sub-util += "perl-module-strict" +RDEPENDS_perl-module-sub-util += "perl-module-warnings" +RDEPENDS_perl-module-sys-hostname += "perl-module-exporter" +RDEPENDS_perl-module-sys-hostname += "perl-module-posix" +RDEPENDS_perl-module-sys-hostname += "perl-module-strict" +RDEPENDS_perl-module-sys-hostname += "perl-module-warnings" +RDEPENDS_perl-module-sys-hostname += "perl-module-xsloader" +RDEPENDS_perl-module-sys-syslog += "perl-module-config" +RDEPENDS_perl-module-sys-syslog += "perl-module-constant" +RDEPENDS_perl-module-sys-syslog += "perl-module-dynaloader" +RDEPENDS_perl-module-sys-syslog += "perl-module-exporter" +RDEPENDS_perl-module-sys-syslog += "perl-module-fcntl" +RDEPENDS_perl-module-sys-syslog += "perl-module-file-basename" +RDEPENDS_perl-module-sys-syslog += "perl-module-posix" +RDEPENDS_perl-module-sys-syslog += "perl-module-socket" +RDEPENDS_perl-module-sys-syslog += "perl-module-strict" +RDEPENDS_perl-module-sys-syslog += "perl-module-sys-hostname" +RDEPENDS_perl-module-sys-syslog += "perl-module-vars" +RDEPENDS_perl-module-sys-syslog += "perl-module-warnings" +RDEPENDS_perl-module-sys-syslog += "perl-module-warnings-register" +RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader" +RDEPENDS_perl-module-tap-base += "perl-module-base" +RDEPENDS_perl-module-tap-base += "perl-module-constant" +RDEPENDS_perl-module-tap-base += "perl-module-strict" +RDEPENDS_perl-module-tap-base += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-base += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix" +RDEPENDS_perl-module-tap-formatter-base += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-base += "perl-module-tap-formatter-color" +RDEPENDS_perl-module-tap-formatter-base += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-color += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-color += "perl-module-constant" +RDEPENDS_perl-module-tap-formatter-color += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-color += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-constant" +RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-file-path" +RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-console += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-console += "perl-module-posix" +RDEPENDS_perl-module-tap-formatter-console += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-console += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-posix" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-file-session" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-session += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-session += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-session += "perl-module-warnings" +RDEPENDS_perl-module-tap-harness-env += "perl-module-constant" +RDEPENDS_perl-module-tap-harness-env += "perl-module-strict" +RDEPENDS_perl-module-tap-harness-env += "perl-module-tap-object" +RDEPENDS_perl-module-tap-harness-env += "perl-module-text-parsewords" +RDEPENDS_perl-module-tap-harness-env += "perl-module-warnings" +RDEPENDS_perl-module-tap-harness += "perl-module-base" +RDEPENDS_perl-module-tap-harness += "perl-module-file-path" +RDEPENDS_perl-module-tap-harness += "perl-module-io-handle" +RDEPENDS_perl-module-tap-harness += "perl-module-strict" +RDEPENDS_perl-module-tap-harness += "perl-module-warnings" +RDEPENDS_perl-module-tap-object += "perl-module-strict" +RDEPENDS_perl-module-tap-object += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-base" +RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-benchmark" +RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-base" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-resultfactory" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-yamlish-reader" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-file-basename" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-iterator += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iterator += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-config" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-io-handle" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-base" +RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-io-select" +RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser += "perl-module-base" +RDEPENDS_perl-module-tap-parser += "perl-module-strict" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-grammar" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iterator" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-result" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-resultfactory" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-source" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-executable" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-file" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-handle" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-perl" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-rawtap" +RDEPENDS_perl-module-tap-parser += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-base" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-bailout" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-comment" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-plan" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-pragma" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-test" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-unknown" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-version" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-yaml" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-test += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-test += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-test += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-version += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-version += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-version += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-job" +RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-spinner" +RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iterator-process" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iterator-stream" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iterator-stream" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-tap-parser-iterator" +RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-config" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iterator-array" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-source += "perl-module-base" +RDEPENDS_perl-module-tap-parser-source += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-source += "perl-module-file-basename" +RDEPENDS_perl-module-tap-parser-source += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-source += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-base" +RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-base" +RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-warnings" +RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter" +RDEPENDS_perl-module-term-ansicolor += "perl-module-strict" +RDEPENDS_perl-module-term-ansicolor += "perl-module-warnings" +RDEPENDS_perl-module-term-cap += "perl-module-strict" +RDEPENDS_perl-module-term-cap += "perl-module-vars" +RDEPENDS_perl-module-term-complete += "perl-module-exporter" +RDEPENDS_perl-module-term-complete += "perl-module-strict" +RDEPENDS_perl-module-term-readline += "perl-module-strict" +RDEPENDS_perl-module-term-readline += "perl-module-term-cap" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings" +RDEPENDS_perl-module-test-builder-module += "perl-module-exporter" +RDEPENDS_perl-module-test-builder-module += "perl-module-strict" +RDEPENDS_perl-module-test-builder-module += "perl-module-test-builder" +RDEPENDS_perl-module-test-builder += "perl-module-data-dumper" +RDEPENDS_perl-module-test-builder += "perl-module-list-util" +RDEPENDS_perl-module-test-builder += "perl-module-overload" +RDEPENDS_perl-module-test-builder += "perl-module-strict" +RDEPENDS_perl-module-test-builder += "perl-module-scalar-util" +RDEPENDS_perl-module-test-builder += "perl-module-test-builder-formatter" +RDEPENDS_perl-module-test-builder += "perl-module-test-builder-tododiag" +RDEPENDS_perl-module-test-builder += "perl-module-test2-api" +RDEPENDS_perl-module-test-builder += "perl-module-test2-util" +RDEPENDS_perl-module-test-builder += "perl-module-warnings" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-formatter" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-formatter-tap" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings" +RDEPENDS_perl-module-test-builder-tester-color += "perl-module-strict" +RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester" +RDEPENDS_perl-module-test-builder-tester += "perl-module-exporter" +RDEPENDS_perl-module-test-builder-tester += "perl-module-strict" +RDEPENDS_perl-module-test-builder-tester += "perl-module-test-builder" +RDEPENDS_perl-module-test-builder-tododiag += "perl-module-strict" +RDEPENDS_perl-module-test-builder-tododiag += "perl-module-warnings" +RDEPENDS_perl-module-test-harness += "perl-module-base" +RDEPENDS_perl-module-test-harness += "perl-module-config" +RDEPENDS_perl-module-test-harness += "perl-module-constant" +RDEPENDS_perl-module-test-harness += "perl-module-strict" +RDEPENDS_perl-module-test-harness += "perl-module-tap-harness" +RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-aggregator" +RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-source" +RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-sourcehandler-perl" +RDEPENDS_perl-module-test-harness += "perl-module-text-parsewords" +RDEPENDS_perl-module-test-harness += "perl-module-warnings" +RDEPENDS_perl-module-test-more += "perl-module-file-temp" +RDEPENDS_perl-module-test-more += "perl-module-strict" +RDEPENDS_perl-module-test-more += "perl-module-test-builder-module" +RDEPENDS_perl-module-test-more += "perl-module-warnings" +RDEPENDS_perl-module-test += "perl-module-exporter" +RDEPENDS_perl-module-test += "perl-module-file-temp" +RDEPENDS_perl-module-test += "perl-module-strict" +RDEPENDS_perl-module-test-simple += "perl-module-strict" +RDEPENDS_perl-module-test-simple += "perl-module-test-builder-module" +RDEPENDS_perl-module-test-tester-capture += "perl-module-config" +RDEPENDS_perl-module-test-tester-capture += "perl-module-strict" +RDEPENDS_perl-module-test-tester-capture += "perl-module-test-builder" +RDEPENDS_perl-module-test-tester-capture += "perl-module-threads-shared" +RDEPENDS_perl-module-test-tester-capture += "perl-module-vars" +RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-exporter" +RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-strict" +RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-test-tester-capture" +RDEPENDS_perl-module-test-tester-delegate += "perl-module-strict" +RDEPENDS_perl-module-test-tester-delegate += "perl-module-vars" +RDEPENDS_perl-module-test-tester-delegate += "perl-module-warnings" +RDEPENDS_perl-module-test-tester += "perl-module-exporter" +RDEPENDS_perl-module-test-tester += "perl-module-strict" +RDEPENDS_perl-module-test-tester += "perl-module-test-builder" +RDEPENDS_perl-module-test-tester += "perl-module-test-tester-capturerunner" +RDEPENDS_perl-module-test-tester += "perl-module-test-tester-delegate" +RDEPENDS_perl-module-test-tester += "perl-module-vars" +RDEPENDS_perl-module-test2-api += "perl-module-carp" +RDEPENDS_perl-module-test2-api += "perl-module-exporter" +RDEPENDS_perl-module-test2-api += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-api += "perl-module-strict" +RDEPENDS_perl-module-test2-api += "perl-module-test2-api-context" +RDEPENDS_perl-module-test2-api += "perl-module-test2-api-instance" +RDEPENDS_perl-module-test2-api += "perl-module-test2-api-stack" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-bail" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-diag" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-exception" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-fail" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-note" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-ok" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-plan" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-skip" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-subtest" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-waiting" +RDEPENDS_perl-module-test2-api += "perl-module-test2-eventfacet-trace" +RDEPENDS_perl-module-test2-api += "perl-module-test2-hub" +RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-interceptor" +RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-interceptor-terminator" +RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-subtest" +RDEPENDS_perl-module-test2-api += "perl-module-test2-util" +RDEPENDS_perl-module-test2-api += "perl-module-test2-util-trace" +RDEPENDS_perl-module-test2-api += "perl-module-warnings" +RDEPENDS_perl-module-test2-api-context += "perl-module-carp" +RDEPENDS_perl-module-test2-api-context += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-api-context += "perl-module-strict" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-api" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-event-v2" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-eventfacet" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-eventfacet-trace" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util-externalmeta" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test2-api-context += "perl-module-warnings" +RDEPENDS_perl-module-test2-event += "perl-module-carp" +RDEPENDS_perl-module-test2-event += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-event += "perl-module-strict" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-about" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-amnesty" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-assert" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-control" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-error" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-hub" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-info" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-meta" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-parent" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-plan" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-trace" +RDEPENDS_perl-module-test2-event += "perl-module-test2-util" +RDEPENDS_perl-module-test2-event += "perl-module-test2-util-externalmeta" +RDEPENDS_perl-module-test2-event += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test2-event += "perl-module-test2-util-trace" +RDEPENDS_perl-module-test2-event += "perl-module-warnings" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-carp" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-test2-util-facets2legacy" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-strict" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-warnings" +RDEPENDS_perl-module-test2-eventfacet += "perl-module-carp" +RDEPENDS_perl-module-test2-eventfacet += "perl-module-test2-util" +RDEPENDS_perl-module-test2-eventfacet += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test2-eventfacet += "perl-module-strict" +RDEPENDS_perl-module-test2-eventfacet += "perl-module-warnings" +RDEPENDS_perl-module-test2-hub += "perl-module-carp" +RDEPENDS_perl-module-test2-hub += "perl-module-list-util" +RDEPENDS_perl-module-test2-hub += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-hub += "perl-module-strict" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-ok" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-pass" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-plan" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-util" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-util-externalmeta" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test2-hub += "perl-module-warnings" +RDEPENDS_perl-module-test2-util += "perl-module-carp" +RDEPENDS_perl-module-test2-util += "perl-module-config" +RDEPENDS_perl-module-test2-util += "perl-module-posix" +RDEPENDS_perl-module-test2-util += "perl-module-strict" +RDEPENDS_perl-module-test2-util += "perl-module-warnings" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-base" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-carp" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-exporter" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-strict" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-warnings" +RDEPENDS_perl-module-test2-util-hashbase += "perl-module-carp" +RDEPENDS_perl-module-test2-util-hashbase += "perl-module-mro" +RDEPENDS_perl-module-test2-util-hashbase += "perl-module-strict" +RDEPENDS_perl-module-test2-util-hashbase += "perl-module-warnings" +RDEPENDS_perl-module-text-abbrev += "perl-module-exporter" +RDEPENDS_perl-module-text-balanced += "perl-module-exporter" +RDEPENDS_perl-module-text-balanced += "perl-module-overload" +RDEPENDS_perl-module-text-balanced += "perl-module-selfloader" +RDEPENDS_perl-module-text-balanced += "perl-module-strict" +RDEPENDS_perl-module-text-balanced += "perl-module-vars" +RDEPENDS_perl-module-text-parsewords += "perl-module-exporter" +RDEPENDS_perl-module-text-parsewords += "perl-module-strict" +RDEPENDS_perl-module-text-tabs += "perl-module-exporter" +RDEPENDS_perl-module-text-tabs += "perl-module-strict" +RDEPENDS_perl-module-text-tabs += "perl-module-vars" +RDEPENDS_perl-module-text-wrap += "perl-module-exporter" +RDEPENDS_perl-module-text-wrap += "perl-module-re" +RDEPENDS_perl-module-text-wrap += "perl-module-strict" +RDEPENDS_perl-module-text-wrap += "perl-module-text-tabs" +RDEPENDS_perl-module-text-wrap += "perl-module-vars" +RDEPENDS_perl-module-text-wrap += "perl-module-warnings-register" +RDEPENDS_perl-module-thread += "perl-module-config" +RDEPENDS_perl-module-thread += "perl-module-exporter" +RDEPENDS_perl-module-thread += "perl-module-strict" +RDEPENDS_perl-module-thread += "perl-module-threads" +RDEPENDS_perl-module-thread += "perl-module-threads-shared" +RDEPENDS_perl-module-thread += "perl-module-warnings" +RDEPENDS_perl-module-thread-queue += "perl-module-strict" +RDEPENDS_perl-module-thread-queue += "perl-module-threads-shared" +RDEPENDS_perl-module-thread-queue += "perl-module-warnings" +RDEPENDS_perl-module-thread-semaphore += "perl-module-strict" +RDEPENDS_perl-module-thread-semaphore += "perl-module-threads-shared" +RDEPENDS_perl-module-thread-semaphore += "perl-module-warnings" +RDEPENDS_perl-module-threads += "perl-module-config" +RDEPENDS_perl-module-threads += "perl-module-overload" +RDEPENDS_perl-module-threads += "perl-module-strict" +RDEPENDS_perl-module-threads += "perl-module-warnings" +RDEPENDS_perl-module-threads += "perl-module-xsloader" +RDEPENDS_perl-module-threads-shared += "perl-module-strict" +RDEPENDS_perl-module-threads-shared += "perl-module-warnings" +RDEPENDS_perl-module-threads-shared += "perl-module-xsloader" +RDEPENDS_perl-module-tie-array += "perl-module-strict" +RDEPENDS_perl-module-tie-file += "perl-module-fcntl" +RDEPENDS_perl-module-tie-file += "perl-module-posix" +RDEPENDS_perl-module-tie-file += "perl-module-strict" +RDEPENDS_perl-module-tie-handle += "perl-module-tie-stdhandle" +RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register" +RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-strict" +RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-xsloader" +RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register" +RDEPENDS_perl-module-tie-memoize += "perl-module-strict" +RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash" +RDEPENDS_perl-module-tie-refhash += "perl-module-config" +RDEPENDS_perl-module-tie-refhash += "perl-module-overload" +RDEPENDS_perl-module-tie-refhash += "perl-module-strict" +RDEPENDS_perl-module-tie-refhash += "perl-module-tie-hash" +RDEPENDS_perl-module-tie-refhash += "perl-module-vars" +RDEPENDS_perl-module-tie-scalar += "perl-module-warnings-register" +RDEPENDS_perl-module-tie-stdhandle += "perl-module-strict" +RDEPENDS_perl-module-tie-stdhandle += "perl-module-tie-handle" +RDEPENDS_perl-module-tie-substrhash += "perl-module-integer" +RDEPENDS_perl-module-time-gmtime += "perl-module-exporter" +RDEPENDS_perl-module-time-gmtime += "perl-module-strict" +RDEPENDS_perl-module-time-gmtime += "perl-module-time-tm" +RDEPENDS_perl-module-time-hires += "perl-module-exporter" +RDEPENDS_perl-module-time-hires += "perl-module-strict" +RDEPENDS_perl-module-time-hires += "perl-module-xsloader" +RDEPENDS_perl-module-time-local += "perl-module-config" +RDEPENDS_perl-module-time-local += "perl-module-constant" +RDEPENDS_perl-module-time-local += "perl-module-exporter" +RDEPENDS_perl-module-time-local += "perl-module-parent" +RDEPENDS_perl-module-time-local += "perl-module-strict" +RDEPENDS_perl-module-time-localtime += "perl-module-exporter" +RDEPENDS_perl-module-time-localtime += "perl-module-strict" +RDEPENDS_perl-module-time-localtime += "perl-module-time-tm" +RDEPENDS_perl-module-time-piece += "perl-module-constant" +RDEPENDS_perl-module-time-piece += "perl-module-exporter" +RDEPENDS_perl-module-time-piece += "perl-module-integer" +RDEPENDS_perl-module-time-piece += "perl-module-overload" +RDEPENDS_perl-module-time-piece += "perl-module-strict" +RDEPENDS_perl-module-time-piece += "perl-module-time-local" +RDEPENDS_perl-module-time-piece += "perl-module-time-seconds" +RDEPENDS_perl-module-time-piece += "perl-module-xsloader" +RDEPENDS_perl-module-time-seconds += "perl-module-constant" +RDEPENDS_perl-module-time-seconds += "perl-module-exporter" +RDEPENDS_perl-module-time-seconds += "perl-module-overload" +RDEPENDS_perl-module-time-seconds += "perl-module-strict" +RDEPENDS_perl-module-time-tm += "perl-module-class-struct" +RDEPENDS_perl-module-time-tm += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-locale += "perl-module-base" +RDEPENDS_perl-module-unicode-collate-locale += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-locale += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate += "perl-module-constant" +RDEPENDS_perl-module-unicode-collate += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate += "perl-module-xsloader" +RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter" +RDEPENDS_perl-module-unicode-normalize += "perl-module-strict" +RDEPENDS_perl-module-unicode-normalize += "perl-module-warnings" +RDEPENDS_perl-module-unicode-normalize += "perl-module-xsloader" +RDEPENDS_perl-module-unicode-ucd += "perl-module-charnames" +RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter" +RDEPENDS_perl-module-unicode-ucd += "perl-module-feature" +RDEPENDS_perl-module-unicode-ucd += "perl-module-if" +RDEPENDS_perl-module-unicode-ucd += "perl-module-integer" +RDEPENDS_perl-module-unicode-ucd += "perl-module-strict" +RDEPENDS_perl-module-unicode-ucd += "perl-module-unicode-normalize" +RDEPENDS_perl-module-unicode-ucd += "perl-module-utf8-heavy" +RDEPENDS_perl-module-unicode-ucd += "perl-module-warnings" +RDEPENDS_perl-module-user-grent += "perl-module-class-struct" +RDEPENDS_perl-module-user-grent += "perl-module-exporter" +RDEPENDS_perl-module-user-grent += "perl-module-strict" +RDEPENDS_perl-module-user-pwent += "perl-module-class-struct" +RDEPENDS_perl-module-user-pwent += "perl-module-config" +RDEPENDS_perl-module-user-pwent += "perl-module-exporter" +RDEPENDS_perl-module-user-pwent += "perl-module-strict" +RDEPENDS_perl-module-user-pwent += "perl-module-warnings" +RDEPENDS_perl-module-utf8 += "perl-module-utf8-heavy" +RDEPENDS_perl-module-version += "perl-module-strict" +RDEPENDS_perl-module-version += "perl-module-version-regex" +RDEPENDS_perl-module-version += "perl-module-warnings-register" +RDEPENDS_perl-module-version-regex += "perl-module-strict" +RDEPENDS_perl-module-xsloader += "perl-module-dynaloader" +RDEPENDS_perl-module-anydbm-file += "perl-module-strict" +RDEPENDS_perl-module-anydbm-file += "perl-module-warnings" +RDEPENDS_perl-module-app-cpan += "perl-module-config" +RDEPENDS_perl-module-app-cpan += "perl-module-constant" +RDEPENDS_perl-module-app-cpan += "perl-module-cpan" +RDEPENDS_perl-module-app-cpan += "perl-module-cwd" +RDEPENDS_perl-module-app-cpan += "perl-module-data-dumper" +RDEPENDS_perl-module-app-cpan += "perl-module-file-basename" +RDEPENDS_perl-module-app-cpan += "perl-module-file-find" +RDEPENDS_perl-module-app-cpan += "perl-module-getopt-std" +RDEPENDS_perl-module-app-cpan += "perl-module-if" +RDEPENDS_perl-module-app-cpan += "perl-module-net-ping" +RDEPENDS_perl-module-app-cpan += "perl-module-strict" +RDEPENDS_perl-module-app-cpan += "perl-module-user-pwent" +RDEPENDS_perl-module-app-cpan += "perl-module-vars" +RDEPENDS_perl-module-app-cpan += "perl-module-warnings" +RDEPENDS_perl-module-app-prove += "perl-module-app-prove-state" +RDEPENDS_perl-module-app-prove += "perl-module-base" +RDEPENDS_perl-module-app-prove += "perl-module-constant" +RDEPENDS_perl-module-app-prove += "perl-module-getopt-long" +RDEPENDS_perl-module-app-prove += "perl-module-strict" +RDEPENDS_perl-module-app-prove += "perl-module-tap-harness" +RDEPENDS_perl-module-app-prove += "perl-module-tap-harness-env" +RDEPENDS_perl-module-app-prove += "perl-module-text-parsewords" +RDEPENDS_perl-module-app-prove += "perl-module-warnings" +RDEPENDS_perl-module-app-prove-state += "perl-module-app-prove-state-result" +RDEPENDS_perl-module-app-prove-state += "perl-module-base" +RDEPENDS_perl-module-app-prove-state += "perl-module-constant" +RDEPENDS_perl-module-app-prove-state += "perl-module-file-find" +RDEPENDS_perl-module-app-prove-state += "perl-module-strict" +RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-reader" +RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-writer" +RDEPENDS_perl-module-app-prove-state += "perl-module-warnings" +RDEPENDS_perl-module-app-prove-state-result += "perl-module-app-prove-state-result-test" +RDEPENDS_perl-module-app-prove-state-result += "perl-module-constant" +RDEPENDS_perl-module-app-prove-state-result += "perl-module-strict" +RDEPENDS_perl-module-app-prove-state-result += "perl-module-warnings" +RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-strict" +RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-warnings" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-constant" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-exporter" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-io-compress-bzip2" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-strict" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-time-local" +RDEPENDS_perl-module-archive-tar-constant += "perl-module-warnings" +RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar" +RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar-constant" +RDEPENDS_perl-module-archive-tar-file += "perl-module-file-basename" +RDEPENDS_perl-module-archive-tar-file += "perl-module-io-file" +RDEPENDS_perl-module-archive-tar-file += "perl-module-strict" +RDEPENDS_perl-module-archive-tar-file += "perl-module-vars" +RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-constant" +RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-file" +RDEPENDS_perl-module-archive-tar += "perl-module-config" +RDEPENDS_perl-module-archive-tar += "perl-module-cwd" +RDEPENDS_perl-module-archive-tar += "perl-module-exporter" +RDEPENDS_perl-module-archive-tar += "perl-module-file-path" +RDEPENDS_perl-module-archive-tar += "perl-module-io-file" +RDEPENDS_perl-module-archive-tar += "perl-module-io-zlib" +RDEPENDS_perl-module-archive-tar += "perl-module-strict" +RDEPENDS_perl-module-archive-tar += "perl-module-vars" +RDEPENDS_perl-module-arybase += "perl-module-xsloader" +RDEPENDS_perl-module-attribute-handlers += "perl-module-strict" +RDEPENDS_perl-module-attribute-handlers += "perl-module-warnings" +RDEPENDS_perl-module-attributes += "perl-module-exporter" +RDEPENDS_perl-module-attributes += "perl-module-strict" +RDEPENDS_perl-module-attributes += "perl-module-warnings" +RDEPENDS_perl-module-attributes += "perl-module-xsloader" +RDEPENDS_perl-module-autodie-exception += "perl-module-constant" +RDEPENDS_perl-module-autodie-exception += "perl-module-fatal" +RDEPENDS_perl-module-autodie-exception += "perl-module-fcntl" +RDEPENDS_perl-module-autodie-exception += "perl-module-overload" +RDEPENDS_perl-module-autodie-exception += "perl-module-strict" +RDEPENDS_perl-module-autodie-exception += "perl-module-warnings" +RDEPENDS_perl-module-autodie-exception-system += "perl-module-parent" +RDEPENDS_perl-module-autodie-exception-system += "perl-module-strict" +RDEPENDS_perl-module-autodie-exception-system += "perl-module-warnings" +RDEPENDS_perl-module-autodie-hints += "perl-module-b" +RDEPENDS_perl-module-autodie-hints += "perl-module-constant" +RDEPENDS_perl-module-autodie-hints += "perl-module-strict" +RDEPENDS_perl-module-autodie-hints += "perl-module-warnings" +RDEPENDS_perl-module-autodie += "perl-module-constant" +RDEPENDS_perl-module-autodie += "perl-module-lib" +RDEPENDS_perl-module-autodie += "perl-module-parent" +RDEPENDS_perl-module-autodie += "perl-module-strict" +RDEPENDS_perl-module-autodie += "perl-module-warnings" +RDEPENDS_perl-module-autodie-scope-guard += "perl-module-strict" +RDEPENDS_perl-module-autodie-scope-guard += "perl-module-warnings" +RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-autodie-scope-guard" +RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-strict" +RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-warnings" +RDEPENDS_perl-module-autodie-skip += "perl-module-strict" +RDEPENDS_perl-module-autodie-skip += "perl-module-warnings" +RDEPENDS_perl-module-autodie-util += "perl-module-autodie-scope-guardstack" +RDEPENDS_perl-module-autodie-util += "perl-module-exporter" +RDEPENDS_perl-module-autodie-util += "perl-module-strict" +RDEPENDS_perl-module-autodie-util += "perl-module-warnings" +RDEPENDS_perl-module-autoloader += "perl-module-strict" +RDEPENDS_perl-module-autosplit += "perl-module-config" +RDEPENDS_perl-module-autosplit += "perl-module-exporter" +RDEPENDS_perl-module-autosplit += "perl-module-file-basename" +RDEPENDS_perl-module-autosplit += "perl-module-file-path" +RDEPENDS_perl-module-autosplit += "perl-module-strict" +RDEPENDS_perl-module-base += "perl-module-strict" +RDEPENDS_perl-module-b-concise += "perl-module-b" +RDEPENDS_perl-module-b-concise += "perl-module-b-op-private" +RDEPENDS_perl-module-b-concise += "perl-module-config" +RDEPENDS_perl-module-b-concise += "perl-module-exporter" +RDEPENDS_perl-module-b-concise += "perl-module-feature" +RDEPENDS_perl-module-b-concise += "perl-module-strict" +RDEPENDS_perl-module-b-concise += "perl-module-warnings" +RDEPENDS_perl-module-b-debug += "perl-module-b" +RDEPENDS_perl-module-b-debug += "perl-module-config" +RDEPENDS_perl-module-b-debug += "perl-module-strict" +RDEPENDS_perl-module-benchmark += "perl-module-exporter" +RDEPENDS_perl-module-benchmark += "perl-module-strict" +RDEPENDS_perl-module-bigint += "perl-module-constant" +RDEPENDS_perl-module-bigint += "perl-module-exporter" +RDEPENDS_perl-module-bigint += "perl-module-math-bigint" +RDEPENDS_perl-module-bigint += "perl-module-math-bigint-trace" +RDEPENDS_perl-module-bigint += "perl-module-overload" +RDEPENDS_perl-module-bigint += "perl-module-strict" +RDEPENDS_perl-module-bigint += "perl-module-warnings" +RDEPENDS_perl-module-bignum += "perl-module-bigint" +RDEPENDS_perl-module-bignum += "perl-module-exporter" +RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat" +RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat-trace" +RDEPENDS_perl-module-bignum += "perl-module-math-bigint" +RDEPENDS_perl-module-bignum += "perl-module-math-bigint-trace" +RDEPENDS_perl-module-bignum += "perl-module-overload" +RDEPENDS_perl-module-bignum += "perl-module-strict" +RDEPENDS_perl-module-bignum += "perl-module-warnings" +RDEPENDS_perl-module-bigrat += "perl-module-bigint" +RDEPENDS_perl-module-bigrat += "perl-module-exporter" +RDEPENDS_perl-module-bigrat += "perl-module-math-bigfloat" +RDEPENDS_perl-module-bigrat += "perl-module-math-bigint" +RDEPENDS_perl-module-bigrat += "perl-module-math-bigint-trace" +RDEPENDS_perl-module-bigrat += "perl-module-math-bigrat" +RDEPENDS_perl-module-bigrat += "perl-module-overload" +RDEPENDS_perl-module-bigrat += "perl-module-strict" +RDEPENDS_perl-module-bigrat += "perl-module-warnings" +RDEPENDS_perl-module-blib += "perl-module-cwd" +RDEPENDS_perl-module-b += "perl-module-exporter" +RDEPENDS_perl-module-b += "perl-module-xsloader" +RDEPENDS_perl-module-b-showlex += "perl-module-b" +RDEPENDS_perl-module-b-showlex += "perl-module-b-concise" +RDEPENDS_perl-module-b-showlex += "perl-module-b-terse" +RDEPENDS_perl-module-b-showlex += "perl-module-strict" +RDEPENDS_perl-module-b-terse += "perl-module-b" +RDEPENDS_perl-module-b-terse += "perl-module-b-concise" +RDEPENDS_perl-module-b-terse += "perl-module-strict" +RDEPENDS_perl-module-b-xref += "perl-module-b" +RDEPENDS_perl-module-b-xref += "perl-module-config" +RDEPENDS_perl-module-b-xref += "perl-module-strict" +RDEPENDS_perl-module-bytes += "perl-module-bytes-heavy" +RDEPENDS_perl-module--charnames += "perl-module-bytes" +RDEPENDS_perl-module-charnames += "perl-module-bytes" +RDEPENDS_perl-module-charnames += "perl-module--charnames" +RDEPENDS_perl-module--charnames += "perl-module-re" +RDEPENDS_perl-module-charnames += "perl-module-re" +RDEPENDS_perl-module--charnames += "perl-module-strict" +RDEPENDS_perl-module-charnames += "perl-module-strict" +RDEPENDS_perl-module--charnames += "perl-module-warnings" +RDEPENDS_perl-module-charnames += "perl-module-warnings" +RDEPENDS_perl-module-class-struct += "perl-module-exporter" +RDEPENDS_perl-module-class-struct += "perl-module-strict" +RDEPENDS_perl-module-class-struct += "perl-module-warnings-register" +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-bytes " +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-constant" +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-dynaloader" +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-exporter" +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-strict " +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-warnings " +RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-xsloader" +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-bytes " +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-constant" +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-dynaloader" +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter" +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-strict " +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-warnings " +RDEPENDS_perl-module-compress-raw-zlib += "perl-module-xsloader" +RDEPENDS_perl-module-compress-zlib += "perl-module-bytes " +RDEPENDS_perl-module-compress-zlib += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-compress-zlib += "perl-module-constant" +RDEPENDS_perl-module-compress-zlib += "perl-module-exporter" +RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip" +RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip-constants" +RDEPENDS_perl-module-compress-zlib += "perl-module-io-handle " +RDEPENDS_perl-module-compress-zlib += "perl-module-io-uncompress-gunzip" +RDEPENDS_perl-module-compress-zlib += "perl-module-strict " +RDEPENDS_perl-module-compress-zlib += "perl-module-warnings " +RDEPENDS_perl-module-config-extensions += "perl-module-config" +RDEPENDS_perl-module-config-extensions += "perl-module-exporter" +RDEPENDS_perl-module-config-extensions += "perl-module-strict" +RDEPENDS_perl-module-config += "perl-module-strict" +RDEPENDS_perl-module-config += "perl-module-warnings" +RDEPENDS_perl-module-config-perl-v += "perl-module-config" +RDEPENDS_perl-module-config-perl-v += "perl-module-exporter" +RDEPENDS_perl-module-config-perl-v += "perl-module-strict" +RDEPENDS_perl-module-config-perl-v += "perl-module-vars" +RDEPENDS_perl-module-config-perl-v += "perl-module-warnings" +RDEPENDS_perl-module-constant += "perl-module-strict" +RDEPENDS_perl-module-constant += "perl-module-warnings-register" +RDEPENDS_perl-module-corelist += "perl-module-list-util" +RDEPENDS_perl-module-corelist += "perl-module-corelist" +RDEPENDS_perl-module-corelist += "perl-module-strict" +RDEPENDS_perl-module-corelist += "perl-module-version" +RDEPENDS_perl-module-corelist += "perl-module-warnings" +RDEPENDS_perl-module-cpan += "perl-module-b" +RDEPENDS_perl-module-cpan += "perl-module-config" +RDEPENDS_perl-module-cpan += "perl-module-cwd" +RDEPENDS_perl-module-cpan += "perl-module-data-dumper" +RDEPENDS_perl-module-cpan += "perl-module-dirhandle" +RDEPENDS_perl-module-cpan += "perl-module-errno" +RDEPENDS_perl-module-cpan += "perl-module-exporter" +RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-cpan += "perl-module-extutils-manifest" +RDEPENDS_perl-module-cpan += "perl-module-fcntl" +RDEPENDS_perl-module-cpan += "perl-module-file-basename" +RDEPENDS_perl-module-cpan += "perl-module-file-copy" +RDEPENDS_perl-module-cpan += "perl-module-file-find" +RDEPENDS_perl-module-cpan += "perl-module-filehandle" +RDEPENDS_perl-module-cpan += "perl-module-file-path" +RDEPENDS_perl-module-cpan += "perl-module-lib" +RDEPENDS_perl-module-cpan += "perl-module-net-ping" +RDEPENDS_perl-module-cpan += "perl-module-overload" +RDEPENDS_perl-module-cpan += "perl-module-posix" +RDEPENDS_perl-module-cpan += "perl-module-safe" +RDEPENDS_perl-module-cpan += "perl-module-strict" +RDEPENDS_perl-module-cpan += "perl-module-sys-hostname" +RDEPENDS_perl-module-cpan += "perl-module-term-readline" +RDEPENDS_perl-module-cpan += "perl-module-text-parsewords" +RDEPENDS_perl-module-cpan += "perl-module-text-wrap" +RDEPENDS_perl-module-cpan += "perl-module-time-local" +RDEPENDS_perl-module-cpan += "perl-module-vars" +RDEPENDS_perl-module-cpan += "perl-module-warnings" +RDEPENDS_perl-module-cwd += "perl-module-errno" +RDEPENDS_perl-module-cwd += "perl-module-exporter" +RDEPENDS_perl-module-cwd += "perl-module-strict" +RDEPENDS_perl-module-cwd += "perl-module-xsloader" +RDEPENDS_perl-module-data-dumper += "perl-module-config" +RDEPENDS_perl-module-data-dumper += "perl-module-constant" +RDEPENDS_perl-module-data-dumper += "perl-module-exporter" +RDEPENDS_perl-module-data-dumper += "perl-module-xsloader" +RDEPENDS_perl-module-dbm-filter-compress += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter-compress += "perl-module-warnings" +RDEPENDS_perl-module-dbm-filter-encode += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter-encode += "perl-module-warnings" +RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-warnings" +RDEPENDS_perl-module-dbm-filter-null += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter-null += "perl-module-warnings" +RDEPENDS_perl-module-dbm-filter += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter += "perl-module-warnings" +RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-strict" +RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-warnings" +RDEPENDS_perl-module-db += "perl-module-strict" +RDEPENDS_perl-module-deprecate += "perl-module-strict" +RDEPENDS_perl-module-deprecate += "perl-module-warnings" +RDEPENDS_perl-module-devel-peek += "perl-module-exporter" +RDEPENDS_perl-module-devel-peek += "perl-module-xsloader" +RDEPENDS_perl-module-devel-ppport += "perl-module-file-find" +RDEPENDS_perl-module-devel-ppport += "perl-module-getopt-long" +RDEPENDS_perl-module-devel-ppport += "perl-module-strict" +RDEPENDS_perl-module-devel-ppport += "perl-module-vars" +RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader" +RDEPENDS_perl-module-diagnostics += "perl-module-config" +RDEPENDS_perl-module-diagnostics += "perl-module-getopt-std" +RDEPENDS_perl-module-diagnostics += "perl-module-strict" +RDEPENDS_perl-module-diagnostics += "perl-module-text-tabs" +RDEPENDS_perl-module-digest-base += "perl-module-mime-base64" +RDEPENDS_perl-module-digest-base += "perl-module-strict" +RDEPENDS_perl-module-digest-base += "perl-module-vars" +RDEPENDS_perl-module-digest-file += "perl-module-digest" +RDEPENDS_perl-module-digest-file += "perl-module-exporter" +RDEPENDS_perl-module-digest-file += "perl-module-strict" +RDEPENDS_perl-module-digest-file += "perl-module-vars" +RDEPENDS_perl-module-digest-md5 += "perl-module-digest-base" +RDEPENDS_perl-module-digest-md5 += "perl-module-exporter" +RDEPENDS_perl-module-digest-md5 += "perl-module-strict" +RDEPENDS_perl-module-digest-md5 += "perl-module-vars" +RDEPENDS_perl-module-digest-md5 += "perl-module-xsloader" +RDEPENDS_perl-module-digest += "perl-module-strict" +RDEPENDS_perl-module-digest += "perl-module-vars" +RDEPENDS_perl-module-digest-sha += "perl-module-digest-base" +RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader" +RDEPENDS_perl-module-digest-sha += "perl-module-exporter" +RDEPENDS_perl-module-digest-sha += "perl-module-fcntl" +RDEPENDS_perl-module-digest-sha += "perl-module-integer" +RDEPENDS_perl-module-digest-sha += "perl-module-strict" +RDEPENDS_perl-module-digest-sha += "perl-module-vars" +RDEPENDS_perl-module-digest-sha += "perl-module-warnings" +RDEPENDS_perl-module-digest-sha += "perl-module-xsloader" +RDEPENDS_perl-module-dynaloader += "perl-module-config" +RDEPENDS_perl-module-encode-alias += "perl-module-constant" +RDEPENDS_perl-module-encode-alias += "perl-module-encode" +RDEPENDS_perl-module-encode-alias += "perl-module-exporter" +RDEPENDS_perl-module-encode-alias += "perl-module-strict" +RDEPENDS_perl-module-encode-alias += "perl-module-warnings" +RDEPENDS_perl-module-encode-byte += "perl-module-encode" +RDEPENDS_perl-module-encode-byte += "perl-module-strict" +RDEPENDS_perl-module-encode-byte += "perl-module-warnings" +RDEPENDS_perl-module-encode-byte += "perl-module-xsloader" +RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter" +RDEPENDS_perl-module-encode-cjkconstants += "perl-module-strict" +RDEPENDS_perl-module-encode-cjkconstants += "perl-module-warnings" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-encode" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-parent" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-strict" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-utf8" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-vars" +RDEPENDS_perl-module-encode-cn-hz += "perl-module-warnings" +RDEPENDS_perl-module-encode-cn += "perl-module-encode" +RDEPENDS_perl-module-encode-cn += "perl-module-encode-cn-hz" +RDEPENDS_perl-module-encode-cn += "perl-module-strict" +RDEPENDS_perl-module-encode-cn += "perl-module-warnings" +RDEPENDS_perl-module-encode-cn += "perl-module-xsloader" +RDEPENDS_perl-module-encode-config += "perl-module-strict" +RDEPENDS_perl-module-encode-config += "perl-module-warnings" +RDEPENDS_perl-module-encode-ebcdic += "perl-module-encode" +RDEPENDS_perl-module-encode-ebcdic += "perl-module-strict" +RDEPENDS_perl-module-encode-ebcdic += "perl-module-warnings" +RDEPENDS_perl-module-encode-ebcdic += "perl-module-xsloader" +RDEPENDS_perl-module-encode-encoder += "perl-module-constant" +RDEPENDS_perl-module-encode-encoder += "perl-module-encode" +RDEPENDS_perl-module-encode-encoder += "perl-module-exporter" +RDEPENDS_perl-module-encode-encoder += "perl-module-overload" +RDEPENDS_perl-module-encode-encoder += "perl-module-strict" +RDEPENDS_perl-module-encode-encoder += "perl-module-warnings" +RDEPENDS_perl-module-encode-encoding += "perl-module-constant" +RDEPENDS_perl-module-encode-encoding += "perl-module-encode" +RDEPENDS_perl-module-encode-encoding += "perl-module-encode-mime-name" +RDEPENDS_perl-module-encode-encoding += "perl-module-strict" +RDEPENDS_perl-module-encode-encoding += "perl-module-warnings" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-encode" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-parent" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-strict" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-utf8" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-vars" +RDEPENDS_perl-module-encode-gsm0338 += "perl-module-warnings" +RDEPENDS_perl-module-encode-guess += "perl-module-bytes" +RDEPENDS_perl-module-encode-guess += "perl-module-constant" +RDEPENDS_perl-module-encode-guess += "perl-module-encode" +RDEPENDS_perl-module-encode-guess += "perl-module-encode-unicode" +RDEPENDS_perl-module-encode-guess += "perl-module-parent" +RDEPENDS_perl-module-encode-guess += "perl-module-strict" +RDEPENDS_perl-module-encode-guess += "perl-module-warnings" +RDEPENDS_perl-module-encode-jp-h2z += "perl-module-encode-cjkconstants" +RDEPENDS_perl-module-encode-jp-h2z += "perl-module-strict" +RDEPENDS_perl-module-encode-jp-h2z += "perl-module-vars" +RDEPENDS_perl-module-encode-jp-h2z += "perl-module-warnings" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-bytes" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-cjkconstants" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-jp-h2z" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-parent" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-strict" +RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-warnings" +RDEPENDS_perl-module-encode-jp += "perl-module-encode" +RDEPENDS_perl-module-encode-jp += "perl-module-encode-jp-jis7" +RDEPENDS_perl-module-encode-jp += "perl-module-strict" +RDEPENDS_perl-module-encode-jp += "perl-module-warnings" +RDEPENDS_perl-module-encode-jp += "perl-module-xsloader" +RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode" +RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode-cjkconstants" +RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-parent" +RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-strict" +RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-warnings" +RDEPENDS_perl-module-encode-kr += "perl-module-encode" +RDEPENDS_perl-module-encode-kr += "perl-module-encode-kr-2022-kr" +RDEPENDS_perl-module-encode-kr += "perl-module-strict" +RDEPENDS_perl-module-encode-kr += "perl-module-warnings" +RDEPENDS_perl-module-encode-kr += "perl-module-xsloader" +RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-constant" +RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-encode-cjkconstants" +RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-parent" +RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-strict" +RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-warnings" +RDEPENDS_perl-module-encode-mime-header += "perl-module-encode" +RDEPENDS_perl-module-encode-mime-header += "perl-module-mime-base64" +RDEPENDS_perl-module-encode-mime-header += "perl-module-parent" +RDEPENDS_perl-module-encode-mime-header += "perl-module-strict" +RDEPENDS_perl-module-encode-mime-header += "perl-module-warnings" +RDEPENDS_perl-module-encode-mime-name += "perl-module-strict" +RDEPENDS_perl-module-encode-mime-name += "perl-module-warnings" +RDEPENDS_perl-module-encode += "perl-module-bytes" +RDEPENDS_perl-module-encode += "perl-module-constant" +RDEPENDS_perl-module-encode += "perl-module-encode-alias" +RDEPENDS_perl-module-encode += "perl-module-encode-config" +RDEPENDS_perl-module-encode += "perl-module-encode-configlocal-pm" +RDEPENDS_perl-module-encode += "perl-module-encode-encoding" +RDEPENDS_perl-module-encode += "perl-module-encode-mime-name" +RDEPENDS_perl-module-encode += "perl-module-exporter" +RDEPENDS_perl-module-encode += "perl-module-parent" +RDEPENDS_perl-module-encode += "perl-module-storable" +RDEPENDS_perl-module-encode += "perl-module-strict" +RDEPENDS_perl-module-encode += "perl-module-warnings" +RDEPENDS_perl-module-encode += "perl-module-xsloader" +RDEPENDS_perl-module-encode-symbol += "perl-module-encode" +RDEPENDS_perl-module-encode-symbol += "perl-module-strict" +RDEPENDS_perl-module-encode-symbol += "perl-module-warnings" +RDEPENDS_perl-module-encode-symbol += "perl-module-xsloader" +RDEPENDS_perl-module-encode-tw += "perl-module-encode" +RDEPENDS_perl-module-encode-tw += "perl-module-strict" +RDEPENDS_perl-module-encode-tw += "perl-module-warnings" +RDEPENDS_perl-module-encode-tw += "perl-module-xsloader" +RDEPENDS_perl-module-encode-unicode += "perl-module-encode" +RDEPENDS_perl-module-encode-unicode += "perl-module-parent" +RDEPENDS_perl-module-encode-unicode += "perl-module-strict" +RDEPENDS_perl-module-encode-unicode += "perl-module-warnings" +RDEPENDS_perl-module-encode-unicode += "perl-module-xsloader" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-encode" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-mime-base64" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-parent" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-re" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-strict" +RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-warnings" +RDEPENDS_perl-module-encoding += "perl-module-config" +RDEPENDS_perl-module-encoding += "perl-module-constant" +RDEPENDS_perl-module-encoding += "perl-module-encode" +RDEPENDS_perl-module-encoding += "perl-module-filter-util-call" +RDEPENDS_perl-module-encoding += "perl-module-i18n-langinfo" +RDEPENDS_perl-module-encoding += "perl-module-posix" +RDEPENDS_perl-module-encoding += "perl-module-strict" +RDEPENDS_perl-module-encoding += "perl-module-utf8" +RDEPENDS_perl-module-encoding += "perl-module-warnings" +RDEPENDS_perl-module-encoding-warnings += "perl-module-strict" +RDEPENDS_perl-module-encoding-warnings += "perl-module-warnings" +RDEPENDS_perl-module-english += "perl-module-exporter" +RDEPENDS_perl-module-env += "perl-module-config" +RDEPENDS_perl-module-env += "perl-module-tie-array" +RDEPENDS_perl-module-errno += "perl-module-exporter" +RDEPENDS_perl-module-errno += "perl-module-strict" +RDEPENDS_perl-module-experimental += "perl-module-strict" +RDEPENDS_perl-module-experimental += "perl-module-version" +RDEPENDS_perl-module-experimental += "perl-module-warnings" +RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter" +RDEPENDS_perl-module-exporter-heavy += "perl-module-strict" +RDEPENDS_perl-module-exporter += "perl-module-exporter-heavy" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-config" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-cwd" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-dynaloader" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-extutils-mksymlists" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-temp" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-ipc-cmd" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-text-parsewords" +RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-path" +RDEPENDS_perl-module-extutils-cbuilder += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-config" +RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-extutils-cbuilder-base" +RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-config" +RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-extutils-cbuilder-base" +RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-extutils-cbuilder-base" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-io-file" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-strict" +RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-warnings" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-command" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-install" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-getopt-long" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-strict" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-test-harness" +RDEPENDS_perl-module-extutils-command-mm += "perl-module-warnings" +RDEPENDS_perl-module-extutils-command += "perl-module-exporter" +RDEPENDS_perl-module-extutils-command += "perl-module-file-copy" +RDEPENDS_perl-module-extutils-command += "perl-module-file-find" +RDEPENDS_perl-module-extutils-command += "perl-module-file-path" +RDEPENDS_perl-module-extutils-command += "perl-module-strict" +RDEPENDS_perl-module-extutils-command += "perl-module-vars" +RDEPENDS_perl-module-extutils-constant-base += "perl-module-constant" +RDEPENDS_perl-module-extutils-constant-base += "perl-module-extutils-constant-utils" +RDEPENDS_perl-module-extutils-constant-base += "perl-module-strict" +RDEPENDS_perl-module-extutils-constant-base += "perl-module-text-wrap" +RDEPENDS_perl-module-extutils-constant-base += "perl-module-vars" +RDEPENDS_perl-module-extutils-constant += "perl-module-exporter" +RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-proxysubs" +RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-utils" +RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-xs" +RDEPENDS_perl-module-extutils-constant += "perl-module-filehandle" +RDEPENDS_perl-module-extutils-constant += "perl-module-strict" +RDEPENDS_perl-module-extutils-constant += "perl-module-vars" +RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-utils" +RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs" +RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-strict" +RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-vars" +RDEPENDS_perl-module-extutils-constant-utils += "perl-module-constant" +RDEPENDS_perl-module-extutils-constant-utils += "perl-module-posix" +RDEPENDS_perl-module-extutils-constant-utils += "perl-module-strict" +RDEPENDS_perl-module-extutils-constant-utils += "perl-module-vars" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-data-dumper" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-utils" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-strict" +RDEPENDS_perl-module-extutils-constant-xs += "perl-module-vars" +RDEPENDS_perl-module-extutils-embed += "perl-module-config" +RDEPENDS_perl-module-extutils-embed += "perl-module-exporter" +RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-liblist" +RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-embed += "perl-module-getopt-std" +RDEPENDS_perl-module-extutils-embed += "perl-module-strict" +RDEPENDS_perl-module-extutils-installed += "perl-module-config" +RDEPENDS_perl-module-extutils-installed += "perl-module-data-dumper" +RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-packlist" +RDEPENDS_perl-module-extutils-installed += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-installed += "perl-module-file-find" +RDEPENDS_perl-module-extutils-installed += "perl-module-strict" +RDEPENDS_perl-module-extutils-installed += "perl-module-vars" +RDEPENDS_perl-module-extutils-install += "perl-module-autosplit" +RDEPENDS_perl-module-extutils-install += "perl-module-config" +RDEPENDS_perl-module-extutils-install += "perl-module-cwd" +RDEPENDS_perl-module-extutils-install += "perl-module-exporter" +RDEPENDS_perl-module-extutils-install += "perl-module-extutils-packlist" +RDEPENDS_perl-module-extutils-install += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-install += "perl-module-file-compare" +RDEPENDS_perl-module-extutils-install += "perl-module-file-copy" +RDEPENDS_perl-module-extutils-install += "perl-module-file-find" +RDEPENDS_perl-module-extutils-install += "perl-module-file-path" +RDEPENDS_perl-module-extutils-install += "perl-module-strict" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-cwd" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-strict" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-text-parsewords" +RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-warnings" +RDEPENDS_perl-module-extutils-liblist += "perl-module-extutils-liblist-kid" +RDEPENDS_perl-module-extutils-liblist += "perl-module-strict" +RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-config" +RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-strict" +RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-base" +RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode" +RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode-alias" +RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-i18n-langinfo" +RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-strict" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-b" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-cpan" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-cwd" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-exporter" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-version" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-manifest" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-version" +RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-strict" +RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-vars" +RDEPENDS_perl-module-extutils-manifest += "perl-module-config" +RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter" +RDEPENDS_perl-module-extutils-manifest += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-manifest += "perl-module-file-copy" +RDEPENDS_perl-module-extutils-manifest += "perl-module-file-find" +RDEPENDS_perl-module-extutils-manifest += "perl-module-file-path" +RDEPENDS_perl-module-extutils-manifest += "perl-module-strict" +RDEPENDS_perl-module-extutils-manifest += "perl-module-warnings" +RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter" +RDEPENDS_perl-module-extutils-miniperl += "perl-module-extutils-embed" +RDEPENDS_perl-module-extutils-miniperl += "perl-module-strict" +RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-config" +RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-dynaloader" +RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter" +RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-strict" +RDEPENDS_perl-module-extutils-mksymlists += "perl-module-config" +RDEPENDS_perl-module-extutils-mksymlists += "perl-module-exporter" +RDEPENDS_perl-module-extutils-mksymlists += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-aix += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-autosplit" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-cpan" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-data-dumper" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-find" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-any += "perl-module-version" +RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-beos += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-win32" +RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-dos += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-macos += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32" +RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist" +RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-cwd" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-encode" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-liblist" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-find" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-vars" +RDEPENDS_perl-module-extutils-mm-unix += "perl-module-version" +RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-exporter" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-liblist-kid" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-find" +RDEPENDS_perl-module-extutils-mm-vms += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-vos += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-vos += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-any" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-unix" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-strict" +RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-makemaker-config" +RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32" +RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-strict" +RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm" +RDEPENDS_perl-module-extutils-my += "perl-module-strict" +RDEPENDS_perl-module-extutils-packlist += "perl-module-config" +RDEPENDS_perl-module-extutils-packlist += "perl-module-cwd" +RDEPENDS_perl-module-extutils-packlist += "perl-module-strict" +RDEPENDS_perl-module-extutils-packlist += "perl-module-vars" +RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-strict" +RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-warnings" +RDEPENDS_perl-module-extutils-parsexs-countlines += "perl-module-strict" +RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-strict" +RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-warnings" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-config" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-cwd" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-constants" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-countlines" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-eval" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-utilities" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-file-basename" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-re" +RDEPENDS_perl-module-extutils-parsexs += "perl-module-strict" +RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-exporter" +RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-parsexs-constants" +RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-typemaps" +RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-strict" +RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-warnings" +RDEPENDS_perl-module-extutils-testlib += "perl-module-cwd" +RDEPENDS_perl-module-extutils-testlib += "perl-module-lib" +RDEPENDS_perl-module-extutils-testlib += "perl-module-strict" +RDEPENDS_perl-module-extutils-testlib += "perl-module-warnings" +RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-exporter" +RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-extutils-typemaps" +RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-strict" +RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-warnings" +RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-strict" +RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-warnings" +RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-re" +RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-strict" +RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-warnings" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs-constants" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-inputmap" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-outputmap" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-type" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-strict" +RDEPENDS_perl-module-extutils-typemaps += "perl-module-warnings" +RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-extutils-typemaps" +RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-strict" +RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-warnings" +RDEPENDS_perl-module-fatal += "perl-module-autodie" +RDEPENDS_perl-module-fatal += "perl-module-autodie-exception-system" +RDEPENDS_perl-module-fatal += "perl-module-autodie-hints" +RDEPENDS_perl-module-fatal += "perl-module-autodie-util" +RDEPENDS_perl-module-fatal += "perl-module-config" +RDEPENDS_perl-module-fatal += "perl-module-constant" +RDEPENDS_perl-module-fatal += "perl-module-fcntl" +RDEPENDS_perl-module-fatal += "perl-module-posix" +RDEPENDS_perl-module-fatal += "perl-module-strict" +RDEPENDS_perl-module-fatal += "perl-module-tie-refhash" +RDEPENDS_perl-module-fatal += "perl-module-warnings" +RDEPENDS_perl-module-fcntl += "perl-module-exporter" +RDEPENDS_perl-module-fcntl += "perl-module-strict" +RDEPENDS_perl-module-fcntl += "perl-module-xsloader" +RDEPENDS_perl-module-fields += "perl-module-base" +RDEPENDS_perl-module-fields += "perl-module-hash-util" +RDEPENDS_perl-module-fields += "perl-module-strict" +RDEPENDS_perl-module-file-basename += "perl-module-exporter" +RDEPENDS_perl-module-file-basename += "perl-module-re" +RDEPENDS_perl-module-file-basename += "perl-module-strict" +RDEPENDS_perl-module-file-basename += "perl-module-warnings" +RDEPENDS_perl-module-filecache += "perl-module-parent" +RDEPENDS_perl-module-filecache += "perl-module-strict" +RDEPENDS_perl-module-file-compare += "perl-module-exporter" +RDEPENDS_perl-module-file-compare += "perl-module-strict" +RDEPENDS_perl-module-file-compare += "perl-module-warnings" +RDEPENDS_perl-module-file-copy += "perl-module-config" +RDEPENDS_perl-module-file-copy += "perl-module-exporter" +RDEPENDS_perl-module-file-copy += "perl-module-file-basename" +RDEPENDS_perl-module-file-copy += "perl-module-strict" +RDEPENDS_perl-module-file-copy += "perl-module-warnings" +RDEPENDS_perl-module-file-dosglob += "perl-module-strict" +RDEPENDS_perl-module-file-dosglob += "perl-module-text-parsewords" +RDEPENDS_perl-module-file-dosglob += "perl-module-warnings" +RDEPENDS_perl-module-file-dosglob += "perl-module-xsloader" +RDEPENDS_perl-module-file-fetch += "perl-module-constant" +RDEPENDS_perl-module-file-fetch += "perl-module-cwd" +RDEPENDS_perl-module-file-fetch += "perl-module-file-basename" +RDEPENDS_perl-module-file-fetch += "perl-module-file-copy" +RDEPENDS_perl-module-file-fetch += "perl-module-filehandle" +RDEPENDS_perl-module-file-fetch += "perl-module-file-path" +RDEPENDS_perl-module-file-fetch += "perl-module-file-temp" +RDEPENDS_perl-module-file-fetch += "perl-module-ipc-cmd" +RDEPENDS_perl-module-file-fetch += "perl-module-locale-maketext-simple" +RDEPENDS_perl-module-file-fetch += "perl-module-load" +RDEPENDS_perl-module-file-fetch += "perl-module-params-check" +RDEPENDS_perl-module-file-fetch += "perl-module-strict" +RDEPENDS_perl-module-file-fetch += "perl-module-vars" +RDEPENDS_perl-module-file-find += "perl-module-config" +RDEPENDS_perl-module-file-find += "perl-module-cwd" +RDEPENDS_perl-module-file-find += "perl-module-exporter" +RDEPENDS_perl-module-file-find += "perl-module-file-basename" +RDEPENDS_perl-module-file-find += "perl-module-strict" +RDEPENDS_perl-module-file-find += "perl-module-warnings" +RDEPENDS_perl-module-file-find += "perl-module-warnings-register" +RDEPENDS_perl-module-file-globmapper += "perl-module-file-glob" +RDEPENDS_perl-module-file-globmapper += "perl-module-strict" +RDEPENDS_perl-module-file-globmapper += "perl-module-warnings" +RDEPENDS_perl-module-file-glob += "perl-module-exporter" +RDEPENDS_perl-module-file-glob += "perl-module-strict" +RDEPENDS_perl-module-file-glob += "perl-module-warnings" +RDEPENDS_perl-module-file-glob += "perl-module-xsloader" +RDEPENDS_perl-module-filehandle += "perl-module-exporter" +RDEPENDS_perl-module-filehandle += "perl-module-fcntl" +RDEPENDS_perl-module-filehandle += "perl-module-io-file" +RDEPENDS_perl-module-filehandle += "perl-module-strict" +RDEPENDS_perl-module-file-path += "perl-module-cwd" +RDEPENDS_perl-module-file-path += "perl-module-exporter" +RDEPENDS_perl-module-file-path += "perl-module-file-basename" +RDEPENDS_perl-module-file-path += "perl-module-strict" +RDEPENDS_perl-module-file-path += "perl-module-vars" +RDEPENDS_perl-module-file-stat += "perl-module-class-struct" +RDEPENDS_perl-module-file-stat += "perl-module-constant" +RDEPENDS_perl-module-file-stat += "perl-module-exporter" +RDEPENDS_perl-module-file-stat += "perl-module-fcntl" +RDEPENDS_perl-module-file-stat += "perl-module-overload " +RDEPENDS_perl-module-file-stat += "perl-module-strict" +RDEPENDS_perl-module-file-stat += "perl-module-warnings" +RDEPENDS_perl-module-file-stat += "perl-module-warnings-register" +RDEPENDS_perl-module-file-temp += "perl-module-constant" +RDEPENDS_perl-module-file-temp += "perl-module-cwd" +RDEPENDS_perl-module-file-temp += "perl-module-errno" +RDEPENDS_perl-module-file-temp += "perl-module-exporter" +RDEPENDS_perl-module-file-temp += "perl-module-fcntl" +RDEPENDS_perl-module-file-temp += "perl-module-file-path" +RDEPENDS_perl-module-file-temp += "perl-module-io-seekable" +RDEPENDS_perl-module-file-temp += "perl-module-overload" +RDEPENDS_perl-module-file-temp += "perl-module-parent" +RDEPENDS_perl-module-file-temp += "perl-module-posix" +RDEPENDS_perl-module-file-temp += "perl-module-file-spec" +RDEPENDS_perl-module-file-temp += "perl-module-strict" +RDEPENDS_perl-module-file-temp += "perl-module-vars" +RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call" +RDEPENDS_perl-module-filter-simple += "perl-module-text-balanced" +RDEPENDS_perl-module-filter-util-call += "perl-module-exporter" +RDEPENDS_perl-module-filter-util-call += "perl-module-strict" +RDEPENDS_perl-module-filter-util-call += "perl-module-warnings" +RDEPENDS_perl-module-filter-util-call += "perl-module-xsloader" +RDEPENDS_perl-module-findbin += "perl-module-cwd" +RDEPENDS_perl-module-findbin += "perl-module-exporter" +RDEPENDS_perl-module-findbin += "perl-module-file-basename" +RDEPENDS_perl-module-getopt-long += "perl-module-constant" +RDEPENDS_perl-module-getopt-long += "perl-module-exporter" +RDEPENDS_perl-module-getopt-long += "perl-module-overload" +RDEPENDS_perl-module-getopt-long += "perl-module-pod-usage" +RDEPENDS_perl-module-getopt-long += "perl-module-strict" +RDEPENDS_perl-module-getopt-long += "perl-module-text-parsewords" +RDEPENDS_perl-module-getopt-long += "perl-module-vars" +RDEPENDS_perl-module-getopt-long += "perl-module-warnings" +RDEPENDS_perl-module-getopt-std += "perl-module-exporter" +RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter" +RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-strict" +RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-warnings" +RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-xsloader" +RDEPENDS_perl-module-hash-util += "perl-module-exporter" +RDEPENDS_perl-module-hash-util += "perl-module-hash-util-fieldhash" +RDEPENDS_perl-module-hash-util += "perl-module-strict" +RDEPENDS_perl-module-hash-util += "perl-module-warnings" +RDEPENDS_perl-module-hash-util += "perl-module-warnings-register" +RDEPENDS_perl-module-hash-util += "perl-module-xsloader" +RDEPENDS_perl-module-i18n-collate += "perl-module-exporter" +RDEPENDS_perl-module-i18n-collate += "perl-module-overload" +RDEPENDS_perl-module-i18n-collate += "perl-module-posix" +RDEPENDS_perl-module-i18n-collate += "perl-module-strict" +RDEPENDS_perl-module-i18n-collate += "perl-module-warnings-register" +RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter" +RDEPENDS_perl-module-i18n-langinfo += "perl-module-strict" +RDEPENDS_perl-module-i18n-langinfo += "perl-module-warnings" +RDEPENDS_perl-module-i18n-langinfo += "perl-module-xsloader" +RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-i18n-langtags" +RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-strict" +RDEPENDS_perl-module-i18n-langtags-list += "perl-module-strict" +RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter" +RDEPENDS_perl-module-i18n-langtags += "perl-module-strict" +RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-compress-raw-bzip2" +RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-strict" +RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-exporter" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-strict" +RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-strict" +RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-constant" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-encode" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-file-globmapper" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict " +RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-utf8" +RDEPENDS_perl-module-io-compress-base-common += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-base += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-base += "perl-module-io-file" +RDEPENDS_perl-module-io-compress-base += "perl-module-io-handle " +RDEPENDS_perl-module-io-compress-base += "perl-module-strict " +RDEPENDS_perl-module-io-compress-base += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter " +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-adapter-bzip2" +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base" +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-strict " +RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter " +RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-adapter-deflate" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-rawdeflate" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-zlib-constants" +RDEPENDS_perl-module-io-compress-deflate += "perl-module-strict " +RDEPENDS_perl-module-io-compress-deflate += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-constant" +RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter" +RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-strict " +RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter " +RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-adapter-deflate" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-gzip-constants" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-rawdeflate" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-zlib-extra" +RDEPENDS_perl-module-io-compress-gzip += "perl-module-strict " +RDEPENDS_perl-module-io-compress-gzip += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter " +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-fcntl" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-adapter-deflate" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-strict " +RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-constant" +RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter" +RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-strict " +RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-zip += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-zip += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-compress-zip += "perl-module-config" +RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter " +RDEPENDS_perl-module-io-compress-zip += "perl-module-fcntl" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-deflate" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-identity" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-bzip2 " +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-rawdeflate" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zip-constants" +RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zlib-extra" +RDEPENDS_perl-module-io-compress-zip += "perl-module-strict " +RDEPENDS_perl-module-io-compress-zip += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-constant" +RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter" +RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-strict " +RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-warnings" +RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-bytes" +RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-io-compress-gzip-constants" +RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-strict " +RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-warnings" +RDEPENDS_perl-module-io-dir += "perl-module-exporter" +RDEPENDS_perl-module-io-dir += "perl-module-file-stat" +RDEPENDS_perl-module-io-dir += "perl-module-io-file" +RDEPENDS_perl-module-io-dir += "perl-module-strict" +RDEPENDS_perl-module-io-dir += "perl-module-tie-hash" +RDEPENDS_perl-module-io-file += "perl-module-exporter" +RDEPENDS_perl-module-io-file += "perl-module-fcntl" +RDEPENDS_perl-module-io-file += "perl-module-io-seekable" +RDEPENDS_perl-module-io-file += "perl-module-selectsaver" +RDEPENDS_perl-module-io-file += "perl-module-strict" +RDEPENDS_perl-module-io-handle += "perl-module-exporter" +RDEPENDS_perl-module-io-handle += "perl-module-io" +RDEPENDS_perl-module-io-handle += "perl-module-io-file" +RDEPENDS_perl-module-io-handle += "perl-module-selectsaver" +RDEPENDS_perl-module-io-handle += "perl-module-strict" +RDEPENDS_perl-module-io += "perl-module-strict" +RDEPENDS_perl-module-io += "perl-module-warnings" +RDEPENDS_perl-module-io += "perl-module-xsloader" +RDEPENDS_perl-module-io-pipe += "perl-module-fcntl" +RDEPENDS_perl-module-io-pipe += "perl-module-io-handle" +RDEPENDS_perl-module-io-pipe += "perl-module-strict" +RDEPENDS_perl-module-io-poll += "perl-module-exporter" +RDEPENDS_perl-module-io-poll += "perl-module-io-handle" +RDEPENDS_perl-module-io-poll += "perl-module-strict" +RDEPENDS_perl-module-io-seekable += "perl-module-exporter" +RDEPENDS_perl-module-io-seekable += "perl-module-fcntl" +RDEPENDS_perl-module-io-seekable += "perl-module-io-handle" +RDEPENDS_perl-module-io-seekable += "perl-module-strict" +RDEPENDS_perl-module-io-select += "perl-module-exporter" +RDEPENDS_perl-module-io-select += "perl-module-strict" +RDEPENDS_perl-module-io-select += "perl-module-warnings-register" +RDEPENDS_perl-module-io-socket-inet += "perl-module-errno" +RDEPENDS_perl-module-io-socket-inet += "perl-module-exporter" +RDEPENDS_perl-module-io-socket-inet += "perl-module-io-socket" +RDEPENDS_perl-module-io-socket-inet += "perl-module-socket" +RDEPENDS_perl-module-io-socket-inet += "perl-module-strict" +RDEPENDS_perl-module-io-socket-ip += "perl-module-base" +RDEPENDS_perl-module-io-socket-ip += "perl-module-constant" +RDEPENDS_perl-module-io-socket-ip += "perl-module-errno" +RDEPENDS_perl-module-io-socket-ip += "perl-module-posix" +RDEPENDS_perl-module-io-socket-ip += "perl-module-socket" +RDEPENDS_perl-module-io-socket-ip += "perl-module-strict" +RDEPENDS_perl-module-io-socket-ip += "perl-module-warnings" +RDEPENDS_perl-module-io-socket += "perl-module-errno" +RDEPENDS_perl-module-io-socket += "perl-module-exporter" +RDEPENDS_perl-module-io-socket += "perl-module-io-handle" +RDEPENDS_perl-module-io-socket += "perl-module-io-select" +RDEPENDS_perl-module-io-socket += "perl-module-io-socket-inet" +RDEPENDS_perl-module-io-socket += "perl-module-io-socket-unix" +RDEPENDS_perl-module-io-socket += "perl-module-socket" +RDEPENDS_perl-module-io-socket += "perl-module-strict" +RDEPENDS_perl-module-io-socket-unix += "perl-module-io-socket" +RDEPENDS_perl-module-io-socket-unix += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-compress-raw-bzip2" +RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-zip-constants " +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-adapter-inflate" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-base" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-gunzip" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-inflate" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-rawinflate" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-unzip" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-uncompress-base" +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-strict" +RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-base += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-base += "perl-module-constant" +RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-file " +RDEPENDS_perl-module-io-uncompress-base += "perl-module-list-util" +RDEPENDS_perl-module-io-uncompress-base += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-base += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-adapter-bunzip2" +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-base" +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-gzip-constants" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-zlib-extra" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-uncompress-rawinflate" +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-zlib-constants" +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-uncompress-rawinflate" +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-adapter-inflate" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-base" +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-warnings" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-bytes" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-compress-raw-zlib" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-constant" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-exporter " +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-fcntl" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-base-common" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zip-constants" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zlib-extra" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-file" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-identity" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-inflate" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-rawinflate" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-posix" +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-strict " +RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-warnings" +RDEPENDS_perl-module-io-zlib += "perl-module-fcntl" +RDEPENDS_perl-module-io-zlib += "perl-module-io-handle" +RDEPENDS_perl-module-io-zlib += "perl-module-strict" +RDEPENDS_perl-module-io-zlib += "perl-module-tie-handle" +RDEPENDS_perl-module-io-zlib += "perl-module-vars" +RDEPENDS_perl-module-ipc-cmd += "perl-module-constant" +RDEPENDS_perl-module-ipc-cmd += "perl-module-exporter" +RDEPENDS_perl-module-ipc-cmd += "perl-module-extutils-makemaker" +RDEPENDS_perl-module-ipc-cmd += "perl-module-filehandle" +RDEPENDS_perl-module-ipc-cmd += "perl-module-io-handle" +RDEPENDS_perl-module-ipc-cmd += "perl-module-io-select" +RDEPENDS_perl-module-ipc-cmd += "perl-module-ipc-open3" +RDEPENDS_perl-module-ipc-cmd += "perl-module-locale-maketext-simple" +RDEPENDS_perl-module-ipc-cmd += "perl-module-load" +RDEPENDS_perl-module-ipc-cmd += "perl-module-params-check" +RDEPENDS_perl-module-ipc-cmd += "perl-module-posix" +RDEPENDS_perl-module-ipc-cmd += "perl-module-socket" +RDEPENDS_perl-module-ipc-cmd += "perl-module-strict" +RDEPENDS_perl-module-ipc-cmd += "perl-module-text-parsewords" +RDEPENDS_perl-module-ipc-cmd += "perl-module-time-hires" +RDEPENDS_perl-module-ipc-cmd += "perl-module-vars" +RDEPENDS_perl-module-ipc-msg += "perl-module-class-struct" +RDEPENDS_perl-module-ipc-msg += "perl-module-ipc-sysv" +RDEPENDS_perl-module-ipc-msg += "perl-module-strict" +RDEPENDS_perl-module-ipc-msg += "perl-module-vars" +RDEPENDS_perl-module-ipc-open2 += "perl-module-exporter" +RDEPENDS_perl-module-ipc-open2 += "perl-module-ipc-open3" +RDEPENDS_perl-module-ipc-open2 += "perl-module-strict" +RDEPENDS_perl-module-ipc-open3 += "perl-module-constant" +RDEPENDS_perl-module-ipc-open3 += "perl-module-exporter" +RDEPENDS_perl-module-ipc-open3 += "perl-module-fcntl" +RDEPENDS_perl-module-ipc-open3 += "perl-module-io-pipe" +RDEPENDS_perl-module-ipc-open3 += "perl-module-posix" +RDEPENDS_perl-module-ipc-open3 += "perl-module-strict" +RDEPENDS_perl-module-ipc-semaphore += "perl-module-class-struct" +RDEPENDS_perl-module-ipc-semaphore += "perl-module-ipc-sysv" +RDEPENDS_perl-module-ipc-semaphore += "perl-module-strict" +RDEPENDS_perl-module-ipc-semaphore += "perl-module-vars" +RDEPENDS_perl-module-ipc-sharedmem += "perl-module-class-struct" +RDEPENDS_perl-module-ipc-sharedmem += "perl-module-ipc-sysv" +RDEPENDS_perl-module-ipc-sharedmem += "perl-module-strict" +RDEPENDS_perl-module-ipc-sharedmem += "perl-module-vars" +RDEPENDS_perl-module-ipc-sysv += "perl-module-config" +RDEPENDS_perl-module-ipc-sysv += "perl-module-dynaloader" +RDEPENDS_perl-module-ipc-sysv += "perl-module-exporter" +RDEPENDS_perl-module-ipc-sysv += "perl-module-strict" +RDEPENDS_perl-module-ipc-sysv += "perl-module-vars" +RDEPENDS_perl-module-json-pp-boolean += "perl-module-overload" +RDEPENDS_perl-module-json-pp-boolean += "perl-module-strict" +RDEPENDS_perl-module-json-pp += "perl-module-b" +RDEPENDS_perl-module-json-pp += "perl-module-bytes" +RDEPENDS_perl-module-json-pp += "perl-module-constant" +RDEPENDS_perl-module-json-pp += "perl-module-encode" +RDEPENDS_perl-module-json-pp += "perl-module-exporter" +RDEPENDS_perl-module-json-pp += "perl-module-json-pp-boolean" +RDEPENDS_perl-module-json-pp += "perl-module-math-bigfloat" +RDEPENDS_perl-module-json-pp += "perl-module-math-bigint" +RDEPENDS_perl-module-json-pp += "perl-module-overload" +RDEPENDS_perl-module-json-pp += "perl-module-strict" +RDEPENDS_perl-module-json-pp += "perl-module-subs" +RDEPENDS_perl-module-less += "perl-module-strict" +RDEPENDS_perl-module-less += "perl-module-warnings" +RDEPENDS_perl-module-lib += "perl-module-config" +RDEPENDS_perl-module-lib += "perl-module-strict" +RDEPENDS_perl-module-list-util += "perl-module-exporter" +RDEPENDS_perl-module-list-util += "perl-module-strict" +RDEPENDS_perl-module-list-util += "perl-module-warnings" +RDEPENDS_perl-module-list-util += "perl-module-xsloader" +RDEPENDS_perl-module-list-util-xs += "perl-module-list-util" +RDEPENDS_perl-module-list-util-xs += "perl-module-strict" +RDEPENDS_perl-module-list-util-xs += "perl-module-warnings" +RDEPENDS_perl-module-loaded += "perl-module-strict" +RDEPENDS_perl-module-loaded += "perl-module-vars" +RDEPENDS_perl-module-load += "perl-module-config" +RDEPENDS_perl-module-load += "perl-module-constant" +RDEPENDS_perl-module-load += "perl-module-exporter" +RDEPENDS_perl-module-load += "perl-module-filehandle" +RDEPENDS_perl-module-load += "perl-module-locale-maketext-simple" +RDEPENDS_perl-module-load += "perl-module-corelist" +RDEPENDS_perl-module-load += "perl-module-load" +RDEPENDS_perl-module-load += "perl-module-params-check" +RDEPENDS_perl-module-load += "perl-module-strict" +RDEPENDS_perl-module-load += "perl-module-vars" +RDEPENDS_perl-module-load += "perl-module-version" +RDEPENDS_perl-module-load += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-constants += "perl-module-constant" +RDEPENDS_perl-module-locale-codes-constants += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-constants += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-constants += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-country += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-country += "perl-module-if" +RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-country += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-country += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-if" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-currency += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-if" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langext += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-if" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langfam += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-language += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-language += "perl-module-if" +RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-language += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-language += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-if" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langvar += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes += "perl-module-if" +RDEPENDS_perl-module-locale-codes += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-script += "perl-module-exporter" +RDEPENDS_perl-module-locale-codes-script += "perl-module-if" +RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-codes-script += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-script += "perl-module-warnings" +RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-strict" +RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-utf8" +RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-warnings" +RDEPENDS_perl-module-locale-country += "perl-module-exporter" +RDEPENDS_perl-module-locale-country += "perl-module-if" +RDEPENDS_perl-module-locale-country += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-country += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-country += "perl-module-strict" +RDEPENDS_perl-module-locale-country += "perl-module-warnings" +RDEPENDS_perl-module-locale-currency += "perl-module-exporter" +RDEPENDS_perl-module-locale-currency += "perl-module-if" +RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-currency += "perl-module-strict" +RDEPENDS_perl-module-locale-currency += "perl-module-warnings" +RDEPENDS_perl-module-locale-language += "perl-module-exporter" +RDEPENDS_perl-module-locale-language += "perl-module-if" +RDEPENDS_perl-module-locale-language += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-language += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-language += "perl-module-strict" +RDEPENDS_perl-module-locale-language += "perl-module-warnings" +RDEPENDS_perl-module-locale-maketext-gutsloader += "perl-module-locale-maketext" +RDEPENDS_perl-module-locale-maketext-guts += "perl-module-locale-maketext" +RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags" +RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags-detect" +RDEPENDS_perl-module-locale-maketext += "perl-module-integer" +RDEPENDS_perl-module-locale-maketext += "perl-module-strict" +RDEPENDS_perl-module-locale-maketext-simple += "perl-module-base" +RDEPENDS_perl-module-locale-maketext-simple += "perl-module-strict" +RDEPENDS_perl-module-locale += "perl-module-config" +RDEPENDS_perl-module-locale-script += "perl-module-exporter" +RDEPENDS_perl-module-locale-script += "perl-module-if" +RDEPENDS_perl-module-locale-script += "perl-module-locale-codes" +RDEPENDS_perl-module-locale-script += "perl-module-locale-codes-constants" +RDEPENDS_perl-module-locale-script += "perl-module-strict" +RDEPENDS_perl-module-locale-script += "perl-module-warnings" +RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter" +RDEPENDS_perl-module-math-bigfloat += "perl-module-math-bigint" +RDEPENDS_perl-module-math-bigfloat += "perl-module-math-complex" +RDEPENDS_perl-module-math-bigfloat += "perl-module-overload" +RDEPENDS_perl-module-math-bigfloat += "perl-module-strict" +RDEPENDS_perl-module-math-bigfloat += "perl-module-warnings" +RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-exporter" +RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-math-bigfloat" +RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-overload" +RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-strict" +RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-strict" +RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint-calc += "perl-module-constant" +RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer" +RDEPENDS_perl-module-math-bigint-calc += "perl-module-math-bigint-lib" +RDEPENDS_perl-module-math-bigint-calc += "perl-module-strict" +RDEPENDS_perl-module-math-bigint-calc += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-math-bigint-calc" +RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-strict" +RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-xsloader" +RDEPENDS_perl-module-math-bigint-lib += "perl-module-overload" +RDEPENDS_perl-module-math-bigint-lib += "perl-module-strict" +RDEPENDS_perl-module-math-bigint-lib += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint += "perl-module-exporter" +RDEPENDS_perl-module-math-bigint += "perl-module-math-bigfloat" +RDEPENDS_perl-module-math-bigint += "perl-module-math-complex" +RDEPENDS_perl-module-math-bigint += "perl-module-overload" +RDEPENDS_perl-module-math-bigint += "perl-module-strict" +RDEPENDS_perl-module-math-bigint += "perl-module-warnings" +RDEPENDS_perl-module-math-bigint-trace += "perl-module-exporter" +RDEPENDS_perl-module-math-bigint-trace += "perl-module-math-bigint" +RDEPENDS_perl-module-math-bigint-trace += "perl-module-overload" +RDEPENDS_perl-module-math-bigint-trace += "perl-module-strict" +RDEPENDS_perl-module-math-bigint-trace += "perl-module-warnings" +RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigfloat" +RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigint" +RDEPENDS_perl-module-math-bigrat += "perl-module-overload" +RDEPENDS_perl-module-math-bigrat += "perl-module-strict" +RDEPENDS_perl-module-math-bigrat += "perl-module-warnings" +RDEPENDS_perl-module-math-complex += "perl-module-config" +RDEPENDS_perl-module-math-complex += "perl-module-exporter" +RDEPENDS_perl-module-math-complex += "perl-module-overload" +RDEPENDS_perl-module-math-complex += "perl-module-strict" +RDEPENDS_perl-module-math-complex += "perl-module-warnings" +RDEPENDS_perl-module-math-trig += "perl-module-exporter" +RDEPENDS_perl-module-math-trig += "perl-module-math-complex" +RDEPENDS_perl-module-math-trig += "perl-module-strict" +RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars" +RDEPENDS_perl-module-memoize += "perl-module-config" +RDEPENDS_perl-module-memoize += "perl-module-exporter" +RDEPENDS_perl-module-memoize += "perl-module-strict" +RDEPENDS_perl-module-memoize += "perl-module-vars" +RDEPENDS_perl-module-memoize-sdbm-file += "perl-module-sdbm-file" +RDEPENDS_perl-module-memoize-storable += "perl-module-storable" +RDEPENDS_perl-module-mime-base64 += "perl-module-exporter" +RDEPENDS_perl-module-mime-base64 += "perl-module-strict" +RDEPENDS_perl-module-mime-base64 += "perl-module-vars" +RDEPENDS_perl-module-mime-base64 += "perl-module-xsloader" +RDEPENDS_perl-module-mime-quotedprint += "perl-module-exporter" +RDEPENDS_perl-module-mime-quotedprint += "perl-module-mime-base64" +RDEPENDS_perl-module-mime-quotedprint += "perl-module-strict" +RDEPENDS_perl-module-mime-quotedprint += "perl-module-vars" +RDEPENDS_perl-module-mro += "perl-module-strict" +RDEPENDS_perl-module-mro += "perl-module-warnings" +RDEPENDS_perl-module-mro += "perl-module-xsloader" +RDEPENDS_perl-module-net-cmd += "perl-module-constant" +RDEPENDS_perl-module-net-cmd += "perl-module-errno" +RDEPENDS_perl-module-net-cmd += "perl-module-exporter" +RDEPENDS_perl-module-net-cmd += "perl-module-strict" +RDEPENDS_perl-module-net-cmd += "perl-module-warnings" +RDEPENDS_perl-module-net-config += "perl-module-exporter" +RDEPENDS_perl-module-net-config += "perl-module-socket" +RDEPENDS_perl-module-net-config += "perl-module-strict" +RDEPENDS_perl-module-net-config += "perl-module-warnings" +RDEPENDS_perl-module-net-domain += "perl-module-exporter" +RDEPENDS_perl-module-net-domain += "perl-module-net-config" +RDEPENDS_perl-module-net-domain += "perl-module-posix" +RDEPENDS_perl-module-net-domain += "perl-module-socket" +RDEPENDS_perl-module-net-domain += "perl-module-strict" +RDEPENDS_perl-module-net-domain += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp-a += "perl-module-net-ftp-dataconn" +RDEPENDS_perl-module-net-ftp-a += "perl-module-strict" +RDEPENDS_perl-module-net-ftp-a += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-errno" +RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-net-cmd" +RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-strict" +RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp-e += "perl-module-net-ftp-i" +RDEPENDS_perl-module-net-ftp-e += "perl-module-strict" +RDEPENDS_perl-module-net-ftp-e += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp-i += "perl-module-net-ftp-dataconn" +RDEPENDS_perl-module-net-ftp-i += "perl-module-strict" +RDEPENDS_perl-module-net-ftp-i += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i" +RDEPENDS_perl-module-net-ftp-l += "perl-module-strict" +RDEPENDS_perl-module-net-ftp-l += "perl-module-warnings" +RDEPENDS_perl-module-net-ftp += "perl-module-constant" +RDEPENDS_perl-module-net-ftp += "perl-module-fcntl" +RDEPENDS_perl-module-net-ftp += "perl-module-file-basename" +RDEPENDS_perl-module-net-ftp += "perl-module-io-socket" +RDEPENDS_perl-module-net-ftp += "perl-module-io-socket-ip" +RDEPENDS_perl-module-net-ftp += "perl-module-net-cmd" +RDEPENDS_perl-module-net-ftp += "perl-module-net-config" +RDEPENDS_perl-module-net-ftp += "perl-module-net-ftp-a" +RDEPENDS_perl-module-net-ftp += "perl-module-net-netrc" +RDEPENDS_perl-module-net-ftp += "perl-module-socket" +RDEPENDS_perl-module-net-ftp += "perl-module-strict" +RDEPENDS_perl-module-net-ftp += "perl-module-time-local" +RDEPENDS_perl-module-net-ftp += "perl-module-warnings" +RDEPENDS_perl-module-net-hostent += "perl-module-class-struct" +RDEPENDS_perl-module-net-hostent += "perl-module-exporter" +RDEPENDS_perl-module-net-hostent += "perl-module-socket" +RDEPENDS_perl-module-net-hostent += "perl-module-strict" +RDEPENDS_perl-module-net-netent += "perl-module-class-struct" +RDEPENDS_perl-module-net-netent += "perl-module-exporter" +RDEPENDS_perl-module-net-netent += "perl-module-socket" +RDEPENDS_perl-module-net-netent += "perl-module-strict" +RDEPENDS_perl-module-net-netrc += "perl-module-filehandle" +RDEPENDS_perl-module-net-netrc += "perl-module-strict" +RDEPENDS_perl-module-net-netrc += "perl-module-warnings" +RDEPENDS_perl-module-net-nntp += "perl-module-io-socket" +RDEPENDS_perl-module-net-nntp += "perl-module-io-socket-ip" +RDEPENDS_perl-module-net-nntp += "perl-module-net-cmd" +RDEPENDS_perl-module-net-nntp += "perl-module-net-config" +RDEPENDS_perl-module-net-nntp += "perl-module-strict" +RDEPENDS_perl-module-net-nntp += "perl-module-time-local" +RDEPENDS_perl-module-net-nntp += "perl-module-warnings" +RDEPENDS_perl-module-net-ping += "perl-module-constant" +RDEPENDS_perl-module-net-ping += "perl-module-exporter" +RDEPENDS_perl-module-net-ping += "perl-module-fcntl" +RDEPENDS_perl-module-net-ping += "perl-module-filehandle" +RDEPENDS_perl-module-net-ping += "perl-module-io-socket-inet" +RDEPENDS_perl-module-net-ping += "perl-module-posix" +RDEPENDS_perl-module-net-ping += "perl-module-socket" +RDEPENDS_perl-module-net-ping += "perl-module-strict" +RDEPENDS_perl-module-net-ping += "perl-module-time-hires" +RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket" +RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket-ip" +RDEPENDS_perl-module-net-pop3 += "perl-module-mime-base64" +RDEPENDS_perl-module-net-pop3 += "perl-module-net-cmd" +RDEPENDS_perl-module-net-pop3 += "perl-module-net-config" +RDEPENDS_perl-module-net-pop3 += "perl-module-net-netrc" +RDEPENDS_perl-module-net-pop3 += "perl-module-strict" +RDEPENDS_perl-module-net-pop3 += "perl-module-warnings" +RDEPENDS_perl-module-net-protoent += "perl-module-class-struct" +RDEPENDS_perl-module-net-protoent += "perl-module-exporter" +RDEPENDS_perl-module-net-protoent += "perl-module-strict" +RDEPENDS_perl-module-net-servent += "perl-module-class-struct" +RDEPENDS_perl-module-net-servent += "perl-module-exporter" +RDEPENDS_perl-module-net-servent += "perl-module-strict" +RDEPENDS_perl-module-net-smtp += "perl-module-io-socket" +RDEPENDS_perl-module-net-smtp += "perl-module-io-socket-ip" +RDEPENDS_perl-module-net-smtp += "perl-module-mime-base64" +RDEPENDS_perl-module-net-smtp += "perl-module-net-cmd" +RDEPENDS_perl-module-net-smtp += "perl-module-net-config" +RDEPENDS_perl-module-net-smtp += "perl-module-socket" +RDEPENDS_perl-module-net-smtp += "perl-module-strict" +RDEPENDS_perl-module-net-smtp += "perl-module-warnings" +RDEPENDS_perl-module-net-time += "perl-module-exporter" +RDEPENDS_perl-module-net-time += "perl-module-io-select" +RDEPENDS_perl-module-net-time += "perl-module-io-socket" +RDEPENDS_perl-module-net-time += "perl-module-net-config" +RDEPENDS_perl-module-net-time += "perl-module-strict" +RDEPENDS_perl-module-net-time += "perl-module-warnings" +RDEPENDS_perl-module-next += "perl-module-overload" +RDEPENDS_perl-module-next += "perl-module-strict" +RDEPENDS_perl-module-next += "perl-module-warnings" +RDEPENDS_perl-module-ok += "perl-module-strict" +RDEPENDS_perl-module-ok += "perl-module-test-more" +RDEPENDS_perl-module-opcode += "perl-module-exporter" +RDEPENDS_perl-module-opcode += "perl-module-strict" +RDEPENDS_perl-module-opcode += "perl-module-subs" +RDEPENDS_perl-module-opcode += "perl-module-xsloader" +RDEPENDS_perl-module-open += "perl-module-encode" +RDEPENDS_perl-module-open += "perl-module-encoding" +RDEPENDS_perl-module-open += "perl-module-warnings" +RDEPENDS_perl-module-o += "perl-module-b" +RDEPENDS_perl-module-ops += "perl-module-opcode" +RDEPENDS_perl-module-overloading += "perl-module-overload-numbers" +RDEPENDS_perl-module-overloading += "perl-module-warnings" +RDEPENDS_perl-module-overload += "perl-module-mro" +RDEPENDS_perl-module-overload += "perl-module-warnings-register" +RDEPENDS_perl-module-params-check += "perl-module-exporter" +RDEPENDS_perl-module-params-check += "perl-module-locale-maketext-simple" +RDEPENDS_perl-module-params-check += "perl-module-strict" +RDEPENDS_perl-module-params-check += "perl-module-vars" +RDEPENDS_perl-module-parent += "perl-module-strict" +RDEPENDS_perl-module-parent += "perl-module-vars" +RDEPENDS_perl-module-perlfaq += "perl-module-strict" +RDEPENDS_perl-module-perlfaq += "perl-module-warnings" +RDEPENDS_perl-module-perlio-encoding += "perl-module-strict" +RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader" +RDEPENDS_perl-module-perlio-mmap += "perl-module-strict" +RDEPENDS_perl-module-perlio-mmap += "perl-module-warnings" +RDEPENDS_perl-module-perlio-mmap += "perl-module-xsloader" +RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader" +RDEPENDS_perl-module-perlio-via += "perl-module-xsloader" +RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-mime-quotedprint" +RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-strict" +RDEPENDS_perl-module-pod-checker += "perl-module-base" +RDEPENDS_perl-module-pod-checker += "perl-module-exporter" +RDEPENDS_perl-module-pod-checker += "perl-module-strict" +RDEPENDS_perl-module-pod-checker += "perl-module-warnings" +RDEPENDS_perl-module-pod-escapes += "perl-module-exporter" +RDEPENDS_perl-module-pod-escapes += "perl-module-strict" +RDEPENDS_perl-module-pod-escapes += "perl-module-vars" +RDEPENDS_perl-module-pod-escapes += "perl-module-warnings" +RDEPENDS_perl-module-pod-find += "perl-module-config" +RDEPENDS_perl-module-pod-find += "perl-module-cwd" +RDEPENDS_perl-module-pod-find += "perl-module-exporter" +RDEPENDS_perl-module-pod-find += "perl-module-file-find" +RDEPENDS_perl-module-pod-find += "perl-module-strict" +RDEPENDS_perl-module-pod-find += "perl-module-vars" +RDEPENDS_perl-module-pod-functions += "perl-module-exporter" +RDEPENDS_perl-module-pod-functions += "perl-module-strict" +RDEPENDS_perl-module-pod-inputobjects += "perl-module-strict" +RDEPENDS_perl-module-pod-inputobjects += "perl-module-vars" +RDEPENDS_perl-module-pod-man += "perl-module-file-basename" +RDEPENDS_perl-module-pod-man += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-man += "perl-module-strict" +RDEPENDS_perl-module-pod-man += "perl-module-subs" +RDEPENDS_perl-module-pod-man += "perl-module-vars" +RDEPENDS_perl-module-pod-man += "perl-module-warnings" +RDEPENDS_perl-module-pod-parselink += "perl-module-exporter" +RDEPENDS_perl-module-pod-parselink += "perl-module-strict" +RDEPENDS_perl-module-pod-parselink += "perl-module-vars" +RDEPENDS_perl-module-pod-parselink += "perl-module-warnings" +RDEPENDS_perl-module-pod-parser += "perl-module-exporter" +RDEPENDS_perl-module-pod-parser += "perl-module-pod-inputobjects" +RDEPENDS_perl-module-pod-parser += "perl-module-strict" +RDEPENDS_perl-module-pod-parser += "perl-module-vars" +RDEPENDS_perl-module-pod-parseutils += "perl-module-strict" +RDEPENDS_perl-module-pod-parseutils += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-config" +RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc += "perl-module-config" +RDEPENDS_perl-module-pod-perldoc += "perl-module-encode" +RDEPENDS_perl-module-pod-perldoc += "perl-module-fcntl" +RDEPENDS_perl-module-pod-perldoc += "perl-module-file-basename" +RDEPENDS_perl-module-pod-perldoc += "perl-module-file-temp" +RDEPENDS_perl-module-pod-perldoc += "perl-module-pod-perldoc-getoptsoo" +RDEPENDS_perl-module-pod-perldoc += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc += "perl-module-text-parsewords" +RDEPENDS_perl-module-pod-perldoc += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-pod-text-color" +RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-pod-checker" +RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-encode" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-handle" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-select" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-ipc-open3" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-man" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-perldoc-topod" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-pod-man" +RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-pod-text-termcap" +RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-pod-text" +RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-warnings" +RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-parent" +RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-strict" +RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-vars" +RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-warnings" +RDEPENDS_perl-module-pod-plaintext += "perl-module-pod-select" +RDEPENDS_perl-module-pod-plaintext += "perl-module-strict" +RDEPENDS_perl-module-pod-plaintext += "perl-module-vars" +RDEPENDS_perl-module-pod-select += "perl-module-pod-parser" +RDEPENDS_perl-module-pod-select += "perl-module-strict" +RDEPENDS_perl-module-pod-select += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-integer" +RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple-transcode" +RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple-methody" +RDEPENDS_perl-module-pod-simple-checker += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-checker += "perl-module-text-wrap" +RDEPENDS_perl-module-pod-simple-checker += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-debug += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-debug += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-debug += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-text-wrap" +RDEPENDS_perl-module-pod-simple-linksection += "perl-module-overload" +RDEPENDS_perl-module-pod-simple-linksection += "perl-module-pod-simple-blackbox" +RDEPENDS_perl-module-pod-simple-linksection += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-linksection += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-methody += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-methody += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-methody += "perl-module-vars" +RDEPENDS_perl-module-pod-simple += "perl-module-integer" +RDEPENDS_perl-module-pod-simple += "perl-module-pod-escapes" +RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-blackbox" +RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-linksection" +RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-tiedoutfh" +RDEPENDS_perl-module-pod-simple += "perl-module-strict" +RDEPENDS_perl-module-pod-simple += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-progress += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-pod-simple-pullparsertoken" +RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserendtoken" +RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserstarttoken" +RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparsertexttoken" +RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-pod-simple-pullparsertoken" +RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-pod-simple-pullparsertoken" +RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-pullparsertoken += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-rtf += "perl-module-integer" +RDEPENDS_perl-module-pod-simple-rtf += "perl-module-pod-simple-pullparser" +RDEPENDS_perl-module-pod-simple-rtf += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-rtf += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-search += "perl-module-config" +RDEPENDS_perl-module-pod-simple-search += "perl-module-cwd" +RDEPENDS_perl-module-pod-simple-search += "perl-module-file-basename" +RDEPENDS_perl-module-pod-simple-search += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-search += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple-methody" +RDEPENDS_perl-module-pod-simple-text += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-text += "perl-module-text-wrap" +RDEPENDS_perl-module-pod-simple-text += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-transcode += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-transcode += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode" +RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-vars" +RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-vars" +RDEPENDS_perl-module-pod-text-color += "perl-module-pod-text" +RDEPENDS_perl-module-pod-text-color += "perl-module-strict" +RDEPENDS_perl-module-pod-text-color += "perl-module-term-ansicolor" +RDEPENDS_perl-module-pod-text-color += "perl-module-vars" +RDEPENDS_perl-module-pod-text-color += "perl-module-warnings" +RDEPENDS_perl-module-pod-text-overstrike += "perl-module-pod-text" +RDEPENDS_perl-module-pod-text-overstrike += "perl-module-strict" +RDEPENDS_perl-module-pod-text-overstrike += "perl-module-vars" +RDEPENDS_perl-module-pod-text-overstrike += "perl-module-warnings" +RDEPENDS_perl-module-pod-text += "perl-module-encode" +RDEPENDS_perl-module-pod-text += "perl-module-exporter" +RDEPENDS_perl-module-pod-text += "perl-module-pod-simple" +RDEPENDS_perl-module-pod-text += "perl-module-strict" +RDEPENDS_perl-module-pod-text += "perl-module-vars" +RDEPENDS_perl-module-pod-text += "perl-module-warnings" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-pod-text" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-posix" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-strict" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-term-cap" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-vars" +RDEPENDS_perl-module-pod-text-termcap += "perl-module-warnings" +RDEPENDS_perl-module-pod-usage += "perl-module-config" +RDEPENDS_perl-module-pod-usage += "perl-module-exporter" +RDEPENDS_perl-module-pod-usage += "perl-module-strict" +RDEPENDS_perl-module-pod-usage += "perl-module-vars" +RDEPENDS_perl-module-posix += "perl-module-exporter" +RDEPENDS_perl-module-posix += "perl-module-fcntl" +RDEPENDS_perl-module-posix += "perl-module-strict" +RDEPENDS_perl-module-posix += "perl-module-tie-hash" +RDEPENDS_perl-module-posix += "perl-module-warnings" +RDEPENDS_perl-module-posix += "perl-module-xsloader" +RDEPENDS_perl-module-re += "perl-module-exporter" +RDEPENDS_perl-module-re += "perl-module-strict" +RDEPENDS_perl-module-re += "perl-module-term-cap" +RDEPENDS_perl-module-re += "perl-module-warnings" +RDEPENDS_perl-module-re += "perl-module-xsloader" +RDEPENDS_perl-module-safe += "perl-module-b" +RDEPENDS_perl-module-safe += "perl-module-opcode" +RDEPENDS_perl-module-safe += "perl-module-strict" +RDEPENDS_perl-module-safe += "perl-module-utf8" +RDEPENDS_perl-module-sdbm-file += "perl-module-exporter" +RDEPENDS_perl-module-sdbm-file += "perl-module-strict" +RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash" +RDEPENDS_perl-module-sdbm-file += "perl-module-warnings" +RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader" +RDEPENDS_perl-module-search-dict += "perl-module-exporter" +RDEPENDS_perl-module-search-dict += "perl-module-feature" +RDEPENDS_perl-module-search-dict += "perl-module-strict" +RDEPENDS_perl-module-selfloader += "perl-module-exporter" +RDEPENDS_perl-module-selfloader += "perl-module-io-handle" +RDEPENDS_perl-module-selfloader += "perl-module-strict" +RDEPENDS_perl-module-socket += "perl-module-exporter" +RDEPENDS_perl-module-socket += "perl-module-strict" +RDEPENDS_perl-module-socket += "perl-module-warnings-register" +RDEPENDS_perl-module-socket += "perl-module-xsloader" +RDEPENDS_perl-module-sort += "perl-module-strict" +RDEPENDS_perl-module-storable += "perl-module-exporter" +RDEPENDS_perl-module-storable += "perl-module-io-file" +RDEPENDS_perl-module-storable += "perl-module-xsloader" +RDEPENDS_perl-module-sub-util += "perl-module-exporter" +RDEPENDS_perl-module-sub-util += "perl-module-list-util" +RDEPENDS_perl-module-sub-util += "perl-module-strict" +RDEPENDS_perl-module-sub-util += "perl-module-warnings" +RDEPENDS_perl-module-sys-hostname += "perl-module-exporter" +RDEPENDS_perl-module-sys-hostname += "perl-module-posix" +RDEPENDS_perl-module-sys-hostname += "perl-module-strict" +RDEPENDS_perl-module-sys-hostname += "perl-module-warnings" +RDEPENDS_perl-module-sys-hostname += "perl-module-xsloader" +RDEPENDS_perl-module-sys-syslog += "perl-module-config" +RDEPENDS_perl-module-sys-syslog += "perl-module-constant" +RDEPENDS_perl-module-sys-syslog += "perl-module-dynaloader" +RDEPENDS_perl-module-sys-syslog += "perl-module-exporter" +RDEPENDS_perl-module-sys-syslog += "perl-module-fcntl" +RDEPENDS_perl-module-sys-syslog += "perl-module-file-basename" +RDEPENDS_perl-module-sys-syslog += "perl-module-posix" +RDEPENDS_perl-module-sys-syslog += "perl-module-socket" +RDEPENDS_perl-module-sys-syslog += "perl-module-strict" +RDEPENDS_perl-module-sys-syslog += "perl-module-sys-hostname" +RDEPENDS_perl-module-sys-syslog += "perl-module-vars" +RDEPENDS_perl-module-sys-syslog += "perl-module-warnings" +RDEPENDS_perl-module-sys-syslog += "perl-module-warnings-register" +RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader" +RDEPENDS_perl-module-tap-base += "perl-module-base" +RDEPENDS_perl-module-tap-base += "perl-module-constant" +RDEPENDS_perl-module-tap-base += "perl-module-strict" +RDEPENDS_perl-module-tap-base += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-base += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix" +RDEPENDS_perl-module-tap-formatter-base += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-base += "perl-module-tap-formatter-color" +RDEPENDS_perl-module-tap-formatter-base += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-color += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-color += "perl-module-constant" +RDEPENDS_perl-module-tap-formatter-color += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-color += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-constant" +RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-file-path" +RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-console += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-console += "perl-module-posix" +RDEPENDS_perl-module-tap-formatter-console += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-console += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-posix" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-file-session" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-warnings" +RDEPENDS_perl-module-tap-formatter-session += "perl-module-base" +RDEPENDS_perl-module-tap-formatter-session += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-session += "perl-module-warnings" +RDEPENDS_perl-module-tap-harness-env += "perl-module-constant" +RDEPENDS_perl-module-tap-harness-env += "perl-module-strict" +RDEPENDS_perl-module-tap-harness-env += "perl-module-tap-object" +RDEPENDS_perl-module-tap-harness-env += "perl-module-text-parsewords" +RDEPENDS_perl-module-tap-harness-env += "perl-module-warnings" +RDEPENDS_perl-module-tap-harness += "perl-module-base" +RDEPENDS_perl-module-tap-harness += "perl-module-file-path" +RDEPENDS_perl-module-tap-harness += "perl-module-io-handle" +RDEPENDS_perl-module-tap-harness += "perl-module-strict" +RDEPENDS_perl-module-tap-harness += "perl-module-warnings" +RDEPENDS_perl-module-tap-object += "perl-module-strict" +RDEPENDS_perl-module-tap-object += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-base" +RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-benchmark" +RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-base" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-resultfactory" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-yamlish-reader" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-file-basename" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-iterator += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iterator += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-config" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-io-handle" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-base" +RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-io-select" +RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser += "perl-module-base" +RDEPENDS_perl-module-tap-parser += "perl-module-strict" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-grammar" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iterator" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-result" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-resultfactory" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-source" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-executable" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-file" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-handle" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-perl" +RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-rawtap" +RDEPENDS_perl-module-tap-parser += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-base" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-bailout" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-comment" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-plan" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-pragma" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-test" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-unknown" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-version" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-yaml" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-test += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-test += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-test += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-version += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-version += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-version += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-base" +RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-job" +RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-spinner" +RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iterator-process" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iterator-stream" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iterator-stream" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-tap-parser-iterator" +RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-config" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iterator-array" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-source += "perl-module-base" +RDEPENDS_perl-module-tap-parser-source += "perl-module-constant" +RDEPENDS_perl-module-tap-parser-source += "perl-module-file-basename" +RDEPENDS_perl-module-tap-parser-source += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-source += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-base" +RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-base" +RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-warnings" +RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter" +RDEPENDS_perl-module-term-ansicolor += "perl-module-strict" +RDEPENDS_perl-module-term-ansicolor += "perl-module-warnings" +RDEPENDS_perl-module-term-cap += "perl-module-strict" +RDEPENDS_perl-module-term-cap += "perl-module-vars" +RDEPENDS_perl-module-term-complete += "perl-module-exporter" +RDEPENDS_perl-module-term-complete += "perl-module-strict" +RDEPENDS_perl-module-term-readline += "perl-module-strict" +RDEPENDS_perl-module-term-readline += "perl-module-term-cap" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings" +RDEPENDS_perl-module-test-builder-module += "perl-module-exporter" +RDEPENDS_perl-module-test-builder-module += "perl-module-strict" +RDEPENDS_perl-module-test-builder-module += "perl-module-test-builder" +RDEPENDS_perl-module-test-builder += "perl-module-data-dumper" +RDEPENDS_perl-module-test-builder += "perl-module-overload" +RDEPENDS_perl-module-test-builder += "perl-module-strict" +RDEPENDS_perl-module-test-builder += "perl-module-test-builder-formatter" +RDEPENDS_perl-module-test-builder += "perl-module-test-builder-tododiag" +RDEPENDS_perl-module-test-builder += "perl-module-warnings" +RDEPENDS_perl-module-test-builder-tester-color += "perl-module-strict" +RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester" +RDEPENDS_perl-module-test-builder-tester += "perl-module-exporter" +RDEPENDS_perl-module-test-builder-tester += "perl-module-strict" +RDEPENDS_perl-module-test-builder-tester += "perl-module-test-builder" +RDEPENDS_perl-module-test-builder-tododiag += "perl-module-strict" +RDEPENDS_perl-module-test-builder-tododiag += "perl-module-warnings" +RDEPENDS_perl-module-test-harness += "perl-module-base" +RDEPENDS_perl-module-test-harness += "perl-module-config" +RDEPENDS_perl-module-test-harness += "perl-module-constant" +RDEPENDS_perl-module-test-harness += "perl-module-strict" +RDEPENDS_perl-module-test-harness += "perl-module-tap-harness" +RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-aggregator" +RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-source" +RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-sourcehandler-perl" +RDEPENDS_perl-module-test-harness += "perl-module-text-parsewords" +RDEPENDS_perl-module-test-harness += "perl-module-warnings" +RDEPENDS_perl-module-test-more += "perl-module-strict" +RDEPENDS_perl-module-test-more += "perl-module-test-builder-module" +RDEPENDS_perl-module-test-more += "perl-module-warnings" +RDEPENDS_perl-module-test += "perl-module-exporter" +RDEPENDS_perl-module-test += "perl-module-file-temp" +RDEPENDS_perl-module-test += "perl-module-strict" +RDEPENDS_perl-module-test-simple += "perl-module-strict" +RDEPENDS_perl-module-test-simple += "perl-module-test-builder-module" +RDEPENDS_perl-module-test-tester-capture += "perl-module-config" +RDEPENDS_perl-module-test-tester-capture += "perl-module-strict" +RDEPENDS_perl-module-test-tester-capture += "perl-module-test-builder" +RDEPENDS_perl-module-test-tester-capture += "perl-module-threads-shared" +RDEPENDS_perl-module-test-tester-capture += "perl-module-vars" +RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-exporter" +RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-strict" +RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-test-tester-capture" +RDEPENDS_perl-module-test-tester-delegate += "perl-module-strict" +RDEPENDS_perl-module-test-tester-delegate += "perl-module-vars" +RDEPENDS_perl-module-test-tester-delegate += "perl-module-warnings" +RDEPENDS_perl-module-test-tester += "perl-module-exporter" +RDEPENDS_perl-module-test-tester += "perl-module-strict" +RDEPENDS_perl-module-test-tester += "perl-module-test-builder" +RDEPENDS_perl-module-test-tester += "perl-module-test-tester-capturerunner" +RDEPENDS_perl-module-test-tester += "perl-module-test-tester-delegate" +RDEPENDS_perl-module-test-tester += "perl-module-vars" +RDEPENDS_perl-module-text-abbrev += "perl-module-exporter" +RDEPENDS_perl-module-text-balanced += "perl-module-exporter" +RDEPENDS_perl-module-text-balanced += "perl-module-overload" +RDEPENDS_perl-module-text-balanced += "perl-module-selfloader" +RDEPENDS_perl-module-text-balanced += "perl-module-strict" +RDEPENDS_perl-module-text-balanced += "perl-module-vars" +RDEPENDS_perl-module-text-parsewords += "perl-module-exporter" +RDEPENDS_perl-module-text-parsewords += "perl-module-strict" +RDEPENDS_perl-module-text-tabs += "perl-module-exporter" +RDEPENDS_perl-module-text-tabs += "perl-module-strict" +RDEPENDS_perl-module-text-tabs += "perl-module-vars" +RDEPENDS_perl-module-text-wrap += "perl-module-exporter" +RDEPENDS_perl-module-text-wrap += "perl-module-re" +RDEPENDS_perl-module-text-wrap += "perl-module-strict" +RDEPENDS_perl-module-text-wrap += "perl-module-text-tabs" +RDEPENDS_perl-module-text-wrap += "perl-module-vars" +RDEPENDS_perl-module-text-wrap += "perl-module-warnings-register" +RDEPENDS_perl-module-thread += "perl-module-config" +RDEPENDS_perl-module-thread += "perl-module-exporter" +RDEPENDS_perl-module-thread += "perl-module-strict" +RDEPENDS_perl-module-thread += "perl-module-threads" +RDEPENDS_perl-module-thread += "perl-module-threads-shared" +RDEPENDS_perl-module-thread += "perl-module-warnings" +RDEPENDS_perl-module-thread-queue += "perl-module-strict" +RDEPENDS_perl-module-thread-queue += "perl-module-threads-shared" +RDEPENDS_perl-module-thread-queue += "perl-module-warnings" +RDEPENDS_perl-module-thread-semaphore += "perl-module-strict" +RDEPENDS_perl-module-thread-semaphore += "perl-module-threads-shared" +RDEPENDS_perl-module-thread-semaphore += "perl-module-warnings" +RDEPENDS_perl-module-threads += "perl-module-config" +RDEPENDS_perl-module-threads += "perl-module-overload" +RDEPENDS_perl-module-threads += "perl-module-strict" +RDEPENDS_perl-module-threads += "perl-module-warnings" +RDEPENDS_perl-module-threads += "perl-module-xsloader" +RDEPENDS_perl-module-threads-shared += "perl-module-strict" +RDEPENDS_perl-module-threads-shared += "perl-module-warnings" +RDEPENDS_perl-module-threads-shared += "perl-module-xsloader" +RDEPENDS_perl-module-tie-array += "perl-module-strict" +RDEPENDS_perl-module-tie-file += "perl-module-fcntl" +RDEPENDS_perl-module-tie-file += "perl-module-posix" +RDEPENDS_perl-module-tie-file += "perl-module-strict" +RDEPENDS_perl-module-tie-handle += "perl-module-tie-stdhandle" +RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register" +RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-strict" +RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-xsloader" +RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register" +RDEPENDS_perl-module-tie-memoize += "perl-module-strict" +RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash" +RDEPENDS_perl-module-tie-refhash += "perl-module-config" +RDEPENDS_perl-module-tie-refhash += "perl-module-overload" +RDEPENDS_perl-module-tie-refhash += "perl-module-strict" +RDEPENDS_perl-module-tie-refhash += "perl-module-tie-hash" +RDEPENDS_perl-module-tie-refhash += "perl-module-vars" +RDEPENDS_perl-module-tie-scalar += "perl-module-warnings-register" +RDEPENDS_perl-module-tie-stdhandle += "perl-module-strict" +RDEPENDS_perl-module-tie-stdhandle += "perl-module-tie-handle" +RDEPENDS_perl-module-tie-substrhash += "perl-module-integer" +RDEPENDS_perl-module-time-gmtime += "perl-module-exporter" +RDEPENDS_perl-module-time-gmtime += "perl-module-strict" +RDEPENDS_perl-module-time-gmtime += "perl-module-time-tm" +RDEPENDS_perl-module-time-hires += "perl-module-exporter" +RDEPENDS_perl-module-time-hires += "perl-module-strict" +RDEPENDS_perl-module-time-hires += "perl-module-xsloader" +RDEPENDS_perl-module-time-local += "perl-module-config" +RDEPENDS_perl-module-time-local += "perl-module-constant" +RDEPENDS_perl-module-time-local += "perl-module-exporter" +RDEPENDS_perl-module-time-local += "perl-module-parent" +RDEPENDS_perl-module-time-local += "perl-module-strict" +RDEPENDS_perl-module-time-localtime += "perl-module-exporter" +RDEPENDS_perl-module-time-localtime += "perl-module-strict" +RDEPENDS_perl-module-time-localtime += "perl-module-time-tm" +RDEPENDS_perl-module-time-piece += "perl-module-constant" +RDEPENDS_perl-module-time-piece += "perl-module-exporter" +RDEPENDS_perl-module-time-piece += "perl-module-integer" +RDEPENDS_perl-module-time-piece += "perl-module-overload" +RDEPENDS_perl-module-time-piece += "perl-module-strict" +RDEPENDS_perl-module-time-piece += "perl-module-time-local" +RDEPENDS_perl-module-time-piece += "perl-module-time-seconds" +RDEPENDS_perl-module-time-piece += "perl-module-xsloader" +RDEPENDS_perl-module-time-seconds += "perl-module-constant" +RDEPENDS_perl-module-time-seconds += "perl-module-exporter" +RDEPENDS_perl-module-time-seconds += "perl-module-overload" +RDEPENDS_perl-module-time-seconds += "perl-module-strict" +RDEPENDS_perl-module-time-tm += "perl-module-class-struct" +RDEPENDS_perl-module-time-tm += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate-locale += "perl-module-base" +RDEPENDS_perl-module-unicode-collate-locale += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate-locale += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate += "perl-module-constant" +RDEPENDS_perl-module-unicode-collate += "perl-module-strict" +RDEPENDS_perl-module-unicode-collate += "perl-module-warnings" +RDEPENDS_perl-module-unicode-collate += "perl-module-xsloader" +RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter" +RDEPENDS_perl-module-unicode-normalize += "perl-module-strict" +RDEPENDS_perl-module-unicode-normalize += "perl-module-warnings" +RDEPENDS_perl-module-unicode-normalize += "perl-module-xsloader" +RDEPENDS_perl-module-unicode-ucd += "perl-module-charnames" +RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter" +RDEPENDS_perl-module-unicode-ucd += "perl-module-feature" +RDEPENDS_perl-module-unicode-ucd += "perl-module-if" +RDEPENDS_perl-module-unicode-ucd += "perl-module-integer" +RDEPENDS_perl-module-unicode-ucd += "perl-module-strict" +RDEPENDS_perl-module-unicode-ucd += "perl-module-unicode-normalize" +RDEPENDS_perl-module-unicode-ucd += "perl-module-utf8-heavy" +RDEPENDS_perl-module-unicode-ucd += "perl-module-warnings" +RDEPENDS_perl-module-user-grent += "perl-module-class-struct" +RDEPENDS_perl-module-user-grent += "perl-module-exporter" +RDEPENDS_perl-module-user-grent += "perl-module-strict" +RDEPENDS_perl-module-user-pwent += "perl-module-class-struct" +RDEPENDS_perl-module-user-pwent += "perl-module-config" +RDEPENDS_perl-module-user-pwent += "perl-module-exporter" +RDEPENDS_perl-module-user-pwent += "perl-module-strict" +RDEPENDS_perl-module-user-pwent += "perl-module-warnings" +RDEPENDS_perl-module-utf8 += "perl-module-utf8-heavy" +RDEPENDS_perl-module-version += "perl-module-strict" +RDEPENDS_perl-module-version += "perl-module-version-regex" +RDEPENDS_perl-module-version += "perl-module-warnings-register" +RDEPENDS_perl-module-version-regex += "perl-module-strict" +RDEPENDS_perl-module-xsloader += "perl-module-dynaloader" diff --git a/poky/meta/recipes-devtools/perl/files/run-ptest b/poky/meta/recipes-devtools/perl/files/run-ptest new file mode 100644 index 000000000..dad4d4291 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/run-ptest @@ -0,0 +1,2 @@ +#!/bin/sh +cd t && PERL_BUILD_PACKAGING=1 ./TEST | sed -u -e 's|\(.*\) .* ok$|PASS: \1|' -e 's|\(.*\) .* skipped|SKIP: \1|' -e 's|\(.*\) \.\(.*\)|FAIL: \1|' diff --git a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb index 3abb9aa8e..c44ee6340 100644 --- a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb +++ b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb @@ -24,6 +24,6 @@ S = "${WORKDIR}/${CPAN_NAME}-${PV}" inherit cpan ptest-perl -RDEPENDS_${PN}-ptest += "perl-module-test-more" +RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-ipc-open3 perl-module-lib perl-module-version" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb b/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb index a7cfa0fbe..c27765bcb 100644 --- a/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb +++ b/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb @@ -33,6 +33,18 @@ do_install_prepend() { rm -rf ${B}/t/file.t } -RDEPENDS_${PN}-ptest += "libtest-needs-perl" +RDEPENDS_${PN} += "perl-module-integer perl-module-mime-base64" +RDEPENDS_${PN}-ptest += " \ + libtest-needs-perl \ + perl-module-test-more \ + perl-module-test \ + perl-module-utf8 \ + perl-module-extutils-makemaker \ + perl-module-net-domain \ + perl-module-encode \ + perl-module-extutils-mm-unix \ + perl-module-file-spec-functions \ + perl-module-perlio \ +" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb b/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb index 95af4d1de..7c9b7696a 100644 --- a/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb +++ b/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb @@ -50,4 +50,6 @@ do_install_ptest() { chown -R root:root ${D}${PTEST_PATH}/samples } +RDEPENDS_${PN}-ptest += "perl-module-filehandle perl-module-if perl-module-test perl-module-test-more" + BBCLASSEXTEND="native nativesdk" diff --git a/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb b/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb index 0f6099868..818ae3d57 100644 --- a/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb +++ b/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb @@ -26,3 +26,5 @@ do_compile() { cpan_do_compile } +RDEPENDS_${PN} += "perl-module-carp perl-module-overload perl-module-universal perl-module-io-handle" +RDEPENDS_${PN}-ptest += "libxml-parser-perl perl-module-file-glob" diff --git a/poky/meta/recipes-devtools/perl/perl-ptest.inc b/poky/meta/recipes-devtools/perl/perl-ptest.inc new file mode 100644 index 000000000..9dd9b7da5 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/perl-ptest.inc @@ -0,0 +1,57 @@ +inherit ptest + +SRC_URI += "file://run-ptest \ + " +do_install_ptest () { + mkdir -p ${D}${PTEST_PATH} + sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/* + sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl + sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh + tar -c --exclude=try --exclude=a.out --exclude='*.o' --exclude=libperl.so* --exclude=Makefile --exclude=makefile --exclude=hostperl \ + --exclude=cygwin --exclude=os2 --exclude=djgpp --exclude=qnx --exclude=symbian --exclude=haiku \ + --exclude=vms --exclude=vos --exclude=NetWare --exclude=amigaos4 --exclude=buildcustomize.pl \ + --exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \ + --exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \ + --exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=makefile.old \ + --exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x ) + + ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl + + # Remove build host references from various scattered files... + find "${D}${PTEST_PATH}" \ + \( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \ + -o -name 'h2xs' -o -name 'h2ph' \ + -o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' \) \ + -type f -exec sed -i \ + -e "s,${D},,g" \ + -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ + -e "s,-isystem${STAGING_INCDIR} ,,g" \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ + -e "s,${STAGING_LIBDIR},${libdir},g" \ + -e "s,${STAGING_BINDIR},${bindir},g" \ + -e "s,${STAGING_INCDIR},${includedir},g" \ + -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ + -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + -e 's:${RECIPE_SYSROOT}::g' \ + {} + + + # Remove a useless timestamp... + sed -i -e '/Autogenerated starting on/d' ${D}${PTEST_PATH}/lib/unicore/mktables.lst +} + +python populate_packages_prepend() { + # Put all *.t files from the lib dir in the ptest package + # do_split_packages requires a pair of () in the regex, but we have nothing + # to match, so use an empty pair. + if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d): + do_split_packages(d, d.expand('${libdir}/perl/${PV}'), r'.*\.t()', + '${PN}-ptest%s', '%s', recursive=True, match_path=True) +} + +RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc sed" + +# The perl-ptest package contains Perl internal modules and generating file +# dependencies for it causes problems. +SKIP_FILEDEPS_${PN}-ptest = '1' diff --git a/poky/meta/recipes-devtools/perl/perl_5.30.0.bb b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb new file mode 100644 index 000000000..b18a6b691 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb @@ -0,0 +1,315 @@ +SUMMARY = "Perl scripting language" +HOMEPAGE = "http://www.perl.org/" +SECTION = "devel" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \ + file://Artistic;md5=71a4d5d9acc18c0952a6df2218bb68da \ + " + + +SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ + https://github.com/arsv/perl-cross/releases/download/1.3/perl-cross-1.3.tar.gz;name=perl-cross \ + file://perl-rdepends.txt \ + file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \ + file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \ + file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \ + file://errno_ver.diff \ + file://native-perlinc.patch \ + file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ + file://perl-dynloader.patch \ + file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \ + file://fix-setgroup.patch \ + " +SRC_URI_append_class-native = " \ + file://perl-configpm-switch.patch \ +" + +SRC_URI[perl.md5sum] = "9770584cdf9b5631c38097645ce33549" +SRC_URI[perl.sha256sum] = "851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2" +SRC_URI[perl-cross.md5sum] = "4dda3daf9c4fe42b3d6a5dd052852a48" +SRC_URI[perl-cross.sha256sum] = "49edea1ea2cd6c5c47386ca71beda8d150c748835781354dbe7f75b1df27e703" + +S = "${WORKDIR}/perl-${PV}" + +inherit upstream-version-is-even + +DEPENDS += "db gdbm zlib virtual/crypt" + +PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" + +do_unpack_append() { + bb.build.exec_func('do_copy_perlcross', d) +} + +do_copy_perlcross() { + cp -rfp ${WORKDIR}/perl-cross*/* ${S} +} + +do_configure_class-target() { + ./configure --prefix=${prefix} --libdir=${libdir} \ + --target=${TARGET_SYS} \ + -Duseshrplib \ + -Dsoname=libperl.so.5 \ + -Dvendorprefix=${prefix} \ + -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux + + #perl.c uses an ARCHLIB_EXP define to generate compile-time code that + #adds the archlibexp path to @INC during run-time initialization of a + #new perl interpreter. + + #Because we've changed this value in a temporary way to make it + #possible to use ExtUtils::Embed in the target build (the temporary + #value in config.sh gets re-stripped out during packaging), the + #ARCHLIB_EXP value that gets generated still uses the temporary version + #instead of the original expected version (i.e. becauses it's in the + #generated config.h, it doesn't get stripped out during packaging like + #the others in config.sh). + + sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h +} + +do_configure_class-nativesdk() { + ./configure --prefix=${prefix} \ + --target=${TARGET_SYS} \ + -Duseshrplib \ + -Dsoname=libperl.so.5 \ + -Dvendorprefix=${prefix} \ + -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux + + # See the comment above + sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h +} + +do_configure_class-native() { + ./configure --prefix=${prefix} \ + -Dbin=${bindir}/perl-native \ + -Duseshrplib \ + -Dsoname=libperl.so.5 \ + -Dvendorprefix=${prefix} \ + -Ui_xlocale +} + +do_configure_append() { + if [ -n "$SOURCE_DATE_EPOCH" ]; then + PERL_BUILD_DATE="$(${PYTHON} -c "\ +from datetime import datetime, timezone; \ +print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %d %H:%M:%S %Y')) \ + ")" + echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h + fi +} + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${libdir}/perl5 + install -d ${D}${libdir}/perl5/${PV}/ + install -d ${D}${libdir}/perl5/${PV}/ExtUtils/ + + # Save native config + install config.sh ${D}${libdir}/perl5 + install lib/Config.pm ${D}${libdir}/perl5/${PV}/ + install lib/ExtUtils/typemap ${D}${libdir}/perl5/${PV}/ExtUtils/ + + # Fix up shared library + rm ${D}/${libdir}/perl5/${PV}/*/CORE/libperl.so + ln -sf ../../../../libperl.so.${PERL_LIB_VER} $(echo ${D}/${libdir}/perl5/${PV}/*/CORE)/libperl.so +} + +do_install_append_class-target() { + # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch + ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl + +} + +do_install_append_class-nativesdk() { + # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch + ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl + + create_wrapper ${D}${bindir}/perl \ + PERL5LIB='$PERL5LIB:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/site_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/vendor_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/${PV}' +} + +do_install_append_class-native () { + # Those wrappers mean that perl installed from sstate (which may change + # path location) works and that in the nativesdk case, the SDK can be + # installed to a different location from the one it was built for. + create_wrapper ${D}${bindir}/perl-native/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl5/site_perl/${PV}:${STAGING_LIBDIR}/perl5/vendor_perl/${PV}:${STAGING_LIBDIR}/perl5/${PV}' + + # Use /usr/bin/env nativeperl for the perl script. + for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do + sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f + done +} + +PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess" + +perl_package_preprocess () { + # Fix up installed configuration + sed -i -e "s,${D},,g" \ + -e "s,${DEBUG_PREFIX_MAP},,g" \ + -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ + -e "s,-isystem${STAGING_INCDIR} ,,g" \ + -e "s,${STAGING_LIBDIR},${libdir},g" \ + -e "s,${STAGING_BINDIR},${bindir},g" \ + -e "s,${STAGING_INCDIR},${includedir},g" \ + -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ + -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ + -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \ + -e 's:${RECIPE_SYSROOT}::g' \ + ${PKGD}${bindir}/h2xs \ + ${PKGD}${bindir}/h2ph \ + ${PKGD}${bindir}/pod2man \ + ${PKGD}${bindir}/pod2text \ + ${PKGD}${bindir}/pod2usage \ + ${PKGD}${bindir}/podchecker \ + ${PKGD}${bindir}/podselect \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \ + ${PKGD}${libdir}/perl5/${PV}/Config.pm \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pod \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_git.pl \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy.pl \ + ${PKGD}${libdir}/perl5/${PV}/ExtUtils/Liblist/Kid.pm \ + ${PKGD}${libdir}/perl5/${PV}/FileCache.pm \ + ${PKGD}${libdir}/perl5/${PV}/pod/*.pod \ + ${PKGD}${libdir}/perl5/config.sh +} + +require perl-ptest.inc + +FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \ + ${libdir}/perl5/site_perl \ + ${libdir}/perl5/${PV}/Config.pm \ + ${libdir}/perl5/${PV}/*/Config_git.pl \ + ${libdir}/perl5/${PV}/*/Config_heavy-target.pl \ + ${libdir}/perl5/config.sh \ + ${libdir}/perl5/${PV}/strict.pm \ + ${libdir}/perl5/${PV}/warnings.pm \ + ${libdir}/perl5/${PV}/warnings \ + ${libdir}/perl5/${PV}/vars.pm \ + ${libdir}/perl5/site_perl \ + " +RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \ + perl-module-warnings-register" + +FILES_${PN}-staticdev_append = " ${libdir}/perl5/${PV}/*/CORE/libperl.a" + +FILES_${PN}-dev_append = " ${libdir}/perl5/${PV}/*/CORE" + +FILES_${PN}-doc_append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \ + ${libdir}/perl5/${PV}/*/.packlist \ + ${libdir}/perl5/${PV}/ExtUtils/MANIFEST.SKIP \ + ${libdir}/perl5/${PV}/ExtUtils/xsubpp \ + ${libdir}/perl5/${PV}/ExtUtils/typemap \ + ${libdir}/perl5/${PV}/Encode/encode.h \ + " +PACKAGES += "${PN}-misc" + +FILES_${PN}-misc = "${bindir}/*" + +PACKAGES += "${PN}-pod" + +FILES_${PN}-pod = "${libdir}/perl5/${PV}/pod \ + ${libdir}/perl5/${PV}/*.pod \ + ${libdir}/perl5/${PV}/*/*.pod \ + ${libdir}/perl5/${PV}/*/*/*.pod \ + ${libdir}/perl5/${PV}/*/*/*/*.pod \ + " + +PACKAGES += "${PN}-module-cpan ${PN}-module-unicore" + +FILES_${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \ + " +FILES_${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore" + +# Create a perl-modules package recommending all the other perl +# packages (actually the non modules packages and not created too) +ALLOW_EMPTY_${PN}-modules = "1" +PACKAGES += "${PN}-modules " + +PACKAGESPLITFUNCS_prepend = "split_perl_packages " + +python split_perl_packages () { + libdir = d.expand('${libdir}/perl5/${PV}') + do_split_packages(d, libdir, r'.*/auto/([^.]*)/[^/]*\.(so|ld|ix|al)', '${PN}-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False) + do_split_packages(d, libdir, r'.*linux/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'Module/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'Module/([^\/]*)/.*', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'.*linux/([^\/].*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/)[^\/]).*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + + # perl-modules should recommend every perl module, and only the + # modules. Don't attempt to use the result of do_split_packages() as some + # modules are manually split (eg. perl-module-unicore). + packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split()) + d.setVar(d.expand("RRECOMMENDS_${PN}-modules"), ' '.join(packages)) + + # Read the pre-generated dependency file, and use it to set module dependecies + for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines(): + splitline = line.split() + module = splitline[0].replace("RDEPENDS_perl", "RDEPENDS_${PN}") + depends = splitline[2].strip('"').replace("perl-module", "${PN}-module") + d.appendVar(d.expand(module), " " + depends) +} + +PACKAGES_DYNAMIC_class-target += "^perl-module-.*" +PACKAGES_DYNAMIC_class-nativesdk += "^nativesdk-perl-module-.*" + +RDEPENDS_${PN}-misc += "perl perl-modules" +RDEPENDS_${PN}-pod += "perl" + +BBCLASSEXTEND = "native nativesdk" + +SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh" + +do_create_rdepends_inc() { + cd ${WORKDIR} + cat <<'EOPREAMBLE' > ${WORKDIR}/perl-rdepends.inc + +# Some additional dependencies that the above doesn't manage to figure out +RDEPENDS_${PN}-module-file-spec += "${PN}-module-file-spec-unix" +RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigint-calc" +RDEPENDS_${PN}-module-thread-queue += "${PN}-module-attributes" +RDEPENDS_${PN}-module-overload += "${PN}-module-overloading" + +# Generated depends list beyond this line +EOPREAMBLE + test -e packages-split.new && rm -rf packages-split.new + cp -r packages-split packages-split.new && cd packages-split.new + find . -name \*.pm | xargs sed -i '/^=head/,/^=cut/d' + egrep -r "^\s*(\ */+= \"perl-module-/g;s/CPANPLUS::.*/cpanplus/g;s/CPAN::.*/cpan/g;s/::/-/g;s/ [^+\"].*//g;s/_/-/g;s/\.pl\"$/\"/;s/\"\?\$/\"/;s/(//;" | tr [:upper:] [:lower:] | \ + awk '{if ($3 != "\x22"$1"\x22"){ print $0}}'| \ + grep -v -e "\-vms\-" -e module-5 -e "^$" -e "\\$" -e your -e tk -e autoperl -e html -e http -e parse-cpan -e perl-ostype -e ndbm-file -e module-mac -e fcgi -e lwp -e dbd -e dbix | \ + sort -u | \ + sed 's/^/RDEPENDS_/;s/perl-module-/${PN}-module-/g;s/module-\(module-\)/\1/g;s/\(module-load\)-conditional/\1/g;s/encode-configlocal/&-pm/;' | \ + egrep -wv '=>|module-a|module-apache.?|module-apr|module-authen-sasl|module-b-asmdata|module-convert-ebcdic|module-devel-size|module-digest-perl-md5|module-dumpvalue|module-extutils-constant-aaargh56hash|module-extutils-xssymset|module-file-bsdglob|module-for|module-it|module-io-socket-inet6|module-io-socket-ssl|module-io-string|module-ipc-system-simple|module-lexical|module-local-lib|metadata|module-modperl-util|module-pluggable-object|module-test-builder-io-scalar|module-test2|module-text-unidecode|module-unicore|module-win32|objects\sload|syscall.ph|systeminfo.ph|%s' | \ + egrep -wv '=>|module-algorithm-diff|module-carp|module-c|module-encode-hanextra|module-extutils-makemaker-version-regex|module-file-spec|module-io-compress-lzma|module-locale-maketext-lexicon|module-log-agent|module-meta-notation|module-net-localcfg|module-net-ping-external|module-b-deparse|module-scalar-util|module-some-module|module-symbol|module-uri|module-win32api-file' >> ${WORKDIR}/perl-rdepends.generated + cp ${WORKDIR}/perl-rdepends.generated ${THISDIR}/files/perl-rdepends.txt +} + +# bitbake perl -c create_rdepends_inc +addtask do_create_rdepends_inc + +SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper" + +perl_sysroot_create_wrapper () { + mkdir -p ${SYSROOT_DESTDIR}${bindir} + # Create a wrapper that /usr/bin/env perl will use to get perl-native. + # This MUST live in the normal bindir. + cat > ${SYSROOT_DESTDIR}${bindir}/nativeperl << EOF +#!/bin/sh +realpath=\`readlink -fn \$0\` +exec \`dirname \$realpath\`/perl-native/perl "\$@" +EOF + chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl + cat ${SYSROOT_DESTDIR}${bindir}/nativeperl +} + diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb deleted file mode 100644 index 1452875f5..000000000 --- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb +++ /dev/null @@ -1,69 +0,0 @@ -SUMMARY = "pkgconf provides compiler and linker configuration for development frameworks." -DESCRIPTION = "pkgconf is a program which helps to configure compiler and linker \ -flags for development frameworks. It is similar to pkg-config from \ -freedesktop.org, providing additional functionality while also maintaining \ -compatibility." -HOMEPAGE = "http://pkgconf.org" -BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues" -SECTION = "devel" -PROVIDES += "pkgconfig" -RPROVIDES_${PN} += "pkgconfig" -DEFAULT_PREFERENCE = "-1" - -# The pkgconf license seems to be functionally equivalent to BSD-2-Clause or -# ISC, but has different wording, so needs its own name. -LICENSE = "pkgconf" -LIC_FILES_CHKSUM = "file://COPYING;md5=2214222ec1a820bd6cc75167a56925e0" - -SRC_URI = "\ - https://distfiles.dereferenced.org/pkgconf/pkgconf-${PV}.tar.xz \ - file://pkg-config-wrapper \ - file://pkg-config-native.in \ - file://pkg-config-esdk.in \ -" -SRC_URI[md5sum] = "0c93492d7f001e5175b0347b5472e86d" -SRC_URI[sha256sum] = "6135a3abb576672ba54a899860442ba185063f0f90dae5892f64f7bae8e1ece5" - -inherit autotools - -EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig'" - -do_install_append () { - # Install a wrapper which deals, as much as possible with pkgconf vs - # pkg-config compatibility issues. - install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config" -} - -do_install_append_class-native () { - # Install a pkg-config-native wrapper that will use the native sysroot instead - # of the MACHINE sysroot, for using pkg-config when building native tools. - sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ - < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native - install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native - sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ - -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ - < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk - install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk -} - -# When using the RPM generated automatic package dependencies, some packages -# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by -# specifying an appropriate provide. -RPROVIDES_${PN} += "pkgconfig(pkg-config)" - -# Include pkg.m4 in the main package, leaving libpkgconf dev files in -dev -FILES_${PN}-dev_remove = "${datadir}/aclocal" -FILES_${PN} += "${datadir}/aclocal" - -BBCLASSEXTEND += "native nativesdk" - -pkgconf_sstate_fixup_esdk () { - if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then - pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}" - mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real - lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config - sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native - fi -} - -SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconf_sstate_fixup_esdk" diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb new file mode 100644 index 000000000..c60ef7422 --- /dev/null +++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb @@ -0,0 +1,69 @@ +SUMMARY = "pkgconf provides compiler and linker configuration for development frameworks." +DESCRIPTION = "pkgconf is a program which helps to configure compiler and linker \ +flags for development frameworks. It is similar to pkg-config from \ +freedesktop.org, providing additional functionality while also maintaining \ +compatibility." +HOMEPAGE = "http://pkgconf.org" +BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues" +SECTION = "devel" +PROVIDES += "pkgconfig" +RPROVIDES_${PN} += "pkgconfig" +DEFAULT_PREFERENCE = "-1" + +# The pkgconf license seems to be functionally equivalent to BSD-2-Clause or +# ISC, but has different wording, so needs its own name. +LICENSE = "pkgconf" +LIC_FILES_CHKSUM = "file://COPYING;md5=2214222ec1a820bd6cc75167a56925e0" + +SRC_URI = "\ + https://distfiles.dereferenced.org/pkgconf/pkgconf-${PV}.tar.xz \ + file://pkg-config-wrapper \ + file://pkg-config-native.in \ + file://pkg-config-esdk.in \ +" +SRC_URI[md5sum] = "556bae2b9e0cc7b46e7c00083cb6d95d" +SRC_URI[sha256sum] = "22b9ee38438901f9d60f180e5182821180854fa738fd071f593ea26a81da208c" + +inherit autotools + +EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig'" + +do_install_append () { + # Install a wrapper which deals, as much as possible with pkgconf vs + # pkg-config compatibility issues. + install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config" +} + +do_install_append_class-native () { + # Install a pkg-config-native wrapper that will use the native sysroot instead + # of the MACHINE sysroot, for using pkg-config when building native tools. + sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ + < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native + install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native + sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ + -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ + < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk + install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk +} + +# When using the RPM generated automatic package dependencies, some packages +# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by +# specifying an appropriate provide. +RPROVIDES_${PN} += "pkgconfig(pkg-config)" + +# Include pkg.m4 in the main package, leaving libpkgconf dev files in -dev +FILES_${PN}-dev_remove = "${datadir}/aclocal" +FILES_${PN} += "${datadir}/aclocal" + +BBCLASSEXTEND += "native nativesdk" + +pkgconf_sstate_fixup_esdk () { + if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then + pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}" + mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real + lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config + sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native + fi +} + +SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconf_sstate_fixup_esdk" diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb b/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb index 50137895c..a1133dad4 100644 --- a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb +++ b/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb @@ -4,3 +4,7 @@ require python-numpy.inc RDEPENDS_${PN}_class-target_append = " \ ${PYTHON_PN}-subprocess \ " + +do_install_append(){ + rm ${D}/${bindir}/f2py +} diff --git a/poky/meta/recipes-devtools/python/python-mako.inc b/poky/meta/recipes-devtools/python/python-mako.inc index 97c624bbc..20808fe5a 100644 --- a/poky/meta/recipes-devtools/python/python-mako.inc +++ b/poky/meta/recipes-devtools/python/python-mako.inc @@ -8,8 +8,8 @@ PYPI_PACKAGE = "Mako" inherit pypi -SRC_URI[md5sum] = "d739720f3f0d6a1cb6a96ea7a4760c3e" -SRC_URI[sha256sum] = "0728c404877cd4ca72c409c0ea372dc5f3b53fa1ad2bb434e1d216c0444ff1fd" +SRC_URI[md5sum] = "a94d376078dda65f834ea5049a81ebb5" +SRC_URI[sha256sum] = "7165919e78e1feb68b4dbe829871ea9941398178fa58e6beedb9ba14acf63965" RDEPENDS_${PN} = "${PYTHON_PN}-html \ ${PYTHON_PN}-netclient \ diff --git a/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb b/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb index 6d69d2d62..fab609df9 100644 --- a/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb +++ b/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb @@ -1,2 +1,6 @@ inherit setuptools require python-nose.inc + +do_install_append() { + rm ${D}${bindir}/nosetests +} diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc index 357aa0708..f49e07869 100644 --- a/poky/meta/recipes-devtools/python/python-setuptools.inc +++ b/poky/meta/recipes-devtools/python/python-setuptools.inc @@ -37,3 +37,14 @@ do_install_prepend() { } BBCLASSEXTEND = "native nativesdk" + +# The pkg-resources module can be used by itself, without the package downloader +# and easy_install. Ship it in a separate package so that it can be used by +# minimal distributions. +PACKAGES =+ "${PYTHON_PN}-pkg-resources " +FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" +# Due to the way OE-Core implemented native recipes, the native class cannot +# have a dependency on something that is not a recipe name. Work around that by +# manually setting RPROVIDES. +RDEPENDS_${PN}_append = " ${PYTHON_PN}-pkg-resources" +RPROVIDES_append_class-native = " ${PYTHON_PN}-pkg-resources-native" diff --git a/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch new file mode 100644 index 000000000..b26723701 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch @@ -0,0 +1,55 @@ +From 179a5f75f1121dab271fe8f90eb35145f9dcbbda Mon Sep 17 00:00:00 2001 +From: Sihoon Lee +Date: Fri, 17 May 2019 02:41:06 +0900 +Subject: [PATCH] Update test_urllib.py and urllib.py\nchange assertEqual into + assertRasies in DummyURLopener test, and simplify mitigation + +Upstream-Status: Submitted https://github.com/python/cpython/pull/11842 + +CVE: CVE-2019-9948 + +Signed-off-by: Martin Jansa +--- + Lib/test/test_urllib.py | 11 +++-------- + Lib/urllib.py | 4 ++-- + 2 files changed, 5 insertions(+), 10 deletions(-) + +diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py +index e5f210e62a18..1e23dfb0bb16 100644 +--- a/Lib/test/test_urllib.py ++++ b/Lib/test/test_urllib.py +@@ -1027,14 +1027,9 @@ def test_local_file_open(self): + class DummyURLopener(urllib.URLopener): + def open_local_file(self, url): + return url +- self.assertEqual(DummyURLopener().open( +- 'local-file://example'), '//example') +- self.assertEqual(DummyURLopener().open( +- 'local_file://example'), '//example') +- self.assertRaises(IOError, urllib.urlopen, +- 'local-file://example') +- self.assertRaises(IOError, urllib.urlopen, +- 'local_file://example') ++ for url in ('local_file://example', 'local-file://example'): ++ self.assertRaises(IOError, DummyURLopener().open, url) ++ self.assertRaises(IOError, urllib.urlopen, url) + + # Just commented them out. + # Can't really tell why keep failing in windows and sparc. +diff --git a/Lib/urllib.py b/Lib/urllib.py +index a24e9a5c68fb..39b834054e9e 100644 +--- a/Lib/urllib.py ++++ b/Lib/urllib.py +@@ -203,10 +203,10 @@ def open(self, fullurl, data=None): + name = 'open_' + urltype + self.type = urltype + name = name.replace('-', '_') +- ++ + # bpo-35907: # disallow the file reading with the type not allowed + if not hasattr(self, name) or \ +- (self == _urlopener and name == 'open_local_file'): ++ getattr(self, name) == self.open_local_file: + if proxy: + return self.open_unknown_proxy(proxy, fullurl, data) + else: diff --git a/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch new file mode 100644 index 000000000..f4c225d2f --- /dev/null +++ b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch @@ -0,0 +1,55 @@ +From 8f99cc799e4393bf1112b9395b2342f81b3f45ef Mon Sep 17 00:00:00 2001 +From: push0ebp +Date: Thu, 14 Feb 2019 02:05:46 +0900 +Subject: [PATCH] bpo-35907: Avoid file reading as disallowing the unnecessary + URL scheme in urllib + +Upstream-Status: Submitted https://github.com/python/cpython/pull/11842 + +CVE: CVE-2019-9948 + +Signed-off-by: Martin Jansa +--- + Lib/test/test_urllib.py | 12 ++++++++++++ + Lib/urllib.py | 5 ++++- + 2 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py +index 1ce9201c0693..e5f210e62a18 100644 +--- a/Lib/test/test_urllib.py ++++ b/Lib/test/test_urllib.py +@@ -1023,6 +1023,18 @@ def open_spam(self, url): + "spam://c:|windows%/:=&?~#+!$,;'@()*[]|/path/"), + "//c:|windows%/:=&?~#+!$,;'@()*[]|/path/") + ++ def test_local_file_open(self): ++ class DummyURLopener(urllib.URLopener): ++ def open_local_file(self, url): ++ return url ++ self.assertEqual(DummyURLopener().open( ++ 'local-file://example'), '//example') ++ self.assertEqual(DummyURLopener().open( ++ 'local_file://example'), '//example') ++ self.assertRaises(IOError, urllib.urlopen, ++ 'local-file://example') ++ self.assertRaises(IOError, urllib.urlopen, ++ 'local_file://example') + + # Just commented them out. + # Can't really tell why keep failing in windows and sparc. +diff --git a/Lib/urllib.py b/Lib/urllib.py +index d85504a5cb7e..a24e9a5c68fb 100644 +--- a/Lib/urllib.py ++++ b/Lib/urllib.py +@@ -203,7 +203,10 @@ def open(self, fullurl, data=None): + name = 'open_' + urltype + self.type = urltype + name = name.replace('-', '_') +- if not hasattr(self, name): ++ ++ # bpo-35907: # disallow the file reading with the type not allowed ++ if not hasattr(self, name) or \ ++ (self == _urlopener and name == 'open_local_file'): + if proxy: + return self.open_unknown_proxy(proxy, fullurl, data) + else: diff --git a/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch new file mode 100644 index 000000000..2ce4d2cde --- /dev/null +++ b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch @@ -0,0 +1,28 @@ +From 06b5ee585d6e76bdbb4002f642d864d860cbbd2b Mon Sep 17 00:00:00 2001 +From: Steve Dower +Date: Tue, 12 Mar 2019 08:23:33 -0700 +Subject: [PATCH] bpo-36216: Only print test messages when verbose + +CVE: CVE-2019-9636 + +Upstream-Status: Backport https://github.com/python/cpython/pull/12291/commits/06b5ee585d6e76bdbb4002f642d864d860cbbd2b + +Signed-off-by: Martin Jansa +--- + Lib/test/test_urlparse.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py +index 73b0228ea8e3..1830d0b28688 100644 +--- a/Lib/test/test_urlparse.py ++++ b/Lib/test/test_urlparse.py +@@ -644,7 +644,8 @@ def test_urlsplit_normalization(self): + for scheme in [u"http", u"https", u"ftp"]: + for c in denorm_chars: + url = u"{}://netloc{}false.netloc/path".format(scheme, c) +- print "Checking %r" % url ++ if test_support.verbose: ++ print "Checking %r" % url + with self.assertRaises(ValueError): + urlparse.urlsplit(url) + diff --git a/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch new file mode 100644 index 000000000..352b13ba9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch @@ -0,0 +1,111 @@ +From 3e3669c9c41a27e1466e2c28b3906e3dd0ce3e7e Mon Sep 17 00:00:00 2001 +From: Steve Dower +Date: Thu, 7 Mar 2019 08:25:22 -0800 +Subject: [PATCH] bpo-36216: Add check for characters in netloc that normalize + to separators (GH-12201) + +CVE: CVE-2019-9636 + +Upstream-Status: Backport https://github.com/python/cpython/pull/12216/commits/3e3669c9c41a27e1466e2c28b3906e3dd0ce3e7e + +Signed-off-by: Martin Jansa +--- + Doc/library/urlparse.rst | 20 ++++++++++++++++ + Lib/test/test_urlparse.py | 24 +++++++++++++++++++ + Lib/urlparse.py | 17 +++++++++++++ + .../2019-03-06-09-38-40.bpo-36216.6q1m4a.rst | 3 +++ + 4 files changed, 64 insertions(+) + create mode 100644 Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst + +diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py +index 4e1ded73c266..73b0228ea8e3 100644 +--- a/Lib/test/test_urlparse.py ++++ b/Lib/test/test_urlparse.py +@@ -1,4 +1,6 @@ + from test import test_support ++import sys ++import unicodedata + import unittest + import urlparse + +@@ -624,6 +626,28 @@ def test_portseparator(self): + self.assertEqual(urlparse.urlparse("http://www.python.org:80"), + ('http','www.python.org:80','','','','')) + ++ def test_urlsplit_normalization(self): ++ # Certain characters should never occur in the netloc, ++ # including under normalization. ++ # Ensure that ALL of them are detected and cause an error ++ illegal_chars = u'/:#?@' ++ hex_chars = {'{:04X}'.format(ord(c)) for c in illegal_chars} ++ denorm_chars = [ ++ c for c in map(unichr, range(128, sys.maxunicode)) ++ if (hex_chars & set(unicodedata.decomposition(c).split())) ++ and c not in illegal_chars ++ ] ++ # Sanity check that we found at least one such character ++ self.assertIn(u'\u2100', denorm_chars) ++ self.assertIn(u'\uFF03', denorm_chars) ++ ++ for scheme in [u"http", u"https", u"ftp"]: ++ for c in denorm_chars: ++ url = u"{}://netloc{}false.netloc/path".format(scheme, c) ++ print "Checking %r" % url ++ with self.assertRaises(ValueError): ++ urlparse.urlsplit(url) ++ + def test_main(): + test_support.run_unittest(UrlParseTestCase) + +diff --git a/Lib/urlparse.py b/Lib/urlparse.py +index f7c2b032b097..54eda08651ab 100644 +--- a/Lib/urlparse.py ++++ b/Lib/urlparse.py +@@ -165,6 +165,21 @@ def _splitnetloc(url, start=0): + delim = min(delim, wdelim) # use earliest delim position + return url[start:delim], url[delim:] # return (domain, rest) + ++def _checknetloc(netloc): ++ if not netloc or not isinstance(netloc, unicode): ++ return ++ # looking for characters like \u2100 that expand to 'a/c' ++ # IDNA uses NFKC equivalence, so normalize for this check ++ import unicodedata ++ netloc2 = unicodedata.normalize('NFKC', netloc) ++ if netloc == netloc2: ++ return ++ _, _, netloc = netloc.rpartition('@') # anything to the left of '@' is okay ++ for c in '/?#@:': ++ if c in netloc2: ++ raise ValueError("netloc '" + netloc2 + "' contains invalid " + ++ "characters under NFKC normalization") ++ + def urlsplit(url, scheme='', allow_fragments=True): + """Parse a URL into 5 components: + :///?# +@@ -193,6 +208,7 @@ def urlsplit(url, scheme='', allow_fragments=True): + url, fragment = url.split('#', 1) + if '?' in url: + url, query = url.split('?', 1) ++ _checknetloc(netloc) + v = SplitResult(scheme, netloc, url, query, fragment) + _parse_cache[key] = v + return v +@@ -216,6 +232,7 @@ def urlsplit(url, scheme='', allow_fragments=True): + url, fragment = url.split('#', 1) + if '?' in url: + url, query = url.split('?', 1) ++ _checknetloc(netloc) + v = SplitResult(scheme, netloc, url, query, fragment) + _parse_cache[key] = v + return v +diff --git a/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst b/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst +new file mode 100644 +index 000000000000..1e1ad92c6feb +--- /dev/null ++++ b/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst +@@ -0,0 +1,3 @@ ++Changes urlsplit() to raise ValueError when the URL contains characters that ++decompose under IDNA encoding (NFKC-normalization) into characters that ++affect how the URL is parsed. +\ No newline at end of file diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb b/poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb new file mode 100644 index 000000000..17803f1b0 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb @@ -0,0 +1,3 @@ +inherit setuptools3 +require python-mako.inc + diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb b/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb deleted file mode 100644 index 17803f1b0..000000000 --- a/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb +++ /dev/null @@ -1,3 +0,0 @@ -inherit setuptools3 -require python-mako.inc - diff --git a/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb b/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb index 8bc1f4983..13dbf9617 100644 --- a/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb +++ b/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb @@ -1,6 +1,2 @@ inherit setuptools3 require python-nose.inc - -do_install_append() { - mv ${D}${bindir}/nosetests ${D}${bindir}/nosetests3 -} diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb deleted file mode 100644 index d9b6ce74a..000000000 --- a/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit setuptools3 -require python-pbr.inc -SRC_URI[md5sum] = "08972dca5fd2a959f27842090973edd6" -SRC_URI[sha256sum] = "8c361cc353d988e4f5b998555c88098b9d5964c2e11acf7b0d21925a66bb5824" - diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb new file mode 100644 index 000000000..ed6832e4a --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb @@ -0,0 +1,5 @@ +inherit setuptools3 +require python-pbr.inc +SRC_URI[md5sum] = "2bca008fd08d035a2f78c606d876a6db" +SRC_URI[sha256sum] = "d950c64aeea5456bbd147468382a5bb77fe692c13c9f00f0219814ce5b642755" + diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb b/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb deleted file mode 100644 index 4fdc7ee24..000000000 --- a/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "The PyPA recommended tool for installing Python packages" -HOMEPAGE = "https://pypi.python.org/pypi/pip" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e" - -DEPENDS += "python3 python3-setuptools-native" - -SRC_URI[md5sum] = "1c5edb0924a0d7d79f3a2e3df05009b4" -SRC_URI[sha256sum] = "6e6f197a1abfb45118dbb878b5c859a0edbdd33fd250100bc015b67fded4b9f2" - -inherit pypi distutils3 - -do_install_append() { - # Install as pip3 and leave pip2 as default - rm ${D}/${bindir}/pip -} - -RDEPENDS_${PN} = "\ - python3-compile \ - python3-io \ - python3-html \ - python3-json \ - python3-netserver \ - python3-setuptools \ - python3-unixadmin \ - python3-xmlrpc \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb b/poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb new file mode 100644 index 000000000..baf32f472 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb @@ -0,0 +1,30 @@ +SUMMARY = "The PyPA recommended tool for installing Python packages" +HOMEPAGE = "https://pypi.python.org/pypi/pip" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e" + +DEPENDS += "python3 python3-setuptools-native" + +SRC_URI[md5sum] = "4fb98a060f21c731d6743b90a714fc73" +SRC_URI[sha256sum] = "44d3d7d3d30a1eb65c7e5ff1173cdf8f7467850605ac7cc3707b6064bddd0958" + +inherit pypi distutils3 + +do_install_append() { + # Install as pip3 and leave pip2 as default + rm ${D}/${bindir}/pip +} + +RDEPENDS_${PN} = "\ + python3-compile \ + python3-io \ + python3-html \ + python3-json \ + python3-netserver \ + python3-setuptools \ + python3-unixadmin \ + python3-xmlrpc \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb new file mode 100644 index 000000000..35c0ac6a5 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "Pygments is a syntax highlighting package written in Python." +DESCRIPTION = "Pygments is a syntax highlighting package written in Python." +HOMEPAGE = "http://pygments.org/" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e1d7b7bffbfeaa14083fd2bd3236aea8" + +inherit setuptools3 +SRC_URI[md5sum] = "5ecc3fbb2a783e917b369271fc0e6cd1" +SRC_URI[sha256sum] = "881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297" + +DEPENDS += "\ + ${PYTHON_PN} \ + " + +PYPI_PACKAGE = "Pygments" + +inherit pypi + +BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb b/poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb new file mode 100644 index 000000000..5cd595662 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb @@ -0,0 +1,8 @@ +require python3-scons_${PV}.bb +inherit native python3native +DEPENDS = "python3-native" +RDEPENDS_${PN} = "" + +do_install_append() { + create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1' +} diff --git a/poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb b/poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb new file mode 100644 index 000000000..7fb75a627 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb @@ -0,0 +1,29 @@ +SUMMARY = "Software Construction tool (make/autotools replacement)" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=37bb53a08e6beaea0c90e7821d731284" + +SRC_URI = "${SOURCEFORGE_MIRROR}/scons/scons-${PV}.tar.gz" +SRC_URI[md5sum] = "9f9c163e8bd48cf8cd92f03e85ca6395" +SRC_URI[sha256sum] = "df676f23dc6d4bfa384fc389d95dcd21ab907e6349d4c848958ba4befb73c73e" + +S = "${WORKDIR}/scons-${PV}" + +UPSTREAM_CHECK_URI = "http://scons.org/pages/download.html" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" + +inherit setuptools3 + +do_install_prepend() { + sed -i -e "1s,#!.*python.*,#!${USRBINPATH}/env python3," ${S}/script/* +} + +RDEPENDS_${PN} = "\ + python3-core \ + python3-fcntl \ + python3-io \ + python3-json \ + python3-shell \ + python3-pickle \ + python3-pprint \ + " diff --git a/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch b/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch new file mode 100644 index 000000000..e7af88654 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch @@ -0,0 +1,201 @@ +From 7535c39951b9d15dd64c4669092a8582ba555466 Mon Sep 17 00:00:00 2001 +From: Matthias Schoepfer +Date: Fri, 31 May 2019 15:34:34 +0200 +Subject: [PATCH] bpo-36852: proper detection of mips architecture for soft + float + +When (cross) compiling for softfloat mips, __mips_hard_float will not be +defined and detection of OS triplet in configure.ac / configure will fail. + +This also has to do with the custom detection of the build triplet. Trying +to do this in a more autoconf/autotools manner. + +Upstream-Status: Submitted [https://github.com/python/cpython/pull/13196] +Signed-off-by: Matthias Schoepfer +--- + configure.ac | 169 ++++++--------------------------------------------- + 1 file changed, 17 insertions(+), 152 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a7de901e08..a73e2de51b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -727,158 +727,23 @@ fi + MULTIARCH=$($CC --print-multiarch 2>/dev/null) + AC_SUBST(MULTIARCH) + +-AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) +-cat >> conftest.c <=6) && defined(_MIPSEL) +-# if _MIPS_SIM == _ABIO32 +- mipsisa32r6el-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mipsisa64r6el-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mipsisa64r6el-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) +-# if _MIPS_SIM == _ABIO32 +- mipsisa32r6-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mipsisa64r6-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mipsisa64r6-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) && defined(_MIPSEL) +-# if _MIPS_SIM == _ABIO32 +- mipsel-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mips64el-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mips64el-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) +-# if _MIPS_SIM == _ABIO32 +- mips-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mips64-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mips64-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__or1k__) +- or1k-linux-gnu +-# elif defined(__powerpc__) && defined(__SPE__) +- powerpc-linux-gnuspe +-# elif defined(__powerpc64__) +-# if defined(__LITTLE_ENDIAN__) +- powerpc64le-linux-gnu +-# else +- powerpc64-linux-gnu +-# endif +-# elif defined(__powerpc__) +- powerpc-linux-gnu +-# elif defined(__s390x__) +- s390x-linux-gnu +-# elif defined(__s390__) +- s390-linux-gnu +-# elif defined(__sh__) && defined(__LITTLE_ENDIAN__) +- sh4-linux-gnu +-# elif defined(__sparc__) && defined(__arch64__) +- sparc64-linux-gnu +-# elif defined(__sparc__) +- sparc-linux-gnu +-# elif defined(__riscv) +-# if __riscv_xlen == 32 +- riscv32-linux-gnu +-# elif __riscv_xlen == 64 +- riscv64-linux-gnu +-# else +-# error unknown platform triplet +-# endif +-# else +-# error unknown platform triplet +-# endif +-#elif defined(__FreeBSD_kernel__) +-# if defined(__LP64__) +- x86_64-kfreebsd-gnu +-# elif defined(__i386__) +- i386-kfreebsd-gnu +-# else +-# error unknown platform triplet +-# endif +-#elif defined(__gnu_hurd__) +- i386-gnu +-#elif defined(__APPLE__) +- darwin +-#else +-# error unknown platform triplet +-#endif +- +-EOF +- +-if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then +- PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` +- AC_MSG_RESULT([$PLATFORM_TRIPLET]) +-else +- AC_MSG_RESULT([none]) +-fi +-rm -f conftest.c conftest.out ++AC_CANONICAL_TARGET ++## Not using $target to filter out vendor ++## Need to handle macos, vxworks and hurd special (?) :-/ ++case ${target_os} in ++ darwin*) ++ PLATFORM_TRIPLET=darwin ++ ;; ++ hurd*) ++ PLATFORM_TRIPLET=i386-gnu ++ ;; ++ vxworks*) ++ PLATFORM_TRIPLET=vxworks ++ ;; ++ *) ++ PLATFORM_TRIPLET=${target_cpu}-${target_os} ++ ;; ++esac + + if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then + if test x$PLATFORM_TRIPLET != x$MULTIARCH; then +-- +2.21.0 + diff --git a/poky/meta/recipes-devtools/python/python3_3.7.3.bb b/poky/meta/recipes-devtools/python/python3_3.7.3.bb index 413d35ae1..832ef1b3c 100644 --- a/poky/meta/recipes-devtools/python/python3_3.7.3.bb +++ b/poky/meta/recipes-devtools/python/python3_3.7.3.bb @@ -23,6 +23,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \ file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ + file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ " SRC_URI_append_class-native = " \ diff --git a/poky/meta/recipes-devtools/python/python_2.7.16.bb b/poky/meta/recipes-devtools/python/python_2.7.16.bb index 0e7dd2b3f..d70342fe3 100644 --- a/poky/meta/recipes-devtools/python/python_2.7.16.bb +++ b/poky/meta/recipes-devtools/python/python_2.7.16.bb @@ -30,7 +30,11 @@ SRC_URI += " \ file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \ file://float-endian.patch \ file://0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch \ - " + file://bpo-35907-cve-2019-9948.patch \ + file://bpo-35907-cve-2019-9948-fix.patch \ + file://bpo-36216-cve-2019-9636.patch \ + file://bpo-36216-cve-2019-9636-fix.patch \ +" S = "${WORKDIR}/Python-${PV}" diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb index 820883df6..964dcee52 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb @@ -5,7 +5,7 @@ require qemu-native.inc # As some of the files installed by qemu-native and qemu-system-native # are the same, we depend on qemu-native to get the full installation set # and avoid file clashes -DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native" +DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native" EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}" diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index f7b41412a..ac475a8e2 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -4,6 +4,9 @@ LICENSE = "GPLv2 & LGPLv2.1" RDEPENDS_${PN}-ptest = "bash make" +require qemu-targets.inc +inherit pkgconfig bluetooth ptest + LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f" @@ -20,7 +23,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://0008-apic-fixup-fallthrough-to-PIC.patch \ file://0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \ file://0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \ - file://0013-Revert-target-arm-Use-vector-operations-for-saturati.patch \ + file://0013-target-arm-Fix-vector-operation-segfault.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P\d+(\.\d+)+)\.tar" @@ -49,10 +52,6 @@ do_install_ptest() { -e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include } - -require qemu-targets.inc -inherit pkgconfig bluetooth ptest - # QEMU_TARGETS is overridable variable QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc riscv32 riscv64 sh4 x86_64" diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch deleted file mode 100644 index 3d018a74d..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch +++ /dev/null @@ -1,493 +0,0 @@ -From b46cdcdeb762c1f0eef68dc4a7d90f8176152e07 Mon Sep 17 00:00:00 2001 -From: Alistair Francis -Date: Wed, 1 May 2019 19:51:27 -0700 -Subject: [PATCH] Revert "target/arm: Use vector operations for saturation" - -This reverts commit 89e68b575e138d0af1435f11a8ffcd8779c237bd. - -This fixes QEMU aborts when running the qemuarm machine. - -Signed-off-by: Alistair Francis -Upstream-Status: Pending ---- - target/arm/helper.h | 33 ------- - target/arm/translate-a64.c | 36 ++++---- - target/arm/translate.c | 172 ++++++------------------------------- - target/arm/translate.h | 4 - - target/arm/vec_helper.c | 130 ---------------------------- - 5 files changed, 44 insertions(+), 331 deletions(-) - -diff --git a/target/arm/helper.h b/target/arm/helper.h -index 50cb036378..b2669f140f 100644 ---- a/target/arm/helper.h -+++ b/target/arm/helper.h -@@ -646,39 +646,6 @@ DEF_HELPER_FLAGS_6(gvec_fmla_idx_s, TCG_CALL_NO_RWG, - DEF_HELPER_FLAGS_6(gvec_fmla_idx_d, TCG_CALL_NO_RWG, - void, ptr, ptr, ptr, ptr, ptr, i32) - --DEF_HELPER_FLAGS_5(gvec_uqadd_b, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqadd_h, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqadd_s, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqadd_d, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqadd_b, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqadd_h, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqadd_s, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqadd_d, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqsub_b, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqsub_h, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqsub_s, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqsub_d, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqsub_b, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqsub_h, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqsub_s, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqsub_d, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) -- - DEF_HELPER_FLAGS_5(gvec_fmlal_a32, TCG_CALL_NO_RWG, - void, ptr, ptr, ptr, ptr, i32) - DEF_HELPER_FLAGS_5(gvec_fmlal_a64, TCG_CALL_NO_RWG, -diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c -index 9dcc5ff3a3..428211f92f 100644 ---- a/target/arm/translate-a64.c -+++ b/target/arm/translate-a64.c -@@ -11230,22 +11230,6 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) - } - - switch (opcode) { -- case 0x01: /* SQADD, UQADD */ -- tcg_gen_gvec_4(vec_full_reg_offset(s, rd), -- offsetof(CPUARMState, vfp.qc), -- vec_full_reg_offset(s, rn), -- vec_full_reg_offset(s, rm), -- is_q ? 16 : 8, vec_full_reg_size(s), -- (u ? uqadd_op : sqadd_op) + size); -- return; -- case 0x05: /* SQSUB, UQSUB */ -- tcg_gen_gvec_4(vec_full_reg_offset(s, rd), -- offsetof(CPUARMState, vfp.qc), -- vec_full_reg_offset(s, rn), -- vec_full_reg_offset(s, rm), -- is_q ? 16 : 8, vec_full_reg_size(s), -- (u ? uqsub_op : sqsub_op) + size); -- return; - case 0x0c: /* SMAX, UMAX */ - if (u) { - gen_gvec_fn3(s, is_q, rd, rn, rm, tcg_gen_gvec_umax, size); -@@ -11341,6 +11325,16 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) - genfn = fns[size][u]; - break; - } -+ case 0x1: /* SQADD, UQADD */ -+ { -+ static NeonGenTwoOpEnvFn * const fns[3][2] = { -+ { gen_helper_neon_qadd_s8, gen_helper_neon_qadd_u8 }, -+ { gen_helper_neon_qadd_s16, gen_helper_neon_qadd_u16 }, -+ { gen_helper_neon_qadd_s32, gen_helper_neon_qadd_u32 }, -+ }; -+ genenvfn = fns[size][u]; -+ break; -+ } - case 0x2: /* SRHADD, URHADD */ - { - static NeonGenTwoOpFn * const fns[3][2] = { -@@ -11361,6 +11355,16 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) - genfn = fns[size][u]; - break; - } -+ case 0x5: /* SQSUB, UQSUB */ -+ { -+ static NeonGenTwoOpEnvFn * const fns[3][2] = { -+ { gen_helper_neon_qsub_s8, gen_helper_neon_qsub_u8 }, -+ { gen_helper_neon_qsub_s16, gen_helper_neon_qsub_u16 }, -+ { gen_helper_neon_qsub_s32, gen_helper_neon_qsub_u32 }, -+ }; -+ genenvfn = fns[size][u]; -+ break; -+ } - case 0x8: /* SSHL, USHL */ - { - static NeonGenTwoOpFn * const fns[3][2] = { -diff --git a/target/arm/translate.c b/target/arm/translate.c -index 10bc53f91c..cf675cef3f 100644 ---- a/target/arm/translate.c -+++ b/target/arm/translate.c -@@ -6242,142 +6242,6 @@ const GVecGen3 cmtst_op[4] = { - .vece = MO_64 }, - }; - --static void gen_uqadd_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, -- TCGv_vec a, TCGv_vec b) --{ -- TCGv_vec x = tcg_temp_new_vec_matching(t); -- tcg_gen_add_vec(vece, x, a, b); -- tcg_gen_usadd_vec(vece, t, a, b); -- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); -- tcg_gen_or_vec(vece, sat, sat, x); -- tcg_temp_free_vec(x); --} -- --const GVecGen4 uqadd_op[4] = { -- { .fniv = gen_uqadd_vec, -- .fno = gen_helper_gvec_uqadd_b, -- .opc = INDEX_op_usadd_vec, -- .write_aofs = true, -- .vece = MO_8 }, -- { .fniv = gen_uqadd_vec, -- .fno = gen_helper_gvec_uqadd_h, -- .opc = INDEX_op_usadd_vec, -- .write_aofs = true, -- .vece = MO_16 }, -- { .fniv = gen_uqadd_vec, -- .fno = gen_helper_gvec_uqadd_s, -- .opc = INDEX_op_usadd_vec, -- .write_aofs = true, -- .vece = MO_32 }, -- { .fniv = gen_uqadd_vec, -- .fno = gen_helper_gvec_uqadd_d, -- .opc = INDEX_op_usadd_vec, -- .write_aofs = true, -- .vece = MO_64 }, --}; -- --static void gen_sqadd_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, -- TCGv_vec a, TCGv_vec b) --{ -- TCGv_vec x = tcg_temp_new_vec_matching(t); -- tcg_gen_add_vec(vece, x, a, b); -- tcg_gen_ssadd_vec(vece, t, a, b); -- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); -- tcg_gen_or_vec(vece, sat, sat, x); -- tcg_temp_free_vec(x); --} -- --const GVecGen4 sqadd_op[4] = { -- { .fniv = gen_sqadd_vec, -- .fno = gen_helper_gvec_sqadd_b, -- .opc = INDEX_op_ssadd_vec, -- .write_aofs = true, -- .vece = MO_8 }, -- { .fniv = gen_sqadd_vec, -- .fno = gen_helper_gvec_sqadd_h, -- .opc = INDEX_op_ssadd_vec, -- .write_aofs = true, -- .vece = MO_16 }, -- { .fniv = gen_sqadd_vec, -- .fno = gen_helper_gvec_sqadd_s, -- .opc = INDEX_op_ssadd_vec, -- .write_aofs = true, -- .vece = MO_32 }, -- { .fniv = gen_sqadd_vec, -- .fno = gen_helper_gvec_sqadd_d, -- .opc = INDEX_op_ssadd_vec, -- .write_aofs = true, -- .vece = MO_64 }, --}; -- --static void gen_uqsub_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, -- TCGv_vec a, TCGv_vec b) --{ -- TCGv_vec x = tcg_temp_new_vec_matching(t); -- tcg_gen_sub_vec(vece, x, a, b); -- tcg_gen_ussub_vec(vece, t, a, b); -- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); -- tcg_gen_or_vec(vece, sat, sat, x); -- tcg_temp_free_vec(x); --} -- --const GVecGen4 uqsub_op[4] = { -- { .fniv = gen_uqsub_vec, -- .fno = gen_helper_gvec_uqsub_b, -- .opc = INDEX_op_ussub_vec, -- .write_aofs = true, -- .vece = MO_8 }, -- { .fniv = gen_uqsub_vec, -- .fno = gen_helper_gvec_uqsub_h, -- .opc = INDEX_op_ussub_vec, -- .write_aofs = true, -- .vece = MO_16 }, -- { .fniv = gen_uqsub_vec, -- .fno = gen_helper_gvec_uqsub_s, -- .opc = INDEX_op_ussub_vec, -- .write_aofs = true, -- .vece = MO_32 }, -- { .fniv = gen_uqsub_vec, -- .fno = gen_helper_gvec_uqsub_d, -- .opc = INDEX_op_ussub_vec, -- .write_aofs = true, -- .vece = MO_64 }, --}; -- --static void gen_sqsub_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, -- TCGv_vec a, TCGv_vec b) --{ -- TCGv_vec x = tcg_temp_new_vec_matching(t); -- tcg_gen_sub_vec(vece, x, a, b); -- tcg_gen_sssub_vec(vece, t, a, b); -- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); -- tcg_gen_or_vec(vece, sat, sat, x); -- tcg_temp_free_vec(x); --} -- --const GVecGen4 sqsub_op[4] = { -- { .fniv = gen_sqsub_vec, -- .fno = gen_helper_gvec_sqsub_b, -- .opc = INDEX_op_sssub_vec, -- .write_aofs = true, -- .vece = MO_8 }, -- { .fniv = gen_sqsub_vec, -- .fno = gen_helper_gvec_sqsub_h, -- .opc = INDEX_op_sssub_vec, -- .write_aofs = true, -- .vece = MO_16 }, -- { .fniv = gen_sqsub_vec, -- .fno = gen_helper_gvec_sqsub_s, -- .opc = INDEX_op_sssub_vec, -- .write_aofs = true, -- .vece = MO_32 }, -- { .fniv = gen_sqsub_vec, -- .fno = gen_helper_gvec_sqsub_d, -- .opc = INDEX_op_sssub_vec, -- .write_aofs = true, -- .vece = MO_64 }, --}; -- - /* Translate a NEON data processing instruction. Return nonzero if the - instruction is invalid. - We process data in a mixture of 32-bit and 64-bit chunks. -@@ -6561,18 +6425,6 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) - } - return 0; - -- case NEON_3R_VQADD: -- tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc), -- rn_ofs, rm_ofs, vec_size, vec_size, -- (u ? uqadd_op : sqadd_op) + size); -- break; -- -- case NEON_3R_VQSUB: -- tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc), -- rn_ofs, rm_ofs, vec_size, vec_size, -- (u ? uqsub_op : sqsub_op) + size); -- break; -- - case NEON_3R_VMUL: /* VMUL */ - if (u) { - /* Polynomial case allows only P8 and is handled below. */ -@@ -6637,6 +6489,24 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) - neon_load_reg64(cpu_V0, rn + pass); - neon_load_reg64(cpu_V1, rm + pass); - switch (op) { -+ case NEON_3R_VQADD: -+ if (u) { -+ gen_helper_neon_qadd_u64(cpu_V0, cpu_env, -+ cpu_V0, cpu_V1); -+ } else { -+ gen_helper_neon_qadd_s64(cpu_V0, cpu_env, -+ cpu_V0, cpu_V1); -+ } -+ break; -+ case NEON_3R_VQSUB: -+ if (u) { -+ gen_helper_neon_qsub_u64(cpu_V0, cpu_env, -+ cpu_V0, cpu_V1); -+ } else { -+ gen_helper_neon_qsub_s64(cpu_V0, cpu_env, -+ cpu_V0, cpu_V1); -+ } -+ break; - case NEON_3R_VSHL: - if (u) { - gen_helper_neon_shl_u64(cpu_V0, cpu_V1, cpu_V0); -@@ -6752,12 +6622,18 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) - case NEON_3R_VHADD: - GEN_NEON_INTEGER_OP(hadd); - break; -+ case NEON_3R_VQADD: -+ GEN_NEON_INTEGER_OP_ENV(qadd); -+ break; - case NEON_3R_VRHADD: - GEN_NEON_INTEGER_OP(rhadd); - break; - case NEON_3R_VHSUB: - GEN_NEON_INTEGER_OP(hsub); - break; -+ case NEON_3R_VQSUB: -+ GEN_NEON_INTEGER_OP_ENV(qsub); -+ break; - case NEON_3R_VSHL: - GEN_NEON_INTEGER_OP(shl); - break; -diff --git a/target/arm/translate.h b/target/arm/translate.h -index c2348def0d..07055c9449 100644 ---- a/target/arm/translate.h -+++ b/target/arm/translate.h -@@ -248,10 +248,6 @@ extern const GVecGen2i ssra_op[4]; - extern const GVecGen2i usra_op[4]; - extern const GVecGen2i sri_op[4]; - extern const GVecGen2i sli_op[4]; --extern const GVecGen4 uqadd_op[4]; --extern const GVecGen4 sqadd_op[4]; --extern const GVecGen4 uqsub_op[4]; --extern const GVecGen4 sqsub_op[4]; - void gen_cmtst_i64(TCGv_i64 d, TCGv_i64 a, TCGv_i64 b); - - /* -diff --git a/target/arm/vec_helper.c b/target/arm/vec_helper.c -index dedef62403..be3271659f 100644 ---- a/target/arm/vec_helper.c -+++ b/target/arm/vec_helper.c -@@ -769,136 +769,6 @@ DO_FMLA_IDX(gvec_fmla_idx_d, float64, ) - - #undef DO_FMLA_IDX - --#define DO_SAT(NAME, WTYPE, TYPEN, TYPEM, OP, MIN, MAX) \ --void HELPER(NAME)(void *vd, void *vq, void *vn, void *vm, uint32_t desc) \ --{ \ -- intptr_t i, oprsz = simd_oprsz(desc); \ -- TYPEN *d = vd, *n = vn; TYPEM *m = vm; \ -- bool q = false; \ -- for (i = 0; i < oprsz / sizeof(TYPEN); i++) { \ -- WTYPE dd = (WTYPE)n[i] OP m[i]; \ -- if (dd < MIN) { \ -- dd = MIN; \ -- q = true; \ -- } else if (dd > MAX) { \ -- dd = MAX; \ -- q = true; \ -- } \ -- d[i] = dd; \ -- } \ -- if (q) { \ -- uint32_t *qc = vq; \ -- qc[0] = 1; \ -- } \ -- clear_tail(d, oprsz, simd_maxsz(desc)); \ --} -- --DO_SAT(gvec_uqadd_b, int, uint8_t, uint8_t, +, 0, UINT8_MAX) --DO_SAT(gvec_uqadd_h, int, uint16_t, uint16_t, +, 0, UINT16_MAX) --DO_SAT(gvec_uqadd_s, int64_t, uint32_t, uint32_t, +, 0, UINT32_MAX) -- --DO_SAT(gvec_sqadd_b, int, int8_t, int8_t, +, INT8_MIN, INT8_MAX) --DO_SAT(gvec_sqadd_h, int, int16_t, int16_t, +, INT16_MIN, INT16_MAX) --DO_SAT(gvec_sqadd_s, int64_t, int32_t, int32_t, +, INT32_MIN, INT32_MAX) -- --DO_SAT(gvec_uqsub_b, int, uint8_t, uint8_t, -, 0, UINT8_MAX) --DO_SAT(gvec_uqsub_h, int, uint16_t, uint16_t, -, 0, UINT16_MAX) --DO_SAT(gvec_uqsub_s, int64_t, uint32_t, uint32_t, -, 0, UINT32_MAX) -- --DO_SAT(gvec_sqsub_b, int, int8_t, int8_t, -, INT8_MIN, INT8_MAX) --DO_SAT(gvec_sqsub_h, int, int16_t, int16_t, -, INT16_MIN, INT16_MAX) --DO_SAT(gvec_sqsub_s, int64_t, int32_t, int32_t, -, INT32_MIN, INT32_MAX) -- --#undef DO_SAT -- --void HELPER(gvec_uqadd_d)(void *vd, void *vq, void *vn, -- void *vm, uint32_t desc) --{ -- intptr_t i, oprsz = simd_oprsz(desc); -- uint64_t *d = vd, *n = vn, *m = vm; -- bool q = false; -- -- for (i = 0; i < oprsz / 8; i++) { -- uint64_t nn = n[i], mm = m[i], dd = nn + mm; -- if (dd < nn) { -- dd = UINT64_MAX; -- q = true; -- } -- d[i] = dd; -- } -- if (q) { -- uint32_t *qc = vq; -- qc[0] = 1; -- } -- clear_tail(d, oprsz, simd_maxsz(desc)); --} -- --void HELPER(gvec_uqsub_d)(void *vd, void *vq, void *vn, -- void *vm, uint32_t desc) --{ -- intptr_t i, oprsz = simd_oprsz(desc); -- uint64_t *d = vd, *n = vn, *m = vm; -- bool q = false; -- -- for (i = 0; i < oprsz / 8; i++) { -- uint64_t nn = n[i], mm = m[i], dd = nn - mm; -- if (nn < mm) { -- dd = 0; -- q = true; -- } -- d[i] = dd; -- } -- if (q) { -- uint32_t *qc = vq; -- qc[0] = 1; -- } -- clear_tail(d, oprsz, simd_maxsz(desc)); --} -- --void HELPER(gvec_sqadd_d)(void *vd, void *vq, void *vn, -- void *vm, uint32_t desc) --{ -- intptr_t i, oprsz = simd_oprsz(desc); -- int64_t *d = vd, *n = vn, *m = vm; -- bool q = false; -- -- for (i = 0; i < oprsz / 8; i++) { -- int64_t nn = n[i], mm = m[i], dd = nn + mm; -- if (((dd ^ nn) & ~(nn ^ mm)) & INT64_MIN) { -- dd = (nn >> 63) ^ ~INT64_MIN; -- q = true; -- } -- d[i] = dd; -- } -- if (q) { -- uint32_t *qc = vq; -- qc[0] = 1; -- } -- clear_tail(d, oprsz, simd_maxsz(desc)); --} -- --void HELPER(gvec_sqsub_d)(void *vd, void *vq, void *vn, -- void *vm, uint32_t desc) --{ -- intptr_t i, oprsz = simd_oprsz(desc); -- int64_t *d = vd, *n = vn, *m = vm; -- bool q = false; -- -- for (i = 0; i < oprsz / 8; i++) { -- int64_t nn = n[i], mm = m[i], dd = nn - mm; -- if (((dd ^ nn) & (nn ^ mm)) & INT64_MIN) { -- dd = (nn >> 63) ^ ~INT64_MIN; -- q = true; -- } -- d[i] = dd; -- } -- if (q) { -- uint32_t *qc = vq; -- qc[0] = 1; -- } -- clear_tail(d, oprsz, simd_maxsz(desc)); --} -- - /* - * Convert float16 to float32, raising no exceptions and - * preserving exceptional values, including SNaN. --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch new file mode 100644 index 000000000..c1dd957dc --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch @@ -0,0 +1,66 @@ +From 2f143d3ad1c05e91cf2cdf5de06d59a80a95e6c8 Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Thu, 23 May 2019 14:47:43 +0100 +Subject: [PATCH] target/arm: Fix vector operation segfault +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit 89e68b575 "target/arm: Use vector operations for saturation" +causes this abort() when booting QEMU ARM with a Cortex-A15: + +0 0x00007ffff4c2382f in raise () at /usr/lib/libc.so.6 +1 0x00007ffff4c0e672 in abort () at /usr/lib/libc.so.6 +2 0x00005555559c1839 in disas_neon_data_insn (insn=, s=) at ./target/arm/translate.c:6673 +3 0x00005555559c1839 in disas_neon_data_insn (s=, insn=) at ./target/arm/translate.c:6386 +4 0x00005555559cd8a4 in disas_arm_insn (insn=4081107068, s=0x7fffe59a9510) at ./target/arm/translate.c:9289 +5 0x00005555559cd8a4 in arm_tr_translate_insn (dcbase=0x7fffe59a9510, cpu=) at ./target/arm/translate.c:13612 +6 0x00005555558d1d39 in translator_loop (ops=0x5555561cc580 , db=0x7fffe59a9510, cpu=0x55555686a2f0, tb=, max_insns=) at ./accel/tcg/translator.c:96 +7 0x00005555559d10d4 in gen_intermediate_code (cpu=cpu@entry=0x55555686a2f0, tb=tb@entry=0x7fffd7840080 , max_insns=max_insns@entry=512) at ./target/arm/translate.c:13901 +8 0x00005555558d06b9 in tb_gen_code (cpu=cpu@entry=0x55555686a2f0, pc=3067096216, cs_base=0, flags=192, cflags=-16252928, cflags@entry=524288) at ./accel/tcg/translate-all.c:1736 +9 0x00005555558ce467 in tb_find (cf_mask=524288, tb_exit=1, last_tb=0x7fffd783e640 , cpu=0x1) at ./accel/tcg/cpu-exec.c:407 +10 0x00005555558ce467 in cpu_exec (cpu=cpu@entry=0x55555686a2f0) at ./accel/tcg/cpu-exec.c:728 +11 0x000055555588b0cf in tcg_cpu_exec (cpu=0x55555686a2f0) at ./cpus.c:1431 +12 0x000055555588d223 in qemu_tcg_cpu_thread_fn (arg=0x55555686a2f0) at ./cpus.c:1735 +13 0x000055555588d223 in qemu_tcg_cpu_thread_fn (arg=arg@entry=0x55555686a2f0) at ./cpus.c:1709 +14 0x0000555555d2629a in qemu_thread_start (args=) at ./util/qemu-thread-posix.c:502 +15 0x00007ffff4db8a92 in start_thread () at /usr/lib/libpthread. + +This patch ensures that we don't hit the abort() in the second switch +case in disas_neon_data_insn() as we will return from the first case. + +Signed-off-by: Alistair Francis +Reviewed-by: Richard Henderson +Reviewed-by: Philippe Mathieu-Daudé +Reviewed-by: Alex Bennée +Tested-by: Alex Bennée +Message-id: ad91b397f360b2fc7f4087e476f7df5b04d42ddb.1558021877.git.alistair.francis@wdc.com +Signed-off-by: Peter Maydell +Upstream-Status: Backport [4.1.0] +--- + target/arm/translate.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/target/arm/translate.c b/target/arm/translate.c +index dd053c80d6..298c262825 100644 +--- a/target/arm/translate.c ++++ b/target/arm/translate.c +@@ -6598,13 +6598,13 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) + tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc), + rn_ofs, rm_ofs, vec_size, vec_size, + (u ? uqadd_op : sqadd_op) + size); +- break; ++ return 0; + + case NEON_3R_VQSUB: + tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc), + rn_ofs, rm_ofs, vec_size, vec_size, + (u ? uqsub_op : sqsub_op) + size); +- break; ++ return 0; + + case NEON_3R_VMUL: /* VMUL */ + if (u) { +-- +2.21.0 + diff --git a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb index 247e0311e..f119215b2 100644 --- a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb @@ -2,7 +2,7 @@ BBCLASSEXTEND = "nativesdk" require qemu.inc -DEPENDS = "glib-2.0 zlib pixman" +DEPENDS = "glib-2.0 zlib pixman bison-native" RDEPENDS_${PN}_class-target += "bash" diff --git a/poky/meta/recipes-devtools/quilt/quilt.inc b/poky/meta/recipes-devtools/quilt/quilt.inc index 150df3d57..dbf722be2 100644 --- a/poky/meta/recipes-devtools/quilt/quilt.inc +++ b/poky/meta/recipes-devtools/quilt/quilt.inc @@ -85,5 +85,5 @@ RDEPENDS_${PN}-ptest = "make file sed gawk diffutils findutils ed perl \ perl-module-filehandle perl-module-getopt-std \ perl-module-posix perl-module-file-temp \ perl-module-text-parsewords perl-module-overloading \ - bash util-linux-getopt \ + bash util-linux-getopt patch \ " diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch index 0ce7b4e8c..87c1e8cac 100644 --- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch +++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch @@ -1,39 +1,8 @@ -Define FNM_EXTMATCH if not defined its glibc specific define include missing sys/stat.h for stat* function declarations Upstream-Status: Pending Signed-off-by: Khem Raj -Index: squashfs-tools/action.c -=================================================================== ---- squashfs-tools.orig/action.c -+++ squashfs-tools/action.c -@@ -44,6 +44,10 @@ - #include "action.h" - #include "error.h" - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - /* - * code to parse actions - */ -Index: squashfs-tools/mksquashfs.c -=================================================================== ---- squashfs-tools.orig/mksquashfs.c -+++ squashfs-tools/mksquashfs.c -@@ -1261,6 +1261,10 @@ void write_dir(squashfs_inode *inode, st - dir_size + 3, directory_block, directory_offset, NULL, NULL, - dir, 0); - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - #ifdef SQUASHFS_TRACE - { - unsigned char *dirp; Index: squashfs-tools/pseudo.c =================================================================== --- squashfs-tools.orig/pseudo.c @@ -46,18 +15,3 @@ Index: squashfs-tools/pseudo.c #include #include "pseudo.h" -Index: squashfs-tools/unsquashfs.c -=================================================================== ---- squashfs-tools.orig/unsquashfs.c -+++ squashfs-tools/unsquashfs.c -@@ -42,6 +42,10 @@ - #include - #endif - -+#ifndef FNM_EXTMATCH -+#define FNM_EXTMATCH 0 -+#endif -+ - struct cache *fragment_cache, *data_cache; - struct queue *to_reader, *to_inflate, *to_writer, *from_writer; - pthread_t *thread, *inflator_thread; diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb index 5a8b5f77b..dc1568a77 100644 --- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb +++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb @@ -19,6 +19,9 @@ SRC_URI[lzma.sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e S = "${WORKDIR}/git/squashfs-tools" +# needs FNM_EXTMATCH +COMPATIBLE_HOST_libc-musl = 'null' + EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr" diff --git a/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch b/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch new file mode 100644 index 000000000..3e32cc388 --- /dev/null +++ b/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch @@ -0,0 +1,19 @@ +If the test is successful, remove the log and exp files. This stops strace +using around 600MB of disk space and running our ptest images out of space. + +RP 2019/5/29 + +Upstream-Status: Inappropriate [specific to OE image space issues] + +Index: strace-4.26/tests/gen_tests.sh +=================================================================== +--- strace-4.26.orig/tests/gen_tests.sh ++++ strace-4.26/tests/gen_tests.sh +@@ -62,6 +62,7 @@ while read -r name arg0 args; do { + $hdr + . "\${srcdir=.}/init.sh" + run_strace_match_diff $arg0 $args ++ rm -rf log exp + EOF + ;; + diff --git a/poky/meta/recipes-devtools/strace/strace_4.26.bb b/poky/meta/recipes-devtools/strace/strace_4.26.bb index 24f92c99e..3b61fc3ee 100644 --- a/poky/meta/recipes-devtools/strace/strace_4.26.bb +++ b/poky/meta/recipes-devtools/strace/strace_4.26.bb @@ -15,6 +15,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \ file://0001-mips-o32-fix-build.patch \ + file://ptest-spacesave.patch \ " SRC_URI[md5sum] = "daa51acc0c7c696221ec03cf0b30a7af" SRC_URI[sha256sum] = "7c4d2ffeef4f7d1cdc71062ca78d1130eb52f947c2fca82f59f6a1183bfa1e1c" diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb index ae3498f55..85f0ff756 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb +++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb @@ -110,7 +110,7 @@ RDEPENDS_${PN} += "perl" # redirect functions like strlen. RRECOMMENDS_${PN} += "${TCLIBC}-dbg" -RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob ${PN}-dbg" +RDEPENDS_${PN}-ptest += " file perl perl-module-file-glob sed ${PN}-dbg" RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" # One of the tests contains a bogus interpreter path on purpose. @@ -168,6 +168,7 @@ do_install_ptest() { -o -name "*.h" \) \ -exec rm {} \; mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c + touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test # find *_annotate in ${bindir} for yocto build sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest diff --git a/poky/meta/recipes-extended/acpica/acpica_20190405.bb b/poky/meta/recipes-extended/acpica/acpica_20190405.bb deleted file mode 100644 index 25ad7ce31..000000000 --- a/poky/meta/recipes-extended/acpica/acpica_20190405.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "ACPICA tools for the development and debug of ACPI tables" -DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \ -OS-independent reference implementation of the Advanced Configuration and \ -Power Interface Specification (ACPI). ACPICA code contains those portions of \ -ACPI meant to be directly integrated into the host OS as a kernel-resident \ -subsystem, and a small set of tools to assist in developing and debugging \ -ACPI tables." - -HOMEPAGE = "http://www.acpica.org/" -SECTION = "console/tools" - -LICENSE = "BSD | GPLv2" -LIC_FILES_CHKSUM = "file://generate/unix/readme.txt;md5=204407e197c1a01154a48f6c6280c3aa" - -COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" - -DEPENDS = "bison flex bison-native" - -SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz" -SRC_URI[md5sum] = "9ee30c8ff3012e213bc3b21a9d632215" -SRC_URI[sha256sum] = "7e144fd011c23a0a10be0b0d7448c527a4c0f621f1f835a271636e448bc96643" -UPSTREAM_CHECK_URI = "https://acpica.org/downloads" - -S = "${WORKDIR}/acpica-unix2-${PV}" - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "acpixtract acpidump" - -EXTRA_OEMAKE = "CC='${CC}' \ - OPT_CFLAGS=-Wall \ - DESTDIR=${D} \ - PREFIX=${prefix} \ - INSTALLDIR=${bindir} \ - INSTALLFLAGS= \ - " - -do_install() { - oe_runmake install -} - -# iasl*.bb is a subset of this recipe, so RREPLACE it -PROVIDES = "iasl" -RPROVIDES_${PN} += "iasl" -RREPLACES_${PN} += "iasl" -RCONFLICTS_${PN} += "iasl" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/acpica/acpica_20190509.bb b/poky/meta/recipes-extended/acpica/acpica_20190509.bb new file mode 100644 index 000000000..cf6db336a --- /dev/null +++ b/poky/meta/recipes-extended/acpica/acpica_20190509.bb @@ -0,0 +1,49 @@ +SUMMARY = "ACPICA tools for the development and debug of ACPI tables" +DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \ +OS-independent reference implementation of the Advanced Configuration and \ +Power Interface Specification (ACPI). ACPICA code contains those portions of \ +ACPI meant to be directly integrated into the host OS as a kernel-resident \ +subsystem, and a small set of tools to assist in developing and debugging \ +ACPI tables." + +HOMEPAGE = "http://www.acpica.org/" +SECTION = "console/tools" + +LICENSE = "BSD | GPLv2" +LIC_FILES_CHKSUM = "file://generate/unix/readme.txt;md5=204407e197c1a01154a48f6c6280c3aa" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" + +DEPENDS = "bison flex bison-native" + +SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz" +SRC_URI[md5sum] = "dd1f8240f924b12b0a0de0c31ab26ab1" +SRC_URI[sha256sum] = "860b5f94a0590b278592acf16a4556b05ff0309c08e8c48aa29827cfa02c8e9d" +UPSTREAM_CHECK_URI = "https://acpica.org/downloads" + +S = "${WORKDIR}/acpica-unix2-${PV}" + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN} = "acpixtract acpidump" + +EXTRA_OEMAKE = "CC='${CC}' \ + OPT_CFLAGS=-Wall \ + DESTDIR=${D} \ + PREFIX=${prefix} \ + INSTALLDIR=${bindir} \ + INSTALLFLAGS= \ + " + +do_install() { + oe_runmake install +} + +# iasl*.bb is a subset of this recipe, so RREPLACE it +PROVIDES = "iasl" +RPROVIDES_${PN} += "iasl" +RREPLACES_${PN} += "iasl" +RCONFLICTS_${PN} += "iasl" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/bash/bash.inc b/poky/meta/recipes-extended/bash/bash.inc index 2e7f261a2..c91cc8ada 100644 --- a/poky/meta/recipes-extended/bash/bash.inc +++ b/poky/meta/recipes-extended/bash/bash.inc @@ -23,13 +23,19 @@ ALTERNATIVE_PRIORITY = "100" RDEPENDS_${PN} += "base-files" RDEPENDS_${PN}_class-nativesdk = "" -RDEPENDS_${PN}-ptest += "make" +RDEPENDS_${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv" DEPENDS_append_libc-glibc = " virtual/libc-locale" -RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-fr-fr locale-base-de-de" - -USERADD_PACKAGES = "${PN}-ptest" -USERADD_PARAM_${PN}-ptest = "--create-home --user-group test" +RDEPENDS_${PN}-ptest_append_libc-glibc = " \ + glibc-gconv-big5hkscs \ + glibc-gconv-iso8859-1 \ + glibc-utils \ + locale-base-de-de \ + locale-base-en-us \ + locale-base-fr-fr \ + locale-base-fr-fr.iso-8859-1 \ + locale-base-zh-hk.big5-hkscs \ + " CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}" @@ -66,12 +72,18 @@ do_install_append_class-target () { do_install_ptest () { make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test cp ${B}/Makefile ${D}${PTEST_PATH} + install -D ${WORKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \ -e 's|${DEBUG_PREFIX_MAP}||g' \ -e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \ -e 's:${HOSTTOOLS_DIR}/::g' \ + -e 's:${UNINATIVE_LOADER}:${base_bindir}/false:g' \ ${D}${PTEST_PATH}/Makefile } +# The uninative loader is different on i386 & x86_64 hosts. Since it is only +# being replaced with /bin/false anyway, it doesn't need to be part of the task +# hash +do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER" pkg_postinst_${PN} () { grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells diff --git a/poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch b/poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch deleted file mode 100644 index 9ac2461ab..000000000 --- a/poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d1cd4c31ea0ed7406a3ad4bdaa211f581063f655 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Tue, 15 Aug 2017 10:21:21 +0800 -Subject: [PATCH 2/2] fix run-execscript/run-test/ failed - -FAIL: run-execscript: -the test suite should not be run as root - -FAIL: run-test -the test suite should not be run as root - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia ---- - tests/run-execscript | 3 ++- - tests/run-test | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/tests/run-execscript b/tests/run-execscript -index de78644..38397c1 100644 ---- a/tests/run-execscript -+++ b/tests/run-execscript -@@ -5,5 +5,6 @@ echo "warning: \`/tmp/bash-notthere' not being found or \`/' being a directory" - echo "warning: produce diff output, please do not consider this a test failure" >&2 - echo "warning: if diff output differing only in the location of the bash" >&2 - echo "warning: binary appears, please do not consider this a test failure" >&2 --${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1 -+rm -f ${BASH_TSTOUT} -+su -c "${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1" test - diff ${BASH_TSTOUT} exec.right && rm -f ${BASH_TSTOUT} -diff --git a/tests/run-test b/tests/run-test -index d68791c..d6317d2 100644 ---- a/tests/run-test -+++ b/tests/run-test -@@ -1,4 +1,5 @@ - unset GROUPS UID 2>/dev/null - --${THIS_SH} ./test.tests >${BASH_TSTOUT} 2>&1 -+rm -f ${BASH_TSTOUT} -+su -c "${THIS_SH} ./test.tests > ${BASH_TSTOUT} 2>&1" test - diff ${BASH_TSTOUT} test.right && rm -f ${BASH_TSTOUT} --- -1.8.3.1 - diff --git a/poky/meta/recipes-extended/bash/bash/run-bash-ptests b/poky/meta/recipes-extended/bash/bash/run-bash-ptests new file mode 100644 index 000000000..d73a27224 --- /dev/null +++ b/poky/meta/recipes-extended/bash/bash/run-bash-ptests @@ -0,0 +1,4 @@ +#!/bin/sh +cd "$(dirname "$0")" +make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest + diff --git a/poky/meta/recipes-extended/bash/bash/run-ptest b/poky/meta/recipes-extended/bash/bash/run-ptest index c61fabd02..738ad3c42 100644 --- a/poky/meta/recipes-extended/bash/bash/run-ptest +++ b/poky/meta/recipes-extended/bash/bash/run-ptest @@ -19,4 +19,8 @@ then echo "Warning: The de_DE* locales is needed to run the intl.tests, please add it." fi -make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest +useradd bashtest +chown -R bashtest:bashtest tests +setpriv --reuid bashtest --rgid bashtest --clear-groups --reset-env $(dirname "$0")/run-bash-ptests +chown -R root:root tests +userdel -r bashtest diff --git a/poky/meta/recipes-extended/bash/bash_5.0.bb b/poky/meta/recipes-extended/bash/bash_5.0.bb index e60e5304a..eadc82279 100644 --- a/poky/meta/recipes-extended/bash/bash_5.0.bb +++ b/poky/meta/recipes-extended/bash/bash_5.0.bb @@ -16,8 +16,8 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ file://mkbuiltins_have_stringize.patch \ file://build-tests.patch \ file://test-output.patch \ - file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \ file://run-ptest \ + file://run-bash-ptests \ file://fix-run-builtins.patch \ " diff --git a/poky/meta/recipes-extended/bc/bc_1.07.1.bb b/poky/meta/recipes-extended/bc/bc_1.07.1.bb index e80857745..809b864c1 100644 --- a/poky/meta/recipes-extended/bc/bc_1.07.1.bb +++ b/poky/meta/recipes-extended/bc/bc_1.07.1.bb @@ -27,7 +27,7 @@ do_compile_prepend() { cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h } -ALTERNATIVE_${PN} = "dc" +ALTERNATIVE_${PN} = "bc dc" ALTERNATIVE_PRIORITY = "100" -BBCLASSEXTEND = "native" \ No newline at end of file +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb b/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb index 2f1f6c026..d21dd6970 100644 --- a/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb +++ b/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb @@ -18,14 +18,14 @@ PR = "r7" S = "${WORKDIR}/${BPN}-${BPN}-${PV}" -UPSTREAM_CHECK_URI = "https://github.com/fedora-sysv/${BPN}/releases" - -SRC_URI = "https://github.com/fedora-sysv/chkconfig/archive/chkconfig-${PV}.tar.gz \ +SRC_URI = "git://github.com/fedora-sysv/chkconfig.git \ file://replace_caddr_t.patch \ " -SRC_URI[md5sum] = "3f51ac38a234be5278b3a2d9705eda5e" -SRC_URI[sha256sum] = "bf1e81f0d7cc999b536c9fe7877abf584a4082fd03c9d2597b6f090966579b40" +SRCREV = "3e0b3909ff6328d232b27b9c32f1a9309c6cd0a4" +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" + +S = "${WORKDIR}/git" inherit gettext diff --git a/poky/meta/recipes-extended/diffutils/diffutils/run-ptest b/poky/meta/recipes-extended/diffutils/diffutils/run-ptest index 695c5e8a7..ad467d9bd 100644 --- a/poky/meta/recipes-extended/diffutils/diffutils/run-ptest +++ b/poky/meta/recipes-extended/diffutils/diffutils/run-ptest @@ -1,3 +1,4 @@ #!/bin/sh -make -C tests check-TESTS +abs_ptestdir=`echo "$(cd "$(dirname "$0")"; pwd)"` +make -C $abs_ptestdir/tests check-TESTS abs_top_srcdir="$abs_ptestdir" diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch index b145188d7..7a0e38a39 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch +++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch @@ -1,4 +1,4 @@ -From 1484545a150de79483b6e2a74be02ebd030f1920 Mon Sep 17 00:00:00 2001 +From 2ca4c2492c4a06b28012e3e1033d10aa48f153b4 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Wed, 28 May 2014 18:59:54 +0200 Subject: [PATCH] ethtool: use serial-tests config needed by ptest. @@ -9,17 +9,16 @@ serial-tests is required to generate those targets. Signed-off-by: Tudor Florea Upstream-Status: Inappropriate (default automake behavior incompatible with ptest) - --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index e891d91..600f8a8 100644 +index 2941a65..b0a1896 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_INIT(ethtool, 5.0, netdev@vger.kernel.org) + AC_INIT(ethtool, 5.1, netdev@vger.kernel.org) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([ethtool.c]) -AM_INIT_AUTOMAKE([gnu]) @@ -27,3 +26,6 @@ index e891d91..600f8a8 100644 AC_CONFIG_HEADERS([ethtool-config.h]) AM_MAINTAINER_MODE +-- +2.17.1 + diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb deleted file mode 100644 index 76cdf9c4e..000000000 --- a/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Display or change ethernet card settings" -DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces." -HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/" -SECTION = "console/network" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216" - -SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \ - file://run-ptest \ - file://avoid_parallel_tests.patch \ - " - -SRC_URI[md5sum] = "8998c9eb7e491b0aec420a807ce52ba6" -SRC_URI[sha256sum] = "cc53a6d4d5643f8993ef20d6b638f88d9035529a9e777e222073c3a5b9237178" - -inherit autotools ptest -RDEPENDS_${PN}-ptest += "make" - -do_compile_ptest() { - oe_runmake buildtest-TESTS -} - -do_install_ptest () { - cp ${B}/Makefile ${D}${PTEST_PATH} - install ${B}/test-cmdline ${D}${PTEST_PATH} - install ${B}/test-features ${D}${PTEST_PATH} - install ${B}/ethtool ${D}${PTEST_PATH}/ethtool - sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/Makefile -} diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb new file mode 100644 index 000000000..d379d93bc --- /dev/null +++ b/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb @@ -0,0 +1,31 @@ +SUMMARY = "Display or change ethernet card settings" +DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces." +HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/" +SECTION = "console/network" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216" + +SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \ + file://run-ptest \ + file://avoid_parallel_tests.patch \ + " + +SRC_URI[md5sum] = "5d3aad86aec055348a37e867695a744a" +SRC_URI[sha256sum] = "4edb1fa4d7cf5667a5958d4213f61609f96d02cda90d2b6ec440561f8f8ffbf2" + +inherit autotools ptest bash-completion + +RDEPENDS_${PN}-ptest += "make" + +do_compile_ptest() { + oe_runmake buildtest-TESTS +} + +do_install_ptest () { + cp ${B}/Makefile ${D}${PTEST_PATH} + install ${B}/test-cmdline ${D}${PTEST_PATH} + install ${B}/test-features ${D}${PTEST_PATH} + install ${B}/ethtool ${D}${PTEST_PATH}/ethtool + sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/Makefile +} diff --git a/poky/meta/recipes-extended/gawk/gawk/run-ptest b/poky/meta/recipes-extended/gawk/gawk/run-ptest index d23f0bf6d..f67a95874 100644 --- a/poky/meta/recipes-extended/gawk/gawk/run-ptest +++ b/poky/meta/recipes-extended/gawk/gawk/run-ptest @@ -1,10 +1,22 @@ #!/bin/sh cd test -for i in `grep -vE "@|^$|#|Gt-dummy" Maketests |awk -F: '{print $1}'`; \ - do LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C} srcdir=`pwd` AWK=gawk CMP=cmp \ - make -f Maketests $i >$i.tmp 2>&1; \ - grep -q "Error" $i.tmp; \ - if [ $? -eq 0 ]; then echo "FAIL: $i"; \ - else echo "PASS: $i"; rm -f $i.tmp; fi; \ +for i in `grep -E "^[a-z0-9_-]*:$" Maketests |awk -F: '{print $1}'`; do + #LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C} + srcdir=`pwd` AWKPROG=gawk AWK=gawk CMP=cmp make -f Maketests $i >$i.tmp 2>&1 + if [ -e _$i ]; then + cat _$i + grep -q "support not compiled in" _$i + if [ $? -eq 0 ]; then + echo "SKIP: $i" + continue + fi + fi + grep -q "Error" $i.tmp + if [ $? -eq 0 ]; then + echo "FAIL: $i" + else + echo "PASS: $i" + rm -f $i.tmp + fi done diff --git a/poky/meta/recipes-extended/gawk/gawk_4.2.1.bb b/poky/meta/recipes-extended/gawk/gawk_4.2.1.bb deleted file mode 100644 index 966375239..000000000 --- a/poky/meta/recipes-extended/gawk/gawk_4.2.1.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "GNU awk text processing utility" -DESCRIPTION = "The GNU version of awk, a text processing utility. \ -Awk interprets a special-purpose programming language to do \ -quick and easy text pattern matching and reformatting jobs." -HOMEPAGE = "https://www.gnu.org/software/gawk/" -BUGTRACKER = "bug-gawk@gnu.org" -SECTION = "console/utils" - -# gawk <= 3.1.5: GPLv2 -# gawk >= 3.1.6: GPLv3 -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS += "readline" - -PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr" - -SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ - file://run-ptest \ -" - -SRC_URI[md5sum] = "0256724a0af50cb83ac92f833488673d" -SRC_URI[sha256sum] = "2b23d51503b2df9a41aa6fddc6002ad7ebf2a386ac19dc1b6be0dd48b0acf6db" - -inherit autotools gettext texinfo update-alternatives - -FILES_${PN} += "${datadir}/awk" -FILES_${PN}-dev += "${libdir}/${BPN}/*.la" - -ALTERNATIVE_${PN} = "awk" -ALTERNATIVE_TARGET[awk] = "${bindir}/gawk" -ALTERNATIVE_PRIORITY = "100" - -do_install_append() { - # remove the link since we don't package it - rm ${D}${bindir}/awk -} - -inherit ptest - -do_install_ptest() { - mkdir ${D}${PTEST_PATH}/test - for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \ - do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \ - done - sed -i -e 's|/usr/local/bin|${bindir}|g' \ - -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb b/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb new file mode 100644 index 000000000..578901355 --- /dev/null +++ b/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb @@ -0,0 +1,53 @@ +SUMMARY = "GNU awk text processing utility" +DESCRIPTION = "The GNU version of awk, a text processing utility. \ +Awk interprets a special-purpose programming language to do \ +quick and easy text pattern matching and reformatting jobs." +HOMEPAGE = "https://www.gnu.org/software/gawk/" +BUGTRACKER = "bug-gawk@gnu.org" +SECTION = "console/utils" + +# gawk <= 3.1.5: GPLv2 +# gawk >= 3.1.6: GPLv3 +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS += "readline" + +PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr" + +SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ + file://run-ptest \ +" + +SRC_URI[md5sum] = "45366249c13aae2bfb00e8e97c3f39b7" +SRC_URI[sha256sum] = "2d686c9a5b7ba292bc3fa56bc84a1959d721a9d57970a76413156d4b8f1fc67d" + +inherit autotools gettext texinfo update-alternatives + +FILES_${PN} += "${datadir}/awk" +FILES_${PN}-dev += "${libdir}/${BPN}/*.la" + +ALTERNATIVE_${PN} = "awk" +ALTERNATIVE_TARGET[awk] = "${bindir}/gawk" +ALTERNATIVE_PRIORITY = "100" + +do_install_append() { + # remove the link since we don't package it + rm ${D}${bindir}/awk +} + +inherit ptest + +do_install_ptest() { + mkdir ${D}${PTEST_PATH}/test + ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk + for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \ + do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \ + done + sed -i -e 's|/usr/local/bin|${bindir}|g' \ + -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk +} + +RDEPENDS_${PN}-ptest += "make" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch b/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch deleted file mode 100644 index 1b94e8a93..000000000 --- a/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 54c795c8a3c7356294007b5a4eed1dd47ed6411d Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Sat, 11 May 2019 19:19:27 +0800 -Subject: [PATCH] fix shebang for target - -... -|ERROR: groff-1.22.4-r0 do_package_qa: QA Issue: /usr/bin/gdiffmk contained in -package groff requires tmp-glibc/hosttools/bash, but no providers found in -RDEPENDS_groff? [file-rdeps] -... - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Hongxu Jia ---- - contrib/gdiffmk/gdiffmk.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/contrib/gdiffmk/gdiffmk.sh b/contrib/gdiffmk/gdiffmk.sh -index 5ce931e..10f2300 100644 ---- a/contrib/gdiffmk/gdiffmk.sh -+++ b/contrib/gdiffmk/gdiffmk.sh -@@ -1,4 +1,4 @@ --#!@BASH_PROG@ -+#!/bin/sh - # Copyright (C) 2004-2018 Free Software Foundation, Inc. - # Written by Mike Bianchi > - # Thanks to Peter Bray for debugging. --- -2.7.4 - diff --git a/poky/meta/recipes-extended/groff/groff_1.22.4.bb b/poky/meta/recipes-extended/groff/groff_1.22.4.bb index 37eee9a6c..a190230b3 100644 --- a/poky/meta/recipes-extended/groff/groff_1.22.4.bb +++ b/poky/meta/recipes-extended/groff/groff_1.22.4.bb @@ -10,7 +10,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \ file://0001-replace-perl-w-with-use-warnings.patch \ file://groff-not-search-fonts-on-build-host.patch \ - file://0001-fix-shebang-for-taget.patch \ file://0001-support-musl.patch \ " @@ -27,7 +26,7 @@ MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/groffer ${PN}:${bind EXTRA_OECONF = "--without-x --without-doc" PARALLEL_MAKE = "" -CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" +CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no'" do_install_append() { # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location diff --git a/poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch deleted file mode 100644 index ace50bbfd..000000000 --- a/poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch +++ /dev/null @@ -1,23 +0,0 @@ -Unset need_charset_alias when building for musl - -localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4 -which actually shoudl be fixed in gnulib and then all downstream -projects will get it eventually. For now we apply the fix to -coreutils - -Upstream-Status: Pending - -Signed-off-by: Khem Raj -Index: libidn2-2.0.5/unistring/Makefile.am -=================================================================== ---- libidn2-2.0.5.orig/unistring/Makefile.am -+++ libidn2-2.0.5/unistring/Makefile.am -@@ -293,7 +293,7 @@ install-exec-localcharset: all-local - case '$(host_os)' in \ - darwin[56]*) \ - need_charset_alias=true ;; \ -- darwin* | cygwin* | mingw* | pw32* | cegcc*) \ -+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \ - need_charset_alias=false ;; \ - *) \ - need_charset_alias=true ;; \ diff --git a/poky/meta/recipes-extended/libidn/libidn2_2.0.5.bb b/poky/meta/recipes-extended/libidn/libidn2_2.0.5.bb deleted file mode 100644 index 0daf7a687..000000000 --- a/poky/meta/recipes-extended/libidn/libidn2_2.0.5.bb +++ /dev/null @@ -1,29 +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 = "(GPLv2+ | LGPLv3) & GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=ab90e75ef97cc6318ce4f2fbda62fe4d \ - file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://src/idn2.c;endline=16;md5=0283aec28e049f5bcaaeee52aa865874 \ - file://lib/idn2.h.in;endline=27;md5=c2cd28d3f87260f157f022eabb83714f" - -SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \ - file://Unset-need_charset_alias-when-building-for-musl.patch \ - " -SRC_URI[md5sum] = "eaf9a5b9d03b0cce3760f34b3124eb36" -SRC_URI[sha256sum] = "53f69170886f1fa6fa5b332439c7a77a7d22626a82ef17e2c1224858bb4ca2b8" - -DEPENDS = "virtual/libiconv libunistring" - -inherit pkgconfig autotools gettext texinfo gtk-doc lib_package - -EXTRA_OECONF += "--disable-rpath \ - --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \ - " - -LICENSE_${PN} = "(GPLv2+ | LGPLv3)" -LICENSE_${PN}-bin = "GPLv3+" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb new file mode 100644 index 000000000..d7fec89fb --- /dev/null +++ b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb @@ -0,0 +1,27 @@ +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 = "(GPLv2+ | LGPLv3) & GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d834ea7d480438ada04e5d846152395 \ + file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://src/idn2.c;endline=16;md5=426b74d6deb620ab6d39c8a6efd4c13a \ + file://lib/idn2.h.in;endline=27;md5=c2cd28d3f87260f157f022eabb83714f" + +SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz" +SRC_URI[md5sum] = "b846d4d20e22b99d6f7387bb66e00a1f" +SRC_URI[sha256sum] = "fc734732b506d878753ec6606982bf7b936e868c25c30ddb0d83f7d7056381fe" + +DEPENDS = "virtual/libiconv libunistring" + +inherit pkgconfig autotools gettext texinfo gtk-doc lib_package + +EXTRA_OECONF += "--disable-rpath \ + --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \ + " + +LICENSE_${PN} = "(GPLv2+ | LGPLv3)" +LICENSE_${PN}-bin = "GPLv3+" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb index 597faf787..494b81b5e 100644 --- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb +++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb @@ -45,7 +45,7 @@ DEBUG_OPTIMIZATION_append = " -Wno-error" do_compile() { # Point to right sbindir - sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" ${S}/Makefile + sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" -e "s;SYSTEMD_DIR=/lib/systemd/system;SYSTEMD_DIR=${systemd_unitdir}/system;" ${S}/Makefile oe_runmake SYSROOT="${STAGING_DIR_TARGET}" } @@ -81,7 +81,7 @@ do_install_ptest() { done } -RDEPENDS_${PN}-ptest += "bash" +RDEPENDS_${PN}-ptest += "bash e2fsprogs-mke2fs" RRECOMMENDS_${PN}-ptest += " \ coreutils \ util-linux \ @@ -93,4 +93,4 @@ RRECOMMENDS_${PN}-ptest += " \ kernel-module-raid456 \ " -FILES_${PN} += "/lib/systemd/*" +FILES_${PN} += "${systemd_unitdir}/*" diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb index ec67f8d12..d38f545e0 100644 --- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb +++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb @@ -135,6 +135,5 @@ RDEPENDS_packagegroup-core-full-cmdline-sys-services = "\ at \ cronie \ logrotate \ - nfs-utils \ - rpcbind \ + ${@bb.utils.contains('DISTRO_FEATURES', 'nfs', 'nfs-utils rpcbind', '', d)} \ " diff --git a/poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch b/poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch deleted file mode 100644 index 680029ae0..000000000 --- a/poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch +++ /dev/null @@ -1,226 +0,0 @@ -From 555407ff6e2f742df64ae93859f14a0fc1397829 Mon Sep 17 00:00:00 2001 -From: Wenzong Fan -Date: Fri, 12 Sep 2014 05:35:05 -0400 -Subject: [PATCH] libpam/xtests: remove bash dependency - -There's not bash specific syntax in the xtest scripts: - - # after below patches applied: - $ cd Linux-PAM-1.1.6/xtests - $ checkbashisms *.sh - No output - -Just remove the runtime dependency to bash. - -Upstream-Status: Pending - -Signed-off-by: Wenzong Fan ---- - xtests/run-xtests.sh | 2 +- - xtests/tst-pam_access1.sh | 2 +- - xtests/tst-pam_access2.sh | 2 +- - xtests/tst-pam_access3.sh | 2 +- - xtests/tst-pam_access4.sh | 2 +- - xtests/tst-pam_assemble_line1.sh | 2 +- - xtests/tst-pam_group1.sh | 2 +- - xtests/tst-pam_limits1.sh | 2 +- - xtests/tst-pam_pwhistory1.sh | 2 +- - xtests/tst-pam_substack1.sh | 2 +- - xtests/tst-pam_substack2.sh | 2 +- - xtests/tst-pam_substack3.sh | 2 +- - xtests/tst-pam_substack4.sh | 2 +- - xtests/tst-pam_substack5.sh | 2 +- - xtests/tst-pam_succeed_if1.sh | 2 +- - xtests/tst-pam_unix1.sh | 2 +- - xtests/tst-pam_unix2.sh | 2 +- - xtests/tst-pam_unix3.sh | 2 +- - xtests/tst-pam_unix4.sh | 2 +- - 19 files changed, 19 insertions(+), 19 deletions(-) - -diff --git a/xtests/run-xtests.sh b/xtests/run-xtests.sh -index 3a89057..1cf8684 100755 ---- a/xtests/run-xtests.sh -+++ b/xtests/run-xtests.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - SRCDIR=$1 - shift 1 -diff --git a/xtests/tst-pam_access1.sh b/xtests/tst-pam_access1.sh -index 180d256..70521d2 100755 ---- a/xtests/tst-pam_access1.sh -+++ b/xtests/tst-pam_access1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/groupadd tstpamaccess - /usr/sbin/useradd -G tstpamaccess -p '!!' tstpamaccess1 -diff --git a/xtests/tst-pam_access2.sh b/xtests/tst-pam_access2.sh -index 0a30275..7e3e60f 100755 ---- a/xtests/tst-pam_access2.sh -+++ b/xtests/tst-pam_access2.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/groupadd tstpamaccess - /usr/sbin/useradd -p '!!' tstpamaccess2 -diff --git a/xtests/tst-pam_access3.sh b/xtests/tst-pam_access3.sh -index 348e0c3..3630e2e 100755 ---- a/xtests/tst-pam_access3.sh -+++ b/xtests/tst-pam_access3.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd -p '!!' tstpamaccess3 - ./tst-pam_access3 -diff --git a/xtests/tst-pam_access4.sh b/xtests/tst-pam_access4.sh -index 61e7b44..4538df4 100755 ---- a/xtests/tst-pam_access4.sh -+++ b/xtests/tst-pam_access4.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd -p '!!' tstpamaccess4 - ./tst-pam_access4 -diff --git a/xtests/tst-pam_assemble_line1.sh b/xtests/tst-pam_assemble_line1.sh -index 248d47e..dc2a675 100755 ---- a/xtests/tst-pam_assemble_line1.sh -+++ b/xtests/tst-pam_assemble_line1.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authfail tst-pam_assemble_line1 -diff --git a/xtests/tst-pam_group1.sh b/xtests/tst-pam_group1.sh -index b76377f..44faca9 100755 ---- a/xtests/tst-pam_group1.sh -+++ b/xtests/tst-pam_group1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/groupadd tstpamgrpg - /usr/sbin/useradd -p '!!' tstpamgrp -diff --git a/xtests/tst-pam_limits1.sh b/xtests/tst-pam_limits1.sh -index 4faa822..32c021d 100755 ---- a/xtests/tst-pam_limits1.sh -+++ b/xtests/tst-pam_limits1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd -p '!!' tstpamlimits - ./tst-pam_limits1 -diff --git a/xtests/tst-pam_pwhistory1.sh b/xtests/tst-pam_pwhistory1.sh -index ddb3b8b..0f212e2 100644 ---- a/xtests/tst-pam_pwhistory1.sh -+++ b/xtests/tst-pam_pwhistory1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd tstpampwhistory - ./tst-pam_pwhistory1 -diff --git a/xtests/tst-pam_substack1.sh b/xtests/tst-pam_substack1.sh -index 5260175..f1b72a7 100755 ---- a/xtests/tst-pam_substack1.sh -+++ b/xtests/tst-pam_substack1.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authfail tst-pam_substack1 -diff --git a/xtests/tst-pam_substack2.sh b/xtests/tst-pam_substack2.sh -index c02f597..3804fa7 100755 ---- a/xtests/tst-pam_substack2.sh -+++ b/xtests/tst-pam_substack2.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authsucceed tst-pam_substack2 -diff --git a/xtests/tst-pam_substack3.sh b/xtests/tst-pam_substack3.sh -index 0e572aa..aa48e8e 100755 ---- a/xtests/tst-pam_substack3.sh -+++ b/xtests/tst-pam_substack3.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authsucceed tst-pam_substack3 -diff --git a/xtests/tst-pam_substack4.sh b/xtests/tst-pam_substack4.sh -index a3ef08a..958a07a 100755 ---- a/xtests/tst-pam_substack4.sh -+++ b/xtests/tst-pam_substack4.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authsucceed tst-pam_substack4 -diff --git a/xtests/tst-pam_substack5.sh b/xtests/tst-pam_substack5.sh -index e2714fd..7e0da74 100755 ---- a/xtests/tst-pam_substack5.sh -+++ b/xtests/tst-pam_substack5.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authfail tst-pam_substack5 -diff --git a/xtests/tst-pam_succeed_if1.sh b/xtests/tst-pam_succeed_if1.sh -index a643b2e..58e57b4 100755 ---- a/xtests/tst-pam_succeed_if1.sh -+++ b/xtests/tst-pam_succeed_if1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd -p '!!' tstpamtest - /usr/sbin/useradd -p '!!' pamtest -diff --git a/xtests/tst-pam_unix1.sh b/xtests/tst-pam_unix1.sh -index f75bd84..72deac0 100755 ---- a/xtests/tst-pam_unix1.sh -+++ b/xtests/tst-pam_unix1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd -p '!!' tstpamunix - ./tst-pam_unix1 -diff --git a/xtests/tst-pam_unix2.sh b/xtests/tst-pam_unix2.sh -index 7093155..c04d6e6 100755 ---- a/xtests/tst-pam_unix2.sh -+++ b/xtests/tst-pam_unix2.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - # pamunix0 = 0aXKZztA.d1KY - /usr/sbin/useradd -p 0aXKZztA.d1KY tstpamunix -diff --git a/xtests/tst-pam_unix3.sh b/xtests/tst-pam_unix3.sh -index ef4a07c..b52db2b 100755 ---- a/xtests/tst-pam_unix3.sh -+++ b/xtests/tst-pam_unix3.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - # pamunix01 = 0aXKZztA.d1KYIuFXArmd2jU - /usr/sbin/useradd -p 0aXKZztA.d1KYIuFXArmd2jU tstpamunix -diff --git a/xtests/tst-pam_unix4.sh b/xtests/tst-pam_unix4.sh -index 787c2f9..e7976fd 100755 ---- a/xtests/tst-pam_unix4.sh -+++ b/xtests/tst-pam_unix4.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - # pamunix01 = 0aXKZztA.d1KYIuFXArmd2jU - /usr/sbin/useradd -p 0aXKZztA.d1KYIuFXArmd2jU tstpamunix --- -1.7.9.5 - diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.0.bb b/poky/meta/recipes-extended/pam/libpam_1.3.0.bb deleted file mode 100644 index c124e3bb0..000000000 --- a/poky/meta/recipes-extended/pam/libpam_1.3.0.bb +++ /dev/null @@ -1,166 +0,0 @@ -SUMMARY = "Linux-PAM (Pluggable Authentication Modules)" -DESCRIPTION = "Linux-PAM (Pluggable Authentication Modules for Linux), a flexible mechanism for authenticating users" -HOMEPAGE = "https://fedorahosted.org/linux-pam/" -BUGTRACKER = "https://fedorahosted.org/linux-pam/newticket" -SECTION = "base" -# PAM is dual licensed under GPL and BSD. -# /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time -# libpam-runtime-1.0.1 is GPLv2+), by openembedded -LICENSE = "GPLv2+ | BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \ - file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \ - " - -SRC_URI = "http://linux-pam.org/library/Linux-PAM-${PV}.tar.bz2 \ - file://99_pam \ - file://pam.d/common-account \ - file://pam.d/common-auth \ - file://pam.d/common-password \ - file://pam.d/common-session \ - file://pam.d/common-session-noninteractive \ - file://pam.d/other \ - file://libpam-xtests.patch \ - file://fixsepbuild.patch \ - file://pam-security-abstract-securetty-handling.patch \ - file://pam-unix-nullok-secure.patch \ - file://libpam-xtests-remove-bash-dependency.patch \ - file://crypt_configure.patch \ - " - -SRC_URI[md5sum] = "da4b2289b7cfb19583d54e9eaaef1c3a" -SRC_URI[sha256sum] = "241aed1ef522f66ed672719ecf2205ec513fd0075ed80cda8e086a5b1a01d1bb" - -SRC_URI_append_libc-musl = " file://0001-Add-support-for-defining-missing-funcitonality.patch \ - file://include_paths_header.patch \ - " - -DEPENDS = "bison-native flex flex-native cracklib libxml2-native virtual/crypt" - -EXTRA_OECONF = "--with-db-uniquename=_pam \ - --includedir=${includedir}/security \ - --libdir=${base_libdir} \ - --disable-nis \ - --disable-regenerate-docu \ - --disable-prelude" - -CFLAGS_append = " -fPIC " - -PR = "r5" - -S = "${WORKDIR}/Linux-PAM-${PV}" - -inherit autotools gettext pkgconfig - -PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit," - -PACKAGES += "${PN}-runtime ${PN}-xtests" -FILES_${PN} = "${base_libdir}/lib*${SOLIBS}" -FILES_${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}" -FILES_${PN}-runtime = "${sysconfdir}" -FILES_${PN}-xtests = "${datadir}/Linux-PAM/xtests" - -PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*" - -def get_multilib_bit(d): - baselib = d.getVar('baselib') or '' - return baselib.replace('lib', '') - -libpam_suffix = "suffix${@get_multilib_bit(d)}" - -RPROVIDES_${PN} += "${PN}-${libpam_suffix}" -RPROVIDES_${PN}-runtime += "${PN}-runtime-${libpam_suffix}" - -RDEPENDS_${PN}-runtime = "${PN}-${libpam_suffix} \ - ${MLPREFIX}pam-plugin-deny-${libpam_suffix} \ - ${MLPREFIX}pam-plugin-permit-${libpam_suffix} \ - ${MLPREFIX}pam-plugin-warn-${libpam_suffix} \ - ${MLPREFIX}pam-plugin-unix-${libpam_suffix} \ - " -RDEPENDS_${PN}-xtests = "${PN}-${libpam_suffix} \ - ${MLPREFIX}pam-plugin-access-${libpam_suffix} \ - ${MLPREFIX}pam-plugin-debug-${libpam_suffix} \ - ${MLPREFIX}pam-plugin-cracklib-${libpam_suffix} \ - ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \ - ${MLPREFIX}pam-plugin-succeed-if-${libpam_suffix} \ - ${MLPREFIX}pam-plugin-time-${libpam_suffix} \ - coreutils" - -# FIXME: Native suffix breaks here, disable it for now -RRECOMMENDS_${PN} = "${PN}-runtime-${libpam_suffix}" -RRECOMMENDS_${PN}_class-native = "" - -python populate_packages_prepend () { - def pam_plugin_append_file(pn, dir, file): - nf = os.path.join(dir, file) - of = d.getVar('FILES_' + pn) - if of: - nf = of + " " + nf - d.setVar('FILES_' + pn, nf) - - def pam_plugin_hook(file, pkg, pattern, format, basename): - pn = d.getVar('PN') - libpam_suffix = d.getVar('libpam_suffix') - - rdeps = d.getVar('RDEPENDS_' + pkg) - if rdeps: - rdeps = rdeps + " " + pn + "-" + libpam_suffix - else: - rdeps = pn + "-" + libpam_suffix - d.setVar('RDEPENDS_' + pkg, rdeps) - - provides = d.getVar('RPROVIDES_' + pkg) - if provides: - provides = provides + " " + pkg + "-" + libpam_suffix - else: - provides = pkg + "-" + libpam_suffix - d.setVar('RPROVIDES_' + pkg, provides) - - mlprefix = d.getVar('MLPREFIX') or '' - dvar = d.expand('${WORKDIR}/package') - pam_libdir = d.expand('${base_libdir}/security') - pam_sbindir = d.expand('${sbindir}') - pam_filterdir = d.expand('${base_libdir}/security/pam_filter') - pam_pkgname = mlprefix + 'pam-plugin%s' - - do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname, - 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='') - pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_chkpwd') - pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_update') - pam_plugin_append_file('%spam-plugin-tally' % mlprefix, pam_sbindir, 'pam_tally') - pam_plugin_append_file('%spam-plugin-tally2' % mlprefix, pam_sbindir, 'pam_tally2') - pam_plugin_append_file('%spam-plugin-timestamp' % mlprefix, pam_sbindir, 'pam_timestamp_check') - pam_plugin_append_file('%spam-plugin-mkhomedir' % mlprefix, pam_sbindir, 'mkhomedir_helper') - pam_plugin_append_file('%spam-plugin-console' % mlprefix, pam_sbindir, 'pam_console_apply') - do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='') -} - -do_install() { - autotools_do_install - - # don't install /var/run when populating rootfs. Do it through volatile - rm -rf ${D}${localstatedir} - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/99_pam ${D}${sysconfdir}/default/volatiles - - install -d ${D}${sysconfdir}/pam.d/ - install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ - - # The lsb requires unix_chkpwd has setuid permission - chmod 4755 ${D}${sbindir}/unix_chkpwd - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - echo "session optional pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session - fi -} - -inherit distro_features_check -REQUIRED_DISTRO_FEATURES = "pam" - -BBCLASSEXTEND = "nativesdk native" - -CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session" -CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-auth" -CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-password" -CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive" -CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-account" -CONFFILES_${PN}-runtime += "${sysconfdir}/security/limits.conf" diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb new file mode 100644 index 000000000..6b73f0a2f --- /dev/null +++ b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb @@ -0,0 +1,165 @@ +SUMMARY = "Linux-PAM (Pluggable Authentication Modules)" +DESCRIPTION = "Linux-PAM (Pluggable Authentication Modules for Linux), a flexible mechanism for authenticating users" +HOMEPAGE = "https://fedorahosted.org/linux-pam/" +BUGTRACKER = "https://fedorahosted.org/linux-pam/newticket" +SECTION = "base" +# PAM is dual licensed under GPL and BSD. +# /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time +# libpam-runtime-1.0.1 is GPLv2+), by openembedded +LICENSE = "GPLv2+ | BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \ + file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \ + " + +SRC_URI = "https://github.com/linux-pam/linux-pam/releases/download/v${PV}/Linux-PAM-${PV}.tar.xz \ + file://99_pam \ + file://pam.d/common-account \ + file://pam.d/common-auth \ + file://pam.d/common-password \ + file://pam.d/common-session \ + file://pam.d/common-session-noninteractive \ + file://pam.d/other \ + file://libpam-xtests.patch \ + file://fixsepbuild.patch \ + file://pam-security-abstract-securetty-handling.patch \ + file://pam-unix-nullok-secure.patch \ + file://crypt_configure.patch \ + " + +SRC_URI[md5sum] = "558ff53b0fc0563ca97f79e911822165" +SRC_URI[sha256sum] = "eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db" + +SRC_URI_append_libc-musl = " file://0001-Add-support-for-defining-missing-funcitonality.patch \ + file://include_paths_header.patch \ + " + +DEPENDS = "bison-native flex flex-native cracklib libxml2-native virtual/crypt" + +EXTRA_OECONF = "--with-db-uniquename=_pam \ + --includedir=${includedir}/security \ + --libdir=${base_libdir} \ + --disable-nis \ + --disable-regenerate-docu \ + --disable-prelude" + +CFLAGS_append = " -fPIC " + +S = "${WORKDIR}/Linux-PAM-${PV}" + +inherit autotools gettext pkgconfig + +PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit," + +PACKAGES += "${PN}-runtime ${PN}-xtests" +FILES_${PN} = "${base_libdir}/lib*${SOLIBS}" +FILES_${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}" +FILES_${PN}-runtime = "${sysconfdir}" +FILES_${PN}-xtests = "${datadir}/Linux-PAM/xtests" + +PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*" + +def get_multilib_bit(d): + baselib = d.getVar('baselib') or '' + return baselib.replace('lib', '') + +libpam_suffix = "suffix${@get_multilib_bit(d)}" + +RPROVIDES_${PN} += "${PN}-${libpam_suffix}" +RPROVIDES_${PN}-runtime += "${PN}-runtime-${libpam_suffix}" + +RDEPENDS_${PN}-runtime = "${PN}-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-deny-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-permit-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-warn-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-unix-${libpam_suffix} \ + " +RDEPENDS_${PN}-xtests = "${PN}-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-access-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-debug-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-cracklib-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-succeed-if-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-time-${libpam_suffix} \ + coreutils" + +# FIXME: Native suffix breaks here, disable it for now +RRECOMMENDS_${PN} = "${PN}-runtime-${libpam_suffix}" +RRECOMMENDS_${PN}_class-native = "" + +python populate_packages_prepend () { + def pam_plugin_append_file(pn, dir, file): + nf = os.path.join(dir, file) + of = d.getVar('FILES_' + pn) + if of: + nf = of + " " + nf + d.setVar('FILES_' + pn, nf) + + def pam_plugin_hook(file, pkg, pattern, format, basename): + pn = d.getVar('PN') + libpam_suffix = d.getVar('libpam_suffix') + + rdeps = d.getVar('RDEPENDS_' + pkg) + if rdeps: + rdeps = rdeps + " " + pn + "-" + libpam_suffix + else: + rdeps = pn + "-" + libpam_suffix + d.setVar('RDEPENDS_' + pkg, rdeps) + + provides = d.getVar('RPROVIDES_' + pkg) + if provides: + provides = provides + " " + pkg + "-" + libpam_suffix + else: + provides = pkg + "-" + libpam_suffix + d.setVar('RPROVIDES_' + pkg, provides) + + mlprefix = d.getVar('MLPREFIX') or '' + dvar = d.expand('${WORKDIR}/package') + pam_libdir = d.expand('${base_libdir}/security') + pam_sbindir = d.expand('${sbindir}') + pam_filterdir = d.expand('${base_libdir}/security/pam_filter') + pam_pkgname = mlprefix + 'pam-plugin%s' + + do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname, + 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='') + pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_chkpwd') + pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_update') + pam_plugin_append_file('%spam-plugin-tally' % mlprefix, pam_sbindir, 'pam_tally') + pam_plugin_append_file('%spam-plugin-tally2' % mlprefix, pam_sbindir, 'pam_tally2') + pam_plugin_append_file('%spam-plugin-timestamp' % mlprefix, pam_sbindir, 'pam_timestamp_check') + pam_plugin_append_file('%spam-plugin-mkhomedir' % mlprefix, pam_sbindir, 'mkhomedir_helper') + pam_plugin_append_file('%spam-plugin-console' % mlprefix, pam_sbindir, 'pam_console_apply') + do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='') +} + +do_install() { + autotools_do_install + + # don't install /var/run when populating rootfs. Do it through volatile + rm -rf ${D}${localstatedir} + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/99_pam ${D}${sysconfdir}/default/volatiles + + install -d ${D}${sysconfdir}/pam.d/ + install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ + + # The lsb requires unix_chkpwd has setuid permission + chmod 4755 ${D}${sbindir}/unix_chkpwd + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + echo "session optional pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session + fi +} + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "pam" + +BBCLASSEXTEND = "nativesdk native" + +CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session" +CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-auth" +CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-password" +CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive" +CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-account" +CONFFILES_${PN}-runtime += "${sysconfdir}/security/limits.conf" + +UPSTREAM_CHECK_URI = "https://github.com/linux-pam/linux-pam/releases" diff --git a/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch b/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch index b0376cefc..4070127d3 100644 --- a/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch +++ b/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch @@ -1,29 +1,33 @@ -From d78dd087c4ec4715aab5fe115668e726046ecd76 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 13 Apr 2015 18:16:05 -0700 -Subject: [PATCH] Include fcntl.h in /platform_defs.h +Upstream-Status: Backport +Signed-off-by: Ross Burton -exposed when compiling using musl +From a3877115f1956949096d77aca5a703a47ed68397 Mon Sep 17 00:00:00 2001 +From: Felix Janda +Date: Sun, 3 May 2015 10:33:31 +0200 +Subject: [PATCH] libparted/fs/xfs/platform_defs.h: Include for + loff_t -Upstream-Status: Pending +This is needed for compilation with musl libc -Signed-off-by: Khem Raj +Suggested-by: Travis Tilley + +Signed-off-by: Brian C. Lane --- libparted/fs/xfs/platform_defs.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libparted/fs/xfs/platform_defs.h b/libparted/fs/xfs/platform_defs.h -index 2b55752..32bd3d3 100644 +index 2b55752..a6ec8fb 100644 --- a/libparted/fs/xfs/platform_defs.h +++ b/libparted/fs/xfs/platform_defs.h -@@ -42,6 +42,7 @@ +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include #include #include - #include -+#include - #include - #include - -- -2.1.4 +2.11.0 diff --git a/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch b/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch index e522e1c6e..39107620d 100644 --- a/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch +++ b/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch @@ -1,7 +1,8 @@ -From d6e15a60e84c1511523aa81272b7db7a6ec441d0 Mon Sep 17 00:00:00 2001 -From: Ovidiu Panait +From 843225aa9d5077bebdb08bbf9699c02aec0b83eb Mon Sep 17 00:00:00 2001 +From: "Brian C. Lane" Date: Tue, 26 Sep 2017 08:04:58 +0000 Subject: [PATCH] libparted: Use read only when probing devices on linux + (#1245144) When a device is opened for RW closing it can trigger other actions, @@ -25,17 +26,17 @@ Resolves: rhbz#1245144 Upstream-Status: Backport -Author: Brian C. Lane Signed-off-by: Ovidiu Panait + --- libparted/arch/linux.c | 62 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 18 deletions(-) diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index f612617..0a06a54 100644 +index 7f12f58..4ddea58 100644 --- a/libparted/arch/linux.c +++ b/libparted/arch/linux.c -@@ -294,7 +294,9 @@ struct blkdev_ioctl_param { +@@ -292,7 +292,9 @@ struct blkdev_ioctl_param { static char* _device_get_part_path (PedDevice const *dev, int num); static int _partition_is_mounted_by_path (const char* path); static unsigned int _device_get_partition_range(PedDevice const* dev); @@ -46,7 +47,7 @@ index f612617..0a06a54 100644 static int _read_fd (int fd, char **buf) -@@ -913,7 +915,7 @@ init_ide (PedDevice* dev) +@@ -911,7 +913,7 @@ init_ide (PedDevice* dev) if (!_device_stat (dev, &dev_stat)) goto error; @@ -55,7 +56,7 @@ index f612617..0a06a54 100644 goto error; if (ioctl (arch_specific->fd, HDIO_GET_IDENTITY, &hdi)) { -@@ -982,11 +984,11 @@ init_ide (PedDevice* dev) +@@ -980,11 +982,11 @@ init_ide (PedDevice* dev) if (!_device_probe_geometry (dev)) goto error_close_dev; @@ -69,7 +70,7 @@ index f612617..0a06a54 100644 error: return 0; } -@@ -1119,7 +1121,7 @@ init_scsi (PedDevice* dev) +@@ -1117,7 +1119,7 @@ init_scsi (PedDevice* dev) char* vendor; char* product; @@ -78,7 +79,7 @@ index f612617..0a06a54 100644 goto error; if (ioctl (arch_specific->fd, SCSI_IOCTL_GET_IDLUN, &idlun) < 0) { -@@ -1133,7 +1135,7 @@ init_scsi (PedDevice* dev) +@@ -1131,7 +1133,7 @@ init_scsi (PedDevice* dev) goto error_close_dev; if (!_device_probe_geometry (dev)) goto error_close_dev; @@ -87,7 +88,7 @@ index f612617..0a06a54 100644 return 1; } -@@ -1155,11 +1157,11 @@ init_scsi (PedDevice* dev) +@@ -1153,11 +1155,11 @@ init_scsi (PedDevice* dev) if (!_device_probe_geometry (dev)) goto error_close_dev; @@ -101,7 +102,7 @@ index f612617..0a06a54 100644 error: return 0; } -@@ -1171,7 +1173,7 @@ init_file (PedDevice* dev) +@@ -1169,7 +1171,7 @@ init_file (PedDevice* dev) if (!_device_stat (dev, &dev_stat)) goto error; @@ -110,7 +111,7 @@ index f612617..0a06a54 100644 goto error; dev->sector_size = PED_SECTOR_SIZE_DEFAULT; -@@ -1198,7 +1200,7 @@ init_file (PedDevice* dev) +@@ -1196,7 +1198,7 @@ init_file (PedDevice* dev) goto error_close_dev; } @@ -119,7 +120,7 @@ index f612617..0a06a54 100644 dev->bios_geom.cylinders = dev->length / 4 / 32; dev->bios_geom.heads = 4; -@@ -1209,7 +1211,7 @@ init_file (PedDevice* dev) +@@ -1207,7 +1209,7 @@ init_file (PedDevice* dev) return 1; error_close_dev: @@ -128,7 +129,7 @@ index f612617..0a06a54 100644 error: return 0; } -@@ -1225,7 +1227,7 @@ init_dasd (PedDevice* dev, const char* model_name) +@@ -1223,7 +1225,7 @@ init_dasd (PedDevice* dev, const char* model_name) if (!_device_stat (dev, &dev_stat)) goto error; @@ -137,7 +138,7 @@ index f612617..0a06a54 100644 goto error; LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); -@@ -1265,11 +1267,11 @@ init_dasd (PedDevice* dev, const char* model_name) +@@ -1263,11 +1265,11 @@ init_dasd (PedDevice* dev, const char* model_name) dev->model = strdup (model_name); @@ -151,7 +152,7 @@ index f612617..0a06a54 100644 error: return 0; } -@@ -1284,7 +1286,7 @@ init_generic (PedDevice* dev, const char* model_name) +@@ -1282,7 +1284,7 @@ init_generic (PedDevice* dev, const char* model_name) if (!_device_stat (dev, &dev_stat)) goto error; @@ -160,7 +161,7 @@ index f612617..0a06a54 100644 goto error; ped_exception_fetch_all (); -@@ -1332,11 +1334,11 @@ init_generic (PedDevice* dev, const char* model_name) +@@ -1330,11 +1332,11 @@ init_generic (PedDevice* dev, const char* model_name) dev->model = strdup (model_name); @@ -174,7 +175,7 @@ index f612617..0a06a54 100644 error: return 0; } -@@ -1623,12 +1625,27 @@ retry: +@@ -1621,12 +1623,27 @@ retry: } static int @@ -203,7 +204,7 @@ index f612617..0a06a54 100644 if (arch_specific->fd == -1) { char* rw_error_msg = strerror (errno); -@@ -1697,6 +1714,15 @@ linux_refresh_close (PedDevice* dev) +@@ -1695,6 +1712,15 @@ linux_refresh_close (PedDevice* dev) return 1; } @@ -218,7 +219,4 @@ index f612617..0a06a54 100644 + #if SIZEOF_OFF_T < 8 - #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) --- -2.11.0 - + static _syscall5(int,_llseek, diff --git a/poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch b/poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch new file mode 100644 index 000000000..01262e545 --- /dev/null +++ b/poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch @@ -0,0 +1,28 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 0b72b8eb41438b62eeb9e3548b0b8f3094a78681 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 24 Mar 2018 17:37:02 +0000 +Subject: [PATCH] linux: Include for major() macro. + +Since glibc 2.27 this header is required. +--- + libparted/arch/linux.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c +index 0f18904..a15854f 100644 +--- a/libparted/arch/linux.c ++++ b/libparted/arch/linux.c +@@ -41,6 +41,7 @@ + #include /* for uname() */ + #include + #include ++#include + #ifdef ENABLE_DEVICE_MAPPER + #include + #endif +-- +2.11.0 + diff --git a/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch b/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch index 68ab715f3..8c4d2ae66 100644 --- a/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch +++ b/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch @@ -1,44 +1,68 @@ -From 060e74354774d36d2c11ef08e3e7ea9b9b6e23fb Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Thu, 13 Nov 2014 11:29:33 +0800 -Subject: [PATCH] libparted/arch/linux.c: fix compile failure while - --disable-device-mapper +Upstream-Status: Backport +Signed-off-by: Ross Burton -While --disable-device-mapper, the MACRO ENABLE_DEVICE_MAPPER is -undef, but it missed to scope some device mapper functions. +From da3f129710929abe9a403901fa7d168355b0e95a Mon Sep 17 00:00:00 2001 +From: Felix Janda +Date: Sun, 3 May 2015 10:33:15 +0200 +Subject: [PATCH] libparted/arch/linux.c: Compile without ENABLE_DEVICE_MAPPER -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia +Signed-off-by: Brian C. Lane --- - libparted/arch/linux.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) + libparted/arch/linux.c | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index 6fd73c5..2afa479 100644 +index a15854f..7f12f58 100644 --- a/libparted/arch/linux.c +++ b/libparted/arch/linux.c -@@ -2320,6 +2320,7 @@ zasprintf (const char *format, ...) +@@ -2305,6 +2305,7 @@ zasprintf (const char *format, ...) + return r < 0 ? NULL : resultp; + } + ++#ifdef ENABLE_DEVICE_MAPPER static char * dm_canonical_path (PedDevice const *dev) { -+#ifdef ENABLE_DEVICE_MAPPER - LinuxSpecific const *arch_specific = LINUX_SPECIFIC (dev); - - /* Get map name from devicemapper */ -@@ -2337,6 +2338,7 @@ dm_canonical_path (PedDevice const *dev) - dm_task_destroy (task); - return dev_name; +@@ -2327,14 +2328,21 @@ dm_canonical_path (PedDevice const *dev) err: -+#endif return NULL; } ++#endif + + static char* + _device_get_part_path (PedDevice const *dev, int num) + { +- char *devpath = (dev->type == PED_DEVICE_DM +- ? dm_canonical_path (dev) : dev->path); +- size_t path_len = strlen (devpath); ++ char *devpath; ++ size_t path_len; + char *result; ++#ifdef ENABLE_DEVICE_MAPPER ++ devpath = (dev->type == PED_DEVICE_DM ++ ? dm_canonical_path (dev) : dev->path); ++#else ++ devpath = dev->path; ++#endif ++ path_len = strlen (devpath); + /* Check for devfs-style /disc => /partN transformation + unconditionally; the system might be using udev with devfs rules, + and if not the test is harmless. */ +@@ -2350,8 +2358,10 @@ _device_get_part_path (PedDevice const *dev, int num) + ? "p" : ""); + result = zasprintf ("%s%s%d", devpath, p, num); + } ++#ifdef ENABLE_DEVICE_MAPPER + if (dev->type == PED_DEVICE_DM) + free (devpath); ++#endif + return result; + } -@@ -2957,13 +2959,15 @@ _disk_sync_part_table (PedDisk* disk) - unsigned long long *start, +@@ -2946,12 +2956,15 @@ _disk_sync_part_table (PedDisk* disk) unsigned long long *length); -- + +#ifdef ENABLE_DEVICE_MAPPER if (disk->dev->type == PED_DEVICE_DM) { add_partition = _dm_add_partition; @@ -53,5 +77,5 @@ index 6fd73c5..2afa479 100644 remove_partition = _blkpg_remove_partition; #ifdef BLKPG_RESIZE_PARTITION -- -1.9.1 +2.11.0 diff --git a/poky/meta/recipes-extended/parted/files/syscalls.patch b/poky/meta/recipes-extended/parted/files/syscalls.patch deleted file mode 100644 index 93205a0a8..000000000 --- a/poky/meta/recipes-extended/parted/files/syscalls.patch +++ /dev/null @@ -1,55 +0,0 @@ -Upstream-Status: Pending - ---- - libparted/arch/linux.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -Index: parted-3.2/libparted/arch/linux.c -=================================================================== ---- parted-3.2.orig/libparted/arch/linux.c -+++ parted-3.2/libparted/arch/linux.c -@@ -17,6 +17,8 @@ - - #define PROC_DEVICES_BUFSIZ 16384 - -+#include -+ - #include - #include - #include -@@ -1696,12 +1698,14 @@ linux_refresh_close (PedDevice* dev) - - #if SIZEOF_OFF_T < 8 - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) - static _syscall5(int,_llseek, - unsigned int, fd, - unsigned long, offset_high, - unsigned long, offset_low, - loff_t*, result, - unsigned int, origin) -+#endif - - loff_t - llseek (unsigned int fd, loff_t offset, unsigned int whence) -@@ -1709,11 +1713,20 @@ llseek (unsigned int fd, loff_t offset, - loff_t result; - int retval; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) - retval = _llseek(fd, - ((unsigned long long)offset) >> 32, - ((unsigned long long)offset) & 0xffffffff, - &result, - whence); -+#else -+ retval = syscall(__NR__llseek, fd, -+ ((unsigned long long)offset) >> 32, -+ ((unsigned long long)offset) & 0xffffffff, -+ &result, -+ whence); -+#endif -+ - return (retval==-1 ? (loff_t) retval : result); - } - diff --git a/poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch b/poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch deleted file mode 100644 index 211e6c734..000000000 --- a/poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch +++ /dev/null @@ -1,32 +0,0 @@ -https://bugs.gentoo.org/580022 - -From dec8995fe80508374beba6356f6ecbba8ef6b18b Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Tue, 21 Jun 2016 15:01:08 -0400 -Subject: [PATCH] include sysmacros.h for major/minor/makedev - -Linux C libs are moving away from including this header implicitly via -sys/types.h, so include it explicitly. - -Upstream-Status: Pending -Signed-off-by: Martin Jansa - ---- - libparted/arch/linux.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index 326b95619d31..e5c168be3c68 100644 ---- a/libparted/arch/linux.c -+++ b/libparted/arch/linux.c -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - #include - #include /* for uname() */ - #include --- -2.8.2 - diff --git a/poky/meta/recipes-extended/parted/parted_3.2.bb b/poky/meta/recipes-extended/parted/parted_3.2.bb index ceac52892..13d7d6676 100644 --- a/poky/meta/recipes-extended/parted/parted_3.2.bb +++ b/poky/meta/recipes-extended/parted/parted_3.2.bb @@ -8,14 +8,13 @@ PR = "r1" SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \ file://no_check.patch \ - file://syscalls.patch \ file://fix-doc-mandir.patch \ file://fix-compile-failure-while-dis.patch \ file://0001-Include-fcntl.h-in-platform_defs.h.patch \ file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ file://0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch \ file://0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch \ - file://parted-3.2-sysmacros.patch \ + file://0001-linux-Include-sys-sysmacros.h-for-major-macro.patch \ file://run-ptest \ file://Makefile \ file://0001-libparted-Use-read-only-when-probing-devices-on-linu.patch \ diff --git a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb index 644d8208e..9f992d3e8 100644 --- a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb +++ b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb @@ -14,4 +14,7 @@ inherit cpan ptest-perl EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}" +RDEPENDS_${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix" +RDEPENDS_${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc" + BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb index 8e1461ceb..7219c7d11 100644 --- a/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb +++ b/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb @@ -15,6 +15,7 @@ BBCLASSEXTEND = "native" RDEPENDS_${PN}_class-native = "" RDEPENDS_${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local" +RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-utf8" SRC_URI[md5sum] = "b1d91153ac971347aee84292ed886c1c" SRC_URI[sha256sum] = "75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86" diff --git a/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb b/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb index 373b522d6..2bff65a08 100644 --- a/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb +++ b/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb @@ -21,4 +21,6 @@ S = "${WORKDIR}/XML-SAX-Base-${PV}" inherit cpan ptest-perl +RDEPENDS_${PN}-ptest += "perl-module-test perl-module-test-more" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb index eccd0ad6b..80a1c8e39 100644 --- a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb +++ b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb @@ -29,4 +29,7 @@ do_install_ptest() { chown -R root:root ${D}${PTEST_PATH}/testfiles } +RDEPENDS_${PN} += "perl-module-encode perl-module-perlio" +RDEPENDS_${PN}-ptest += "perl-module-test perl-module-base perl-module-fatal perl-module-encode-unicode perl-module-encode-byte" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/pigz/pigz_2.4.bb b/poky/meta/recipes-extended/pigz/pigz_2.4.bb index 6e6da9c3c..6d62ce6cc 100644 --- a/poky/meta/recipes-extended/pigz/pigz_2.4.bb +++ b/poky/meta/recipes-extended/pigz/pigz_2.4.bb @@ -11,6 +11,8 @@ LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz" SRC_URI[md5sum] = "def2f6e19d9d8231445adc1349d346df" SRC_URI[sha256sum] = "a4f816222a7b4269bd232680590b579ccc72591f1bb5adafcd7208ca77e14f73" +PROVIDES_class-native += "gzip-native" + # Point this at the homepage in case /fossils/ isn't updated UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/" UPSTREAM_CHECK_REGEX = "pigz-(?P.*)\.tar" @@ -19,6 +21,8 @@ DEPENDS = "zlib" EXTRA_OEMAKE = "-e MAKEFLAGS=" +inherit update-alternatives + do_install() { # Install files into /bin (FHS), which is typical place for gzip install -d ${D}${base_bindir} @@ -27,4 +31,19 @@ do_install() { ln -nsf pigz ${D}${base_bindir}/pigzcat } +do_install_append_class-native() { + install -d ${D}${bindir} + install ${B}/pigz ${D}${bindir}/gzip + ln -nsf gzip ${D}${bindir}/gunzip + ln -nsf gzip ${D}${bindir}/zcat +} + +ALTERNATIVE_PRIORITY = "80" +ALTERNATIVE_${PN} = "gunzip gzip zcat" +ALTERNATIVE_${PN}_class-nativesdk = "" +ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip" +ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip" +ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat" +ALTERNATIVE_TARGET = "${base_bindir}/pigz" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/sed/sed_4.2.2.bb b/poky/meta/recipes-extended/sed/sed_4.2.2.bb index f10e365ea..8e436bad8 100644 --- a/poky/meta/recipes-extended/sed/sed_4.2.2.bb +++ b/poky/meta/recipes-extended/sed/sed_4.2.2.bb @@ -15,7 +15,7 @@ SRC_URI[md5sum] = "4111de4faa3b9848a0686b2f260c5056" SRC_URI[sha256sum] = "fea0a94d4b605894f3e2d5572e3f96e4413bcad3a085aae7367c2cf07908b2ff" inherit autotools texinfo update-alternatives gettext ptest -RDEPENDS_${PN}-ptest += "make ${PN}" +RDEPENDS_${PN}-ptest += "make" RRECOMMENDS_${PN}-ptest_append_libc-glibc = " locale-base-ru-ru" EXTRA_OECONF = "--disable-acl \ diff --git a/poky/meta/recipes-extended/slang/slang/array_test.patch b/poky/meta/recipes-extended/slang/slang/array_test.patch new file mode 100644 index 000000000..ccd416f20 --- /dev/null +++ b/poky/meta/recipes-extended/slang/slang/array_test.patch @@ -0,0 +1,20 @@ +slang: modify array test + +One array test tries to create an array that is far too large and anticipates an exception. +IndexError will only be thrown for 64 bit machines, so we add InvalidParmError for 32 bit ones. + +Upstream-Status: Submitted [jedsoft.org] + +Signed-off-by: Joe Slater + +--- a/src/test/array.sl ++++ b/src/test/array.sl +@@ -165,7 +165,7 @@ try + { + SS = Long_Type[10000,10000,10000,10000,10000,10000]; + } +-catch IndexError; ++catch IndexError,InvalidParmError; + + private define array_map2_func () + { diff --git a/poky/meta/recipes-extended/slang/slang_2.3.2.bb b/poky/meta/recipes-extended/slang/slang_2.3.2.bb index e32931093..99efb16da 100644 --- a/poky/meta/recipes-extended/slang/slang_2.3.2.bb +++ b/poky/meta/recipes-extended/slang/slang_2.3.2.bb @@ -19,6 +19,7 @@ SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \ file://dont-link-to-host.patch \ file://test-add-output-in-the-format-result-testname.patch \ file://terminfo_fixes.patch \ + file://array_test.patch \ file://run-ptest \ " diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc index 7f4749f57..6b21c6b8c 100644 --- a/poky/meta/recipes-extended/sysstat/sysstat.inc +++ b/poky/meta/recipes-extended/sysstat/sysstat.inc @@ -10,6 +10,7 @@ SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.xz \ " UPSTREAM_CHECK_URI = "http://sebastien.godard.pagesperso-orange.fr/download.html" +UPSTREAM_VERSION_UNKNOWN = "1" DEPENDS += "base-passwd" diff --git a/poky/meta/recipes-extended/tar/tar/remove-gets.patch b/poky/meta/recipes-extended/tar/tar/remove-gets.patch deleted file mode 100644 index f24de926a..000000000 --- a/poky/meta/recipes-extended/tar/tar/remove-gets.patch +++ /dev/null @@ -1,29 +0,0 @@ -ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it - -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - gnu/stdio.in.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gnu/stdio.in.h b/gnu/stdio.in.h -index ec43874..502e3ae 100644 ---- a/gnu/stdio.in.h -+++ b/gnu/stdio.in.h -@@ -722,10 +722,12 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning; besides, C11 - removed it. */ -+#if defined gets - #undef gets - #if HAVE_RAW_DECL_GETS && !defined __cplusplus - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif -+#endif - - #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ - struct obstack; --- -2.8.3 - diff --git a/poky/meta/recipes-extended/tar/tar_1.32.bb b/poky/meta/recipes-extended/tar/tar_1.32.bb index 7240fdb7e..18f09b571 100644 --- a/poky/meta/recipes-extended/tar/tar_1.32.bb +++ b/poky/meta/recipes-extended/tar/tar_1.32.bb @@ -7,7 +7,6 @@ LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2 \ - file://remove-gets.patch \ file://musl_dirent.patch \ " diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch new file mode 100644 index 000000000..965544cc0 --- /dev/null +++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch @@ -0,0 +1,25 @@ +Compile warning fixes from Debian + +Signed-off-by: Adrian Bunk +Upstream-Status: Inappropriate [upstream is dead] + +--- a/options.c ++++ b/options.c +@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1 + #include + #include + #include ++#include + #include + #include + #include +--- a/scaffold.c ++++ b/scaffold.c +@@ -17,6 +17,7 @@ static char sccs_id[] = "@(#) scaffold.c + #include + #include + #include ++#include + #include + #include + #include diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch new file mode 100644 index 000000000..27157a2e6 --- /dev/null +++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch @@ -0,0 +1,200 @@ +Compile warning fixes from Debian + +Signed-off-by: Adrian Bunk +Upstream-Status: Inappropriate [upstream is dead] + +--- a/clean_exit.c ++++ b/clean_exit.c +@@ -13,6 +13,7 @@ static char sccsid[] = "@(#) clean_exit. + #endif + + #include ++#include + + extern void exit(); + +--- a/hosts_access.c ++++ b/hosts_access.c +@@ -34,6 +34,7 @@ static char sccsid[] = "@(#) hosts_acces + #include + #include + #include ++#include + #include + #include + #include +--- a/misc.c ++++ b/misc.c +@@ -13,6 +13,7 @@ static char sccsic[] = "@(#) misc.c 1.2 + #include + #include + #include ++#include + #include + + #include "tcpd.h" +--- a/options.c ++++ b/options.c +@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1 + #include + #include + #include ++#include + #include + #include + #include +--- a/percent_x.c ++++ b/percent_x.c +@@ -17,6 +17,7 @@ static char sccsid[] = "@(#) percent_x.c + /* System libraries. */ + + #include ++#include + #include + #include + +--- a/rfc931.c ++++ b/rfc931.c +@@ -16,6 +16,7 @@ static char sccsid[] = "@(#) rfc931.c 1. + /* System libraries. */ + + #include ++#include + #include + #include + #include +--- a/tcpd.c ++++ b/tcpd.c +@@ -22,6 +22,7 @@ static char sccsid[] = "@(#) tcpd.c 1.10 + #include + #include + #include ++#include + #include + #include + +--- a/update.c ++++ b/update.c +@@ -20,6 +20,7 @@ static char sccsid[] = "@(#) update.c 1. + /* System libraries */ + + #include ++#include + #include + #include + +--- a/fakelog.c ++++ b/fakelog.c +@@ -17,7 +17,7 @@ static char sccsid[] = "@(#) fakelog.c 1 + + /* ARGSUSED */ + +-openlog(name, logopt, facility) ++void openlog(name, logopt, facility) + char *name; + int logopt; + int facility; +@@ -27,7 +27,7 @@ int facility; + + /* vsyslog - format one record */ + +-vsyslog(severity, fmt, ap) ++void vsyslog(severity, fmt, ap) + int severity; + char *fmt; + va_list ap; +@@ -43,7 +43,7 @@ va_list ap; + + /* VARARGS */ + +-VARARGS(syslog, int, severity) ++void VARARGS(syslog, int, severity) + { + va_list ap; + char *fmt; +@@ -56,7 +56,7 @@ VARARGS(syslog, int, severity) + + /* closelog - dummy */ + +-closelog() ++void closelog() + { + /* void */ + } +--- a/safe_finger.c ++++ b/safe_finger.c +@@ -22,10 +22,15 @@ static char sccsid[] = "@(#) safe_finger + + #include + #include ++#include ++#include + #include + #include ++#include ++#include + #include + #include ++#include + #include + + extern void exit(); +@@ -52,7 +59,7 @@ int sig; + exit(0); + } + +-main(argc, argv) ++int main(argc, argv) + int argc; + char **argv; + { +--- a/tcpdchk.c ++++ b/tcpdchk.c +@@ -28,6 +28,8 @@ static char sccsid[] = "@(#) tcpdchk.c 1 + #include + #include + #include ++#include ++#include + #include + #include + #include +--- a/tcpdmatch.c ++++ b/tcpdmatch.c +@@ -26,6 +26,7 @@ static char sccsid[] = "@(#) tcpdmatch.c + #include + #include + #include ++#include + #include + #include + #include +--- a/try-from.c ++++ b/try-from.c +@@ -37,7 +37,7 @@ static char sccsid[] = "@(#) try-from.c + int allow_severity = SEVERITY; /* run-time adjustable */ + int deny_severity = LOG_WARNING; /* ditto */ + +-main(argc, argv) ++int main(argc, argv) + int argc; + char **argv; + { +--- a/inetcf.c ++++ b/inetcf.c +@@ -12,6 +12,7 @@ static char sccsid[] = "@(#) inetcf.c 1. + #include + #include + #include ++#include + #include + #include + +@@ -20,6 +21,7 @@ extern void exit(); + + #include "tcpd.h" + #include "inetcf.h" ++#include "scaffold.h" + + /* + * Network configuration files may live in unusual places. Here are some diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb index 0f5067465..6d232a50e 100644 --- a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb +++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb @@ -47,6 +47,8 @@ SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \ file://makefile-fix-parallel.patch \ file://musl-decls.patch \ file://0001-Fix-build-with-clang.patch \ + file://fix_warnings.patch \ + file://fix_warnings2.patch \ " SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a" diff --git a/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py b/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py index e369f7445..86c7c1811 100644 --- a/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py +++ b/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py @@ -28,26 +28,23 @@ # of the executable from argv[0] and emulate the corresponding program, so # multiple copies of this script will exist under different names. -import sys, os +import sys, os, argparse -olong = "--output=" -Elong = "--macro-expand=" - -this_binary = sys.argv[0].split ("/")[-1] +this_binary = sys.argv[0].split("/")[-1] # To be outputted if functionality that hasn't been stubbed yet is invoked. stub_msg = """ -This stand-in version of %s is not yet fully capable of emulating the real -version from the GNU texinfo suite. If you see this message, file a bug report -with details on the recipe that failed. +This stand-in version of %s is not yet fully capable of emulating +the real version from the GNU texinfo suite. If you see this message, file a +bug report with details on the recipe that failed. """ % this_binary # Autotools setups query the version, so this is actually necessary. Some of # them (lookin' at you, glibc) actually look for the substring "GNU texinfo," # so we put that substring in there without actually telling a lie. -version_str = """ %s (fake texinfo, emulating GNU texinfo) 5.2 - +version_str = """%s (fake texinfo, emulating GNU texinfo) 5.2 + Super amazing version which is totally not fake in any way whatsoever. Copyright (C) 2014 Intel Corp. Distributed under the terms of the MIT license. @@ -55,63 +52,45 @@ license. simple_binaries = "pod2texi texi2dvi pdftexi2dvi texindex texi2pdf \ txixml2texi install-info ginstall-info \ - update-info-dir".split () + update-info-dir".split() # These utilities use a slightly different set of options and flags. -complex_binaries = "makeinfo texi2any".split () +complex_binaries = "makeinfo texi2any".split() valid_binaries = simple_binaries + complex_binaries -# For generating blank output files. -def touch_file (path): - f = open (path, "w") - f.close () - assert this_binary in valid_binaries, \ - this_binary + " is not one of " + ', '.join (valid_binaries) - -if "--version" in sys.argv: - print(version_str) - sys.exit (0) + this_binary + " is not one of " + ', '.join(valid_binaries) # For debugging log_interceptions = False if log_interceptions: - f = open ("/tmp/intercepted_" + this_binary, "a") - f.write (' '.join ([this_binary] + sys.argv[1:]) + '\n') - f.close () + with open("/tmp/intercepted_" + this_binary, "a") as f: + f.write(' '.join([this_binary] + sys.argv[1:]) + '\n') # Look through the options and flags, and if necessary, touch any output # files. -arg_idx = 1 -while arg_idx < len (sys.argv): - arg = sys.argv [arg_idx] - - if arg == "--": - break - - # Something like -I . can result in a need for this (specifically the .) - elif len (arg) < 2: +p = argparse.ArgumentParser() +if this_binary in complex_binaries: + p.add_argument('-E', '--macro-expand', metavar='FILE') +p.add_argument('-o', '--output', metavar='DEST') +p.add_argument('--version', action='store_true') + +args, unknown = p.parse_known_args() + +if args.version: + print(version_str) + sys.exit(0) + +# Check for functionality that isn't implemented yet. +assert not getattr(args, 'macro_expand', None), \ + "-E/--macro-expand option not yet supported" + stub_msg + +# Check if -o or --output is specified. +if args.output: + with open(args.output, 'w'): pass - - # Check if -o or --output is specified. These can be used at most once. - elif arg[0] == '-' and arg[1] != '-' and arg[len (arg) - 1] == 'o': - touch_file (sys.argv[arg_idx + 1]) - sys.exit (0) - elif arg.startswith (olong): - touch_file (arg.split ("=")[1]) - sys.exit (0) - - # Check for functionality that isn't implemented yet. - else: - assert arg[0] != '-' or arg[1] == '-' or 'E' not in arg or \ - this_binary in simple_binaries, \ - "-E option not yet supported" + stub_msg - - assert not arg.startswith (Elong), \ - Elong[:-1] + " option not yet supported" + stub_msg - - arg_idx += 1 + sys.exit(0) # The -o/--output option overrides the default. For makeinfo and texi2any, # that default is to look for a @setfilename command in the input file. @@ -119,4 +98,3 @@ while arg_idx < len (sys.argv): assert this_binary in simple_binaries, \ "Don't know how to get default output file name from input file!" + \ stub_msg - diff --git a/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch b/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch new file mode 100644 index 000000000..244ddea36 --- /dev/null +++ b/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch @@ -0,0 +1,19 @@ +From: Santiago Vila +Subject: Remove (optional) build date to make the build reproducible +Bug-Debian: http://bugs.debian.org/779042 + +Upstream-Status: Inappropriate [no upstream] + +Signed-off-by: Joshua Watt + +--- a/unix/unix.c ++++ b/unix/unix.c +@@ -1020,7 +1020,7 @@ + + + /* Define the compile date string */ +-#ifdef __DATE__ ++#if 0 + # define COMPILE_DATE " on " __DATE__ + #else + # define COMPILE_DATE "" diff --git a/poky/meta/recipes-extended/zip/zip_3.0.bb b/poky/meta/recipes-extended/zip/zip_3.0.bb index de779e94a..a2cd7717c 100644 --- a/poky/meta/recipes-extended/zip/zip_3.0.bb +++ b/poky/meta/recipes-extended/zip/zip_3.0.bb @@ -10,7 +10,9 @@ PR = "r2" S = "${WORKDIR}/zip30" SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz \ - file://fix-security-format.patch" + file://fix-security-format.patch \ + file://10-remove-build-date.patch \ + " UPSTREAM_VERSION_UNKNOWN = "1" SRC_URI[md5sum] = "7b74551e63f8ee6aab6fbc86676c0d37" diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb deleted file mode 100644 index 49631d92d..000000000 --- a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "WebKit based web browser for GNOME" -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \ - gsettings-desktop-schemas libxml2-native \ - glib-2.0 glib-2.0-native json-glib libdazzle" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ - file://0002-help-meson.build-disable-the-use-of-yelp.patch \ - file://0001-web-app-utils-Clean-up-ephy_web_application_create.patch \ - " -SRC_URI[archive.md5sum] = "93faec353e9f62519859e6164350fd5d" -SRC_URI[archive.sha256sum] = "a8284fb9bbc8b7914a154a8eac1598c8b59ae421e0d685146fb48198427926be" - -FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" -RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.2.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.2.bb new file mode 100644 index 000000000..ff0e34f98 --- /dev/null +++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.2.bb @@ -0,0 +1,21 @@ +SUMMARY = "WebKit based web browser for GNOME" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \ + gsettings-desktop-schemas libxml2-native \ + glib-2.0 glib-2.0-native json-glib libdazzle" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0002-help-meson.build-disable-the-use-of-yelp.patch \ + file://0001-web-app-utils-Clean-up-ephy_web_application_create.patch \ + " +SRC_URI[archive.md5sum] = "2a6672b22a0fdb869e5f0a415ac2da34" +SRC_URI[archive.sha256sum] = "8ae70d9feaba3754c63ab249deeef9b7a31161a372655b4214f148ea2f440cfa" + +FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" +RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch index e638fd3b6..e46140491 100644 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch @@ -1,4 +1,4 @@ -From bf71999b6e64d1f1919b0351b27c1c417e2b8856 Mon Sep 17 00:00:00 2001 +From be8a47e0c21e5577d4f5669d339dfec6299b25be Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 14 Feb 2019 18:06:25 +0100 Subject: [PATCH] Generate loaders.cache using a native tool when @@ -10,37 +10,29 @@ Upstream-Status: Pending Signed-off-by: Alexander Kanavin --- - gdk-pixbuf/meson.build | 13 +++++++++++++ - 1 file changed, 13 insertions(+) + gdk-pixbuf/meson.build | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build -index 1995ffd..d692cb7 100644 +index 5cddbec..78c8bd3 100644 --- a/gdk-pixbuf/meson.build +++ b/gdk-pixbuf/meson.build -@@ -291,6 +291,7 @@ foreach bin: gdkpixbuf_bin - set_variable(bin_name.underscorify(), bin) - endforeach - -+if not meson.is_cross_build() - # The 'loaders.cache' used for testing, so we don't accidentally - # load the installed cache; we always build it by default - loaders_cache = custom_target('loaders.cache', -@@ -302,6 +303,18 @@ loaders_cache = custom_target('loaders.cache', - ], - build_by_default: true) - loaders_dep = declare_dependency(sources: [ loaders_cache ]) -+else -+loaders_cache = custom_target('loaders.cache', -+ output: 'loaders.cache', -+ capture: true, -+ depends: [ dynamic_loaders_dep ], -+ command: [ -+ 'gdk-pixbuf-query-loaders', -+ dynamic_loaders, -+ ], -+ build_by_default: true) -+loaders_dep = declare_dependency(sources: [ loaders_cache ]) -+endif +@@ -324,8 +324,16 @@ if not meson.is_cross_build() + build_by_default: true) + loaders_dep = declare_dependency(sources: [ loaders_cache ]) + else +- loaders_cache = [] +- loaders_dep = declare_dependency() ++ loaders_cache = custom_target('loaders.cache', ++ output: 'loaders.cache', ++ capture: true, ++ command: [ ++ 'gdk-pixbuf-query-loaders', ++ dynamic_loaders, ++ ], ++ depends: dynamic_loaders_dep, ++ build_by_default: true) ++ loaders_dep = declare_dependency(sources: [ loaders_cache ]) + endif pkgconfig = import('pkgconfig') - pkgconfig.generate( diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch deleted file mode 100644 index 2a7751511..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 116bc8f7a6034ce43053876a72a132fcd4e1e472 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 20 Feb 2019 19:53:07 +0100 -Subject: [PATCH] loaders.cache: depend on loaders being fully build - -Otherwise, races have been observed: -https://autobuilder.yoctoproject.org/typhoon/#/builders/61/builds/310/steps/7/logs/step1b - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin - ---- - gdk-pixbuf/meson.build | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build -index fc3eb33..4e7ed20 100644 ---- a/gdk-pixbuf/meson.build -+++ b/gdk-pixbuf/meson.build -@@ -171,6 +171,7 @@ gdkpixbuf_dep = declare_dependency(link_with: gdkpixbuf, - # Now check if we are building loaders as installed shared modules - # We do this here because shared modules depend on libgdk-pixbuf - dynamic_loaders = [] -+dynamic_loaders_dep = [] - - foreach l: loaders - name = l[0] -@@ -189,6 +190,7 @@ foreach l: loaders - - # We need the path to build loaders.cache for tests - dynamic_loaders += mod.full_path() -+ dynamic_loaders_dep += mod - endif - endforeach - -@@ -206,6 +208,7 @@ if enable_native_windows_loaders - install: true, - install_dir: gdk_pixbuf_loaderdir) - dynamic_loaders += mod.full_path() -+ dynamic_loaders_dep += mod - endforeach - endif - endif -@@ -236,6 +239,7 @@ if not meson.is_cross_build() - loaders_cache = custom_target('loaders.cache', - output: 'loaders.cache', - capture: true, -+ depends: [ dynamic_loaders_dep ], - command: [ - gdk_pixbuf_query_loaders, - dynamic_loaders, diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch index 928962d23..a9c7600eb 100644 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch @@ -1,4 +1,4 @@ -From 6fc7f341399ec49ab06c94426f50dbdca49a2844 Mon Sep 17 00:00:00 2001 +From 2d1b65bd1272ad63b7fbd4babd9a8e8c296d15b5 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 22 Feb 2019 13:22:06 +0100 Subject: [PATCH] (target only) Work-around thumbnailer and pixdata @@ -15,6 +15,7 @@ The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057 Upstream-Status: Inappropriate [workaround] Signed-off-by: Alexander Kanavin + --- build-aux/gen-thumbnailer.py | 2 -- tests/meson.build | 11 +++++++++-- @@ -35,7 +36,7 @@ index 05ac821..c5b99ab 100644 if os.name == 'nt': gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata) diff --git a/tests/meson.build b/tests/meson.build -index 4fa3fbc..eca5166 100644 +index 8ed7cc1..e011b77 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -1,12 +1,19 @@ @@ -91,6 +92,3 @@ index aaafec8..71bd61b 100644 ], install: true, install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) --- -2.17.1 - diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch new file mode 100644 index 000000000..0fe13a387 --- /dev/null +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch @@ -0,0 +1,28 @@ +From 1a532e090c558a830de9503f56e23414e880bb95 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 5 Jun 2019 14:17:55 +0200 +Subject: [PATCH] Build thumbnailer and tests also in cross builds. + +Upstream-Status: Inappropriate [relies on oe-core specific hacks] +Signed-off-by: Alexander Kanavin +--- + meson.build | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index d104cea..7acb88a 100644 +--- a/meson.build ++++ b/meson.build +@@ -397,10 +397,8 @@ endif + # i18n + subdir('po') + +-if not meson.is_cross_build() +- subdir('tests') +- subdir('thumbnailer') +-endif ++subdir('tests') ++subdir('thumbnailer') + + # Documentation + subdir('docs') diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb deleted file mode 100644 index 7fef697f3..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb +++ /dev/null @@ -1,124 +0,0 @@ -SUMMARY = "Image loading library for GTK+" -HOMEPAGE = "http://www.gtk.org/" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ - file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \ - " - -SECTION = "libs" - -DEPENDS = "glib-2.0 gdk-pixbuf-native shared-mime-info" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ - file://run-ptest \ - file://fatal-loader.patch \ - file://0001-Work-around-thumbnailer-cross-compile-failure.patch \ - file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \ - file://0001-loaders.cache-depend-on-loaders-being-fully-build.patch \ - file://0004-Do-not-run-tests-when-building.patch \ - " - -SRC_URI_append_class-target = " \ - file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \ - " -SRC_URI_append_class-nativesdk = " \ - file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \ - " - -SRC_URI[md5sum] = "77765f24496dc8c90c6e0cbe10fd8f0e" -SRC_URI[sha256sum] = "dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47" - -inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package - -GIR_MESON_OPTION = 'gir' - -EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}" - -LIBV = "2.10.0" - -GDK_PIXBUF_LOADERS ?= "png jpeg" - -PACKAGECONFIG ??= "${GDK_PIXBUF_LOADERS}" -PACKAGECONFIG_linuxstdbase = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${GDK_PIXBUF_LOADERS}" -PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}" - -PACKAGECONFIG[png] = "-Dpng=true,-Dpng=false,libpng" -PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg" -PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff" -PACKAGECONFIG[jpeg2000] = "-Djasper=true,-Djasper=false,jasper" - -PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,virtual/libx11" - -PACKAGES =+ "${PN}-xlib" - -# For GIO image type sniffing -RDEPENDS_${PN} = "shared-mime-info" - -FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" -ALLOW_EMPTY_${PN}-xlib = "1" - -FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" - -FILES_${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer" - -FILES_${PN}-dev += " \ - ${bindir}/gdk-pixbuf-csource \ - ${bindir}/gdk-pixbuf-pixdata \ - ${bindir}/gdk-pixbuf-print-mime-types \ - ${includedir}/* \ - ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \ -" - -PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*" -PACKAGES_DYNAMIC_class-native = "" - -python populate_packages_prepend () { - postinst_pixbufloader = d.getVar("postinst_pixbufloader") - - loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders') - - packages = ' '.join(do_split_packages(d, loaders_root, r'^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s')) - d.setVar('PIXBUF_PACKAGES', packages) - - # The test suite exercises all the loaders, so ensure they are all - # dependencies of the ptest package. - d.appendVar("RDEPENDS_%s-ptest" % d.getVar('PN'), " " + packages) -} - -do_install_append() { - # Copy gdk-pixbuf-query-loaders into libdir so it is always available - # in multilib builds. - cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/ - -} - -do_install_append_class-native() { - find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; - - create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \ - XDG_DATA_DIRS=${STAGING_DATADIR} \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - - create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \ - XDG_DATA_DIRS=${STAGING_DATADIR} \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - - create_wrapper ${D}/${bindir}/gdk-pixbuf-print-mime-types \ - XDG_DATA_DIRS=${STAGING_DATADIR} \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - - create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \ - XDG_DATA_DIRS=${STAGING_DATADIR} \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ - GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders - - create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \ - XDG_DATA_DIRS=${STAGING_DATADIR} \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ - GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders -} -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb new file mode 100644 index 000000000..3145cc208 --- /dev/null +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb @@ -0,0 +1,124 @@ +SUMMARY = "Image loading library for GTK+" +HOMEPAGE = "http://www.gtk.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \ + " + +SECTION = "libs" + +DEPENDS = "glib-2.0 gdk-pixbuf-native shared-mime-info" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ + file://run-ptest \ + file://fatal-loader.patch \ + file://0001-Work-around-thumbnailer-cross-compile-failure.patch \ + file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \ + file://0004-Do-not-run-tests-when-building.patch \ + file://0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch \ + " + +SRC_URI_append_class-target = " \ + file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \ + " +SRC_URI_append_class-nativesdk = " \ + file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \ + " + +SRC_URI[md5sum] = "f6ba2195acd18c5c9555421f30c31cc1" +SRC_URI[sha256sum] = "f19ff836ba991031610dcc53774e8ca436160f7d981867c8c3a37acfe493ab3a" + +inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package + +GIR_MESON_OPTION = 'gir' + +EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}" + +LIBV = "2.10.0" + +GDK_PIXBUF_LOADERS ?= "png jpeg" + +PACKAGECONFIG ??= "${GDK_PIXBUF_LOADERS}" +PACKAGECONFIG_linuxstdbase = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${GDK_PIXBUF_LOADERS}" +PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}" + +PACKAGECONFIG[png] = "-Dpng=true,-Dpng=false,libpng" +PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg" +PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff" +PACKAGECONFIG[jpeg2000] = "-Djasper=true,-Djasper=false,jasper" + +PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,virtual/libx11" + +PACKAGES =+ "${PN}-xlib" + +# For GIO image type sniffing +RDEPENDS_${PN} = "shared-mime-info" + +FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" +ALLOW_EMPTY_${PN}-xlib = "1" + +FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" + +FILES_${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer" + +FILES_${PN}-dev += " \ + ${bindir}/gdk-pixbuf-csource \ + ${bindir}/gdk-pixbuf-pixdata \ + ${bindir}/gdk-pixbuf-print-mime-types \ + ${includedir}/* \ + ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \ +" + +PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*" +PACKAGES_DYNAMIC_class-native = "" + +python populate_packages_prepend () { + postinst_pixbufloader = d.getVar("postinst_pixbufloader") + + loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders') + + packages = ' '.join(do_split_packages(d, loaders_root, r'^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s')) + d.setVar('PIXBUF_PACKAGES', packages) + + # The test suite exercises all the loaders, so ensure they are all + # dependencies of the ptest package. + d.appendVar("RDEPENDS_%s-ptest" % d.getVar('PN'), " " + packages) +} + +do_install_append() { + # Copy gdk-pixbuf-query-loaders into libdir so it is always available + # in multilib builds. + cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/ + +} + +do_install_append_class-native() { + find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; + + create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \ + XDG_DATA_DIRS=${STAGING_DATADIR} \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + + create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \ + XDG_DATA_DIRS=${STAGING_DATADIR} \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + + create_wrapper ${D}/${bindir}/gdk-pixbuf-print-mime-types \ + XDG_DATA_DIRS=${STAGING_DATADIR} \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + + create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \ + XDG_DATA_DIRS=${STAGING_DATADIR} \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ + GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders + + create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \ + XDG_DATA_DIRS=${STAGING_DATADIR} \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ + GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders +} +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch index 43abdcd85..4a9836331 100644 --- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch +++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch @@ -1,4 +1,4 @@ -From 499222d95a3d06bc425672d50e8c47868667250b Mon Sep 17 00:00:00 2001 +From 4409423752885f76326d05c1266698155f47c5f9 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Tue, 30 May 2017 14:55:49 +0300 Subject: [PATCH] Don't use AC_CANONICAL_HOST @@ -14,12 +14,12 @@ Signed-off-by: Jussi Kukkonen 1 file changed, 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 38e64bd..6ed480e 100644 +index 4a84501..52dbb8e 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,6 @@ AC_PREREQ(2.53) - AC_INIT([adwaita-icon-theme], [3.30.1], + AC_INIT([adwaita-icon-theme], [3.32.0], [http://bugzilla.gnome.org/enter_bug.cgi?product=adwaita-icon-theme]) -AC_CANONICAL_HOST AC_CONFIG_MACRO_DIR([m4]) diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb deleted file mode 100644 index 8eadbd2ee..000000000 --- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "GTK+ icon theme" -HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/adwaita-icon-theme/" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "x11/gnome" - -LICENSE = "LGPL-3.0 | CC-BY-SA-3.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c" - -inherit allarch autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ - file://0001-Don-t-use-AC_CANONICAL_HOST.patch \ - file://0001-Run-installation-commands-as-shell-jobs.patch \ - " - -SRC_URI[md5sum] = "db3fd812821d72fdd9a3c7d622a95b35" -SRC_URI[sha256sum] = "6d752a2b1bc668483956d4485c39cad1642d9358e133ff689526e43674a4e1ce" - -DEPENDS += "librsvg-native" - -PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}" - -RREPLACES_${PN} = "gnome-icon-theme" -RCONFLICTS_${PN} = "gnome-icon-theme" -RPROVIDES_${PN} = "gnome-icon-theme" - -FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/" -FILES_${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \ - ${prefix}/share/icons/Adwaita/64x64/*/*.symbolic.png \ - ${prefix}/share/icons/Adwaita/48x48/*/*.symbolic.png \ - ${prefix}/share/icons/Adwaita/32x32/*/*.symbolic.png" -FILES_${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \ - ${prefix}/share/icons/Adwaita/24x24/*/*.symbolic.png \ - ${prefix}/share/icons/Adwaita/scalable/*/*-symbolic*.svg" -FILES_${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \ - ${prefix}/share/icons/Adwaita/512x512/" -FILES_${PN} = "${prefix}/share/icons/Adwaita/ \ - ${prefix}/share/pkgconfig/adwaita-icon-theme.pc" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.32.0.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.32.0.bb new file mode 100644 index 000000000..02676f440 --- /dev/null +++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.32.0.bb @@ -0,0 +1,41 @@ +SUMMARY = "GTK+ icon theme" +HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/adwaita-icon-theme/" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/gnome" + +LICENSE = "LGPL-3.0 | CC-BY-SA-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c" + +inherit allarch autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ + file://0001-Don-t-use-AC_CANONICAL_HOST.patch \ + file://0001-Run-installation-commands-as-shell-jobs.patch \ + " + +SRC_URI[md5sum] = "4b16278cfed860a86c8221de62eec151" +SRC_URI[sha256sum] = "698db6e407bb987baec736c6a30216dfc0317e3ca2403c7adf3a5aa46c193286" + +DEPENDS += "librsvg-native" + +PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}" + +RREPLACES_${PN} = "gnome-icon-theme" +RCONFLICTS_${PN} = "gnome-icon-theme" +RPROVIDES_${PN} = "gnome-icon-theme" + +FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/" +FILES_${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \ + ${prefix}/share/icons/Adwaita/64x64/*/*.symbolic.png \ + ${prefix}/share/icons/Adwaita/48x48/*/*.symbolic.png \ + ${prefix}/share/icons/Adwaita/32x32/*/*.symbolic.png" +FILES_${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \ + ${prefix}/share/icons/Adwaita/24x24/*/*.symbolic.png \ + ${prefix}/share/icons/Adwaita/scalable/*/*-symbolic*.svg" +FILES_${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \ + ${prefix}/share/icons/Adwaita/512x512/" +FILES_${PN} = "${prefix}/share/icons/Adwaita/ \ + ${prefix}/share/pkgconfig/adwaita-icon-theme.pc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch new file mode 100644 index 000000000..c481b18f1 --- /dev/null +++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch @@ -0,0 +1,33 @@ +From 42e58c4c3e95a4a78ee8294f9b3901726bbbabe4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Sat, 11 May 2019 00:21:11 +0200 +Subject: [PATCH] Do not skip gir installation for cross compiling +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We are cool and can handle cross gobject-introspection. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Andreas Müller +--- + headers/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/headers/meson.build b/headers/meson.build +index 3ce8b61..1132695 100644 +--- a/headers/meson.build ++++ b/headers/meson.build +@@ -19,7 +19,7 @@ enums_xml = custom_target( + install: true, + install_dir: schemasdir) + +-if not meson.is_cross_build() and get_option('introspection') ++if get_option('introspection') + noinst_lib = shared_library('noinst', + headers, + install: false) +-- +2.20.1 + diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb deleted file mode 100644 index 693c109d8..000000000 --- a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "GNOME desktop-wide GSettings schemas" -HOMEPAGE = "http://live.gnome.org/gsettings-desktop-schemas" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "glib-2.0 intltool-native" - -inherit gnomebase gsettings gettext gobject-introspection upstream-version-is-even - -SRC_URI[archive.md5sum] = "83bb19d025f126fae495ab43a2f26f40" -SRC_URI[archive.sha256sum] = "f88ea6849ffe897c51cfeca5e45c3890010c82c58be2aee18b01349648e5502f" diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb new file mode 100644 index 000000000..859f70466 --- /dev/null +++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "GNOME desktop-wide GSettings schemas" +HOMEPAGE = "http://live.gnome.org/gsettings-desktop-schemas" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "glib-2.0" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even + +SRC_URI[archive.md5sum] = "0c2d468a482c12594757442c983aa8ea" +SRC_URI[archive.sha256sum] = "2d59b4b3a548859dfae46314ee4666787a00d5c82db382e97df7aa9d0e310a35" +SRC_URI += "file://0001-Do-not-skip-gir-installation-for-cross-compiling.patch" diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch index e5a67d098..852dc9dfc 100644 --- a/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch +++ b/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch @@ -1,4 +1,4 @@ -From 9e243474eea4330b593e0f6dd418b61b79699d8b Mon Sep 17 00:00:00 2001 +From d11b41a7ff0234f3832d6aabdf498807d1463c18 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Tue, 21 Jun 2016 15:11:39 +0300 Subject: [PATCH] Add --disable-opengl configure option @@ -25,6 +25,7 @@ Signed-off-by: Jussi Kukkonen demos/gtk-demo/glarea.c | 14 ++++++ docs/tools/Makefile.am | 9 +++- docs/tools/widgets.c | 4 +- + gdk/Makefile.am | 8 ++- gdk/gdkdisplay.c | 4 +- gdk/gdkgl.c | 10 ++++ gdk/gdkglcontext.c | 6 +++ @@ -41,15 +42,15 @@ Signed-off-by: Jussi Kukkonen gtk/inspector/general.c | 6 +++ tests/Makefile.am | 10 ++-- testsuite/gtk/objects-finalize.c | 2 + - 20 files changed, 202 insertions(+), 18 deletions(-) + 21 files changed, 208 insertions(+), 20 deletions(-) rename gdk/x11/{gdkx.h => gdkx-with-gl-context.h} (98%) create mode 100644 gdk/x11/gdkx-without-gl-context.h diff --git a/configure.ac b/configure.ac -index a91b29c..561d3b5 100644 +index 2c4733b..18ae66c 100644 --- a/configure.ac +++ b/configure.ac -@@ -351,6 +351,15 @@ AC_ARG_ENABLE(cloudproviders, +@@ -352,6 +352,15 @@ AC_ARG_ENABLE(cloudproviders, [AS_HELP_STRING([--enable-cloudproviders], [enable libcloudproviders integration])], [cloudproviders_set=yes]) @@ -65,21 +66,21 @@ index a91b29c..561d3b5 100644 AC_ARG_ENABLE(glx, [AS_HELP_STRING([--enable-glx], [When enabled Gdk will try to initialize GLX])]) -@@ -1381,7 +1390,7 @@ CFLAGS="$saved_cflags" +@@ -1370,7 +1379,7 @@ CFLAGS="$saved_cflags" LDFLAGS="$saved_ldflags" GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version" --GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES" -+GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES" +-GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES fribidi >= fribidi_required_version" ++GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES fribidi >= fribidi_required_version" PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES) GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB" -@@ -1415,7 +1424,7 @@ fi +@@ -1404,7 +1413,7 @@ fi PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) GTK_PACKAGES="atk >= atk_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version gdk-pixbuf-2.0 >= gdk_pixbuf_required_version gio-2.0 >= glib_required_version" --GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES epoxy >= epoxy_required_version" -+GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $EPOXY_PACKAGES" +-GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES epoxy >= epoxy_required_version fribidi >= fribidi_required_version" ++GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $EPOXY_PACKAGES fribidi >= fribidi_required_version" if test "x$enable_x11_backend" = xyes -o "x$enable_wayland_backend" = xyes; then GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2" fi @@ -208,11 +209,44 @@ index 932daf1..54239d6 100644 info = new_widget_info ("glarea", widget, MEDIUM); return info; +diff --git a/gdk/Makefile.am b/gdk/Makefile.am +index 689ee52..d6b4e70 100644 +--- a/gdk/Makefile.am ++++ b/gdk/Makefile.am +@@ -274,7 +274,6 @@ x11_introspection_files = \ + x11/gdkeventsource.c \ + x11/gdkeventtranslator.c \ + x11/gdkgeometry-x11.c \ +- x11/gdkglcontext-x11.c \ + x11/gdkkeys-x11.c \ + x11/gdkmain-x11.c \ + x11/gdkmonitor-x11.c \ +@@ -300,7 +299,6 @@ x11_introspection_files = \ + x11/gdkx11display.h \ + x11/gdkx11displaymanager.h \ + x11/gdkx11dnd.h \ +- x11/gdkx11glcontext.h \ + x11/gdkx11keys.h \ + x11/gdkx11monitor.h \ + x11/gdkx11property.h \ +@@ -310,6 +308,12 @@ x11_introspection_files = \ + x11/gdkx11visual.h \ + x11/gdkx11window.h + ++if HAVE_OPENGL ++x11_introspection_files += \ ++ x11/gdkglcontext-x11.c \ ++ x11/gdkx11glcontext.h ++endif ++ + GdkX11-3.0.gir: libgdk-3.la Gdk-3.0.gir Makefile + GdkX11_3_0_gir_SCANNERFLAGS = \ + --identifier-prefix=Gdk \ diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c -index 40225e9..c55e1de 100644 +index 06d4187..832711c 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c -@@ -2406,7 +2406,9 @@ gboolean +@@ -2416,7 +2416,9 @@ gboolean gdk_display_make_gl_context_current (GdkDisplay *display, GdkGLContext *context) { @@ -346,7 +380,7 @@ index dfbed63..556f0a3 100644 /** diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c -index 6b231f0..904b86d 100644 +index 1416409..e3b5630 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -45,7 +45,9 @@ @@ -478,7 +512,7 @@ index 6289f3a..cbbac79 100644 + -include $(top_srcdir)/git.mk diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c -index 659b9fa..b15536b 100644 +index 5b95196..9a2f2a2 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -37,7 +37,9 @@ @@ -491,7 +525,7 @@ index 659b9fa..b15536b 100644 #include "gdk-private.h" #include -@@ -3194,7 +3196,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class) +@@ -3184,7 +3186,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class) display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list; display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target; @@ -516,7 +550,7 @@ index 272cecd..2bb34ac 100644 +void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {} +#endif diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c -index c6205e4..df2334f 100644 +index f92a146..89f900a 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -36,7 +36,9 @@ @@ -529,7 +563,7 @@ index c6205e4..df2334f 100644 #include "gdkprivate-x11.h" #include "gdk-private.h" -@@ -5804,7 +5806,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) +@@ -5839,7 +5841,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->set_opaque_region = gdk_x11_window_set_opaque_region; impl_class->set_shadow_width = gdk_x11_window_set_shadow_width; impl_class->show_window_menu = gdk_x11_window_show_window_menu; @@ -633,17 +667,18 @@ index 0000000..c9e2617 + +#endif /* __GDK_X_H__ */ diff --git a/gtk/Makefile.am b/gtk/Makefile.am -index 5594429..2259bb3 100644 +index e556e9d..ce912d7 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am -@@ -1434,14 +1434,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins. +@@ -1441,7 +1441,6 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins. && cp xgen-gptbc gtkprivatetypebuiltins.c \ && rm -f xgen-gptbc - gtktypefuncs.c: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_srcdir)/gtk/*.h $(top_srcdir)/gtk/a11y/*.h $(top_srcdir)/gtk/deprecated/*.h $(top_srcdir)/gdk/*.h Makefile - $(AM_V_GEN) (echo '#undef GTK_COMPILATION' && echo '#include ') > xgen-gtfsrc.c && \ - echo 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS' > xgen-gtf && \ + $(AM_V_GEN) export LC_ALL=C ; \ + (echo '#undef GTK_COMPILATION' && echo '#include ') > xgen-gtfsrc.c && \ +@@ -1449,7 +1448,7 @@ gtktypefuncs.c: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_src ${CPP} $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \ $(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \ sort | uniq | \ diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb deleted file mode 100644 index 92c9a3ebf..000000000 --- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb +++ /dev/null @@ -1,19 +0,0 @@ -require gtk+3.inc - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \ - file://0001-Hardcoded-libtool.patch \ - file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \ - file://0003-Add-disable-opengl-configure-option.patch \ - file://link_fribidi.patch \ - " -SRC_URI[md5sum] = "32862355c08f6af3e7848c695cd4081b" -SRC_URI[sha256sum] = "0be5fb0d302bc3de26ab58c32990d895831e2b7c7418d0ffea1206d6a3ddb02f" - -S = "${WORKDIR}/gtk+-${PV}" - -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ - file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ - file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ - file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.8.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.8.bb new file mode 100644 index 000000000..d79b18bee --- /dev/null +++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.8.bb @@ -0,0 +1,19 @@ +require gtk+3.inc + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \ + file://0001-Hardcoded-libtool.patch \ + file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \ + file://0003-Add-disable-opengl-configure-option.patch \ + file://link_fribidi.patch \ + " +SRC_URI[md5sum] = "eeedde01856238114dcf4df3ebc942a5" +SRC_URI[sha256sum] = "666962de9b9768fe9ca785b0e2f42c8b9db3868a12fa9b356b167238d70ac799" + +S = "${WORKDIR}/gtk+-${PV}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ + file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ + file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" diff --git a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch index 9b128e1ce..3e973a16e 100644 --- a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch +++ b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch @@ -1,4 +1,4 @@ -From 04af15322f677db42ecc2acc465334a04de9a871 Mon Sep 17 00:00:00 2001 +From a3f69f2ed45efbdaee47c2dde4df3d78323300e5 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 5 Sep 2016 22:25:44 +0100 Subject: [PATCH] Use native pkg-config when looking for gtk-doc. @@ -7,10 +7,10 @@ Upstream-Status: Inappropriate Signed-off-by: Ross Burton --- - gtk-doc.m4 | 7 ++++++- + buildsystems/autotools/gtk-doc.m4 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -diff --git a/gtk-doc.m4 b/gtk-doc.m4 +diff --git a/buildsystems/autotools/gtk-doc.m4 b/buildsystems/autotools/gtk-doc.m4 index 2d12f01..e5afc3f 100644 --- a/buildsystems/autotools/gtk-doc.m4 +++ b/buildsystems/autotools/gtk-doc.m4 diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb deleted file mode 100644 index 2c4ee175a..000000000 --- a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "Documentation generator for glib-based software" -DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \ - from glib-based software and produce a set of html documentation files from them" -HOMEPAGE = "http://www.gtk.org/gtk-doc/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -inherit gnomebase - -# Configure the scripts correctly (and build their dependencies) only if they are actually -# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball. -PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}" - -# This will cause target gtk-doc to hardcode paths of native dependencies -# into its scripts. This means that target gtk-doc package is broken; -# hopefully no one minds because its scripts are not used for anything during build -# and shouldn't be used on targets. -PACKAGECONFIG[working-scripts] = "--with-highlight=source-highlight,--with-highlight=no,libxslt-native xmlto-native source-highlight-native python3-six" -PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0" - -SRC_URI[archive.md5sum] = "df26a38c209b3d7358f26268fcbdb9e3" -SRC_URI[archive.sha256sum] = "14578e002496567276d310a62c9ffd6c56ee8806ce5079ffb0b81c4111f586b1" -SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \ - file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \ - file://conditionaltests.patch \ - file://no-clobber.patch \ - " -SRC_URI_append_class-native = " file://pkg-config-native.patch" - -BBCLASSEXTEND = "native nativesdk" - -# Do not check for XML catalogs when building because that -# information is not used for anything during build. Recipe -# dependencies make sure we have all the right bits. -do_configure_prepend() { - sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac -} - -FILES_${PN} += "${datadir}/sgml" -FILES_${PN}-dev += "${libdir}/cmake" -FILES_${PN}-doc = "" - -SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess" -gtkdoc_makefiles_sysroot_preprocess() { - # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries - # instead of libtool wrapper or running them directly - sed -i \ - -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \ - ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make -} diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb new file mode 100644 index 000000000..f16847e40 --- /dev/null +++ b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb @@ -0,0 +1,50 @@ +SUMMARY = "Documentation generator for glib-based software" +DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \ + from glib-based software and produce a set of html documentation files from them" +HOMEPAGE = "http://www.gtk.org/gtk-doc/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +inherit gnomebase + +# Configure the scripts correctly (and build their dependencies) only if they are actually +# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball. +PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}" + +# This will cause target gtk-doc to hardcode paths of native dependencies +# into its scripts. This means that target gtk-doc package is broken; +# hopefully no one minds because its scripts are not used for anything during build +# and shouldn't be used on targets. +PACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments" +PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0" + +SRC_URI[archive.md5sum] = "1045ba29ca0693ced2045523407aae4c" +SRC_URI[archive.sha256sum] = "a4f6448eb838ccd30d76a33b1fd095f81aea361f03b12c7b23df181d21b7069e" +SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \ + file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \ + file://conditionaltests.patch \ + file://no-clobber.patch \ + " +SRC_URI_append_class-native = " file://pkg-config-native.patch" + +BBCLASSEXTEND = "native nativesdk" + +# Do not check for XML catalogs when building because that +# information is not used for anything during build. Recipe +# dependencies make sure we have all the right bits. +do_configure_prepend() { + sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac +} + +FILES_${PN} += "${datadir}/sgml" +FILES_${PN}-dev += "${libdir}/cmake" +FILES_${PN}-doc = "" + +SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess" +gtkdoc_makefiles_sysroot_preprocess() { + # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries + # instead of libtool wrapper or running them directly + sed -i \ + -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \ + ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make +} diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb deleted file mode 100644 index dac59f86b..000000000 --- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+." -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase upstream-version-is-even vala distro_features_check gobject-introspection - -DEPENDS = "glib-2.0-native glib-2.0 gtk+3" - -SRC_URI[archive.md5sum] = "5f6455ebc47e86f63b9579997137f391" -SRC_URI[archive.sha256sum] = "238da19fdcc3ae9bb0c2d781d099fb8c6ec70c4dd3dffad80d230344ecc3f972" - -GIR_MESON_OPTION = 'with_introspection' - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb new file mode 100644 index 000000000..58e78a5b7 --- /dev/null +++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb @@ -0,0 +1,15 @@ +SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+." +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase upstream-version-is-even vala distro_features_check gobject-introspection + +DEPENDS = "glib-2.0-native glib-2.0 gtk+3" + +SRC_URI[archive.md5sum] = "b5c99a8f483a0defe7c7124a3220e412" +SRC_URI[archive.sha256sum] = "413f8dfb8706760e0c649e2994bd10524ac0736601dd03ad2036293bed3bf141" + +GIR_MESON_OPTION = 'with_introspection' + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" diff --git a/poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch b/poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch new file mode 100644 index 000000000..954bb6088 --- /dev/null +++ b/poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch @@ -0,0 +1,35 @@ +From b99891e31eb6ce550e7e1cb2ca592095b3050a93 Mon Sep 17 00:00:00 2001 +From: Brion Vibber +Date: Sun, 25 Feb 2018 18:42:36 -0800 +Subject: Auto-detect -Bsymbolic, fixes configure on macOS + +The -Bsymbolic linker option is ELF-specific, and was breaking +configure on macOS unless --disable-Bsymbolic was explicitly passed. + +Switching the behavior from requiring -Bsymbolic to be available +by default to just warning and continuing on without. + +Fixes https://gitlab.gnome.org/GNOME/librsvg/issues/211 + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 15b26b2d..9f8dce29 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -216,7 +216,7 @@ AM_CONDITIONAL([ENABLE_PIXBUF_LOADER],[test "$enable_pixbuf_loader" = "yes"]) + AC_ARG_ENABLE([Bsymbolic], + [AS_HELP_STRING([--disable-Bsymbolic], + [disable linking with -Bsymbolic])], +- [],[enable_Bsymbolic=yes]) ++ [enable_Bsymbolic=no],[enable_Bsymbolic=auto]) + + BSYMBOLIC_LDFLAG= + if test "$enable_Bsymbolic" != "no"; then +-- +2.20.1 + diff --git a/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb b/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb index e376d52ef..6a798e6a9 100644 --- a/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb +++ b/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb @@ -14,17 +14,15 @@ BBCLASSEXTEND = "native" inherit gnomebase gtk-doc pixbufcache upstream-version-is-even gobject-introspection -SRC_URI += "file://gtk-option.patch" +SRC_URI += "file://gtk-option.patch \ + file://0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch \ +" SRC_URI[archive.md5sum] = "4949d313b0c5d9161a5c259104af5568" SRC_URI[archive.sha256sum] = "cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b" CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" -# The older ld (2.22) on the host (Centos 6.5) doesn't have the -# -Bsymbolic-functions option, we can disable it for native. -EXTRA_OECONF_append_class-native = " --enable-Bsymbolic=auto" - PACKAGECONFIG ??= "gdkpixbuf" # The gdk-pixbuf loader PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native" diff --git a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb index c2628ae0c..f32e9ba1b 100644 --- a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb +++ b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb @@ -10,12 +10,12 @@ HOMEPAGE = "http://cairographics.org" BUGTRACKER = "http://bugs.freedesktop.org" SECTION = "libs" -LICENSE = "MPL-1 & LGPLv2.1 & GPLv3+" -LICENSE_${PN} = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-dev = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-doc = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-gobject = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-script-interpreter = "MPL-1 & LGPLv2.1" +LICENSE = "MPL-1.1 & LGPLv2.1 & GPLv3+" +LICENSE_${PN} = "MPL-1.1 & LGPLv2.1" +LICENSE_${PN}-dev = "MPL-1.1 & LGPLv2.1" +LICENSE_${PN}-doc = "MPL-1.1 & LGPLv2.1" +LICENSE_${PN}-gobject = "MPL-1.1 & LGPLv2.1" +LICENSE_${PN}-script-interpreter = "MPL-1.1 & LGPLv2.1" LICENSE_${PN}-perf-utils = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" diff --git a/poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb b/poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb new file mode 100644 index 000000000..200f43c21 --- /dev/null +++ b/poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb @@ -0,0 +1,49 @@ +SUMMARY = "Freetype font rendering library" +DESCRIPTION = "FreeType is a software font engine that is designed to be small, efficient, \ +highly customizable, and portable while capable of producing high-quality output (glyph \ +images). It can be used in graphics libraries, display servers, font conversion tools, text \ +image generation tools, and many other products as well." +HOMEPAGE = "http://www.freetype.org/" +BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype" +SECTION = "libs" + +LICENSE = "FreeType | GPLv2+" +LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=4af6221506f202774ef74f64932878a1 \ + file://docs/FTL.TXT;md5=9f37b4e6afa3fef9dba8932b16bd3f97 \ + file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec" + +SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \ + file://use-right-libtool.patch \ + " + +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/freetype/files/freetype2/" +UPSTREAM_CHECK_REGEX = "freetype-(?P\d+(\.\d+)+)" + +SRC_URI[md5sum] = "a717e6925b61b9dda946322ecd278a42" +SRC_URI[sha256sum] = "fccc62928c65192fff6c98847233b28eb7ce05f12d2fea3f6cc90e8b4e5fbe06" + +inherit autotools pkgconfig multilib_header + +# Adapt autotools to work with the minimal autoconf usage in freetype +AUTOTOOLS_SCRIPT_PATH = "${S}/builds/unix" +CONFIGURE_SCRIPT = "${S}/configure" +EXTRA_AUTORECONF += "--exclude=autoheader --exclude=automake" + +PACKAGECONFIG ??= "zlib" + +PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2" +# harfbuzz results in a circular dependency so enabling is non-trivial +PACKAGECONFIG[harfbuzz] = "--with-harfbuzz,--without-harfbuzz,harfbuzz" +PACKAGECONFIG[pixmap] = "--with-png,--without-png,libpng" +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" +PACKAGECONFIG[freetypeconfig] = "--enable-freetype-config=yes,--enable-freetype-config=no," + +EXTRA_OECONF = "CC_BUILD='${BUILD_CC}'" + +TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64" + +do_install_append() { + oe_multilib_header freetype2/freetype/config/ftconfig.h +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb b/poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb deleted file mode 100644 index 1e6f66ee9..000000000 --- a/poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Freetype font rendering library" -DESCRIPTION = "FreeType is a software font engine that is designed to be small, efficient, \ -highly customizable, and portable while capable of producing high-quality output (glyph \ -images). It can be used in graphics libraries, display servers, font conversion tools, text \ -image generation tools, and many other products as well." -HOMEPAGE = "http://www.freetype.org/" -BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype" -SECTION = "libs" - -LICENSE = "FreeType | GPLv2+" -LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=4af6221506f202774ef74f64932878a1 \ - file://docs/FTL.TXT;md5=9f37b4e6afa3fef9dba8932b16bd3f97 \ - file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec" - -SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \ - file://use-right-libtool.patch \ - " - -UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/freetype/files/freetype2/" -UPSTREAM_CHECK_REGEX = "freetype-(?P\d+(\.\d+)+)" - -SRC_URI[md5sum] = "60ef7d8160cd4bf8cb118ee9d65367ca" -SRC_URI[sha256sum] = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d" - -inherit autotools pkgconfig multilib_header - -# Adapt autotools to work with the minimal autoconf usage in freetype -AUTOTOOLS_SCRIPT_PATH = "${S}/builds/unix" -CONFIGURE_SCRIPT = "${S}/configure" -EXTRA_AUTORECONF += "--exclude=autoheader --exclude=automake" - -PACKAGECONFIG ??= "zlib" - -PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2" -# harfbuzz results in a circular dependency so enabling is non-trivial -PACKAGECONFIG[harfbuzz] = "--with-harfbuzz,--without-harfbuzz,harfbuzz" -PACKAGECONFIG[pixmap] = "--with-png,--without-png,libpng" -PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" -PACKAGECONFIG[freetypeconfig] = "--enable-freetype-config=yes,--enable-freetype-config=no," - -EXTRA_OECONF = "CC_BUILD='${BUILD_CC}'" - -TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64" - -do_install_append() { - oe_multilib_header freetype2/freetype/config/ftconfig.h -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/libva/libva_2.4.0.bb b/poky/meta/recipes-graphics/libva/libva_2.4.0.bb deleted file mode 100644 index ffa1ab8f7..000000000 --- a/poky/meta/recipes-graphics/libva/libva_2.4.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Video Acceleration (VA) API for Linux" -DESCRIPTION = "Video Acceleration API (VA API) is a library (libVA) \ -and API specification which enables and provides access to graphics \ -hardware (GPU) acceleration for video processing on Linux and UNIX \ -based operating systems. Accelerated processing includes video \ -decoding, video encoding, subpicture blending and rendering. The \ -specification was originally designed by Intel for its GMA (Graphics \ -Media Accelerator) series of GPU hardware, the API is however not \ -limited to GPUs or Intel specific hardware, as other hardware and \ -manufacturers can also freely use this API for hardware accelerated \ -video decoding." - -HOMEPAGE = "https://01.org/linuxmedia/vaapi" -BUGTRACKER = "https://github.com/intel/libva/issues" - -SECTION = "x11" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" - -SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2" - -SRC_URI[md5sum] = "cfc69c2a5f526dd1858e098fb8eebfa6" -SRC_URI[sha256sum] = "99263056c21593a26f2ece812aee6fe60142b49e6cd46cb33c8dddf18fc19391" - -UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases" - -DEPENDS = "libdrm virtual/mesa" - -inherit autotools pkgconfig distro_features_check - -REQUIRED_DISTRO_FEATURES = "opengl" - -EXTRA_OECONF = "ac_cv_prog_WAYLAND_SCANNER=wayland-scanner" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland" - -PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland" - -RDEPENDS_${PN}-x11 =+ "${PN}" -RDEPENDS_${PN}-glx =+ "${PN}-x11" - -FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}" -FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}" -FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}" diff --git a/poky/meta/recipes-graphics/libva/libva_2.4.1.bb b/poky/meta/recipes-graphics/libva/libva_2.4.1.bb new file mode 100644 index 000000000..525721f0a --- /dev/null +++ b/poky/meta/recipes-graphics/libva/libva_2.4.1.bb @@ -0,0 +1,46 @@ +SUMMARY = "Video Acceleration (VA) API for Linux" +DESCRIPTION = "Video Acceleration API (VA API) is a library (libVA) \ +and API specification which enables and provides access to graphics \ +hardware (GPU) acceleration for video processing on Linux and UNIX \ +based operating systems. Accelerated processing includes video \ +decoding, video encoding, subpicture blending and rendering. The \ +specification was originally designed by Intel for its GMA (Graphics \ +Media Accelerator) series of GPU hardware, the API is however not \ +limited to GPUs or Intel specific hardware, as other hardware and \ +manufacturers can also freely use this API for hardware accelerated \ +video decoding." + +HOMEPAGE = "https://01.org/linuxmedia/vaapi" +BUGTRACKER = "https://github.com/intel/libva/issues" + +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" + +SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2" + +SRC_URI[md5sum] = "5b5ace9de3f07cb7b8f4d19b6979adf0" +SRC_URI[sha256sum] = "e9e053908591b121793eaa5d8aa37675b4cd3af4b12f1f377dff4767f39cee70" + +UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases" + +DEPENDS = "libdrm virtual/mesa" + +inherit autotools pkgconfig distro_features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +EXTRA_OECONF = "ac_cv_prog_WAYLAND_SCANNER=wayland-scanner" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland" + +PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland" + +RDEPENDS_${PN}-x11 =+ "${PN}" +RDEPENDS_${PN}-glx =+ "${PN}-x11" + +FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}" +FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}" +FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}" diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch index 61e24c6e9..0064dc643 100644 --- a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch +++ b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch @@ -1,7 +1,7 @@ -From 498f230c9446fc7a1b4dc77ff6b84ee1a3b53bf4 Mon Sep 17 00:00:00 2001 +From da6b9188f29942684d4262f0c6264d09bb6fe7de Mon Sep 17 00:00:00 2001 From: Fabio Berton -Date: Wed, 24 Apr 2019 17:01:24 -0300 -Subject: [PATCH] meson.build: check for all linux host_os combinations +Date: Wed, 12 Jun 2019 13:40:20 -0300 +Subject: [PATCH 1/3] meson.build: check for all linux host_os combinations Organization: O.S. Systems Software LTDA. Make sure that we are also looking for our host_os combinations like @@ -9,6 +9,8 @@ linux-musl etc. when assuming support for DRM/KMS. Also delete a duplicate line. +Upstream-Status: Pending + Signed-off-by: Anuj Mittal Signed-off-by: Fabio Berton --- @@ -16,7 +18,7 @@ Signed-off-by: Fabio Berton 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build -index 53d02e31097..c41f6b4e402 100644 +index 8ab8a550f56..e11880f2902 100644 --- a/meson.build +++ b/meson.build @@ -34,6 +34,8 @@ cpp = meson.get_compiler('cpp') @@ -28,16 +30,16 @@ index 53d02e31097..c41f6b4e402 100644 # Arguments for the preprocessor, put these in a separate array from the C and # C++ (cpp in meson terminology) arguments since they need to be added to the # default arguments for both C and C++. -@@ -89,8 +91,6 @@ if (with_gles1 or with_gles2) and not with_opengl - error('building OpenGL ES without OpenGL is not supported.') - endif +@@ -107,8 +109,6 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2 + # Only build shared_glapi if at least one OpenGL API is enabled + with_shared_glapi = get_option('shared-glapi') and with_any_opengl -system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly', 'linux'].contains(host_machine.system()) - - _drivers = get_option('dri-drivers') - if _drivers.contains('auto') + dri_drivers = get_option('dri-drivers') + if dri_drivers.contains('auto') if system_has_kms_drm -@@ -792,7 +792,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));', +@@ -836,7 +836,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));', endif # TODO: this is very incomplete @@ -47,5 +49,5 @@ index 53d02e31097..c41f6b4e402 100644 endif -- -2.21.0 +2.22.0 diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch deleted file mode 100644 index 8fabafcb3..000000000 --- a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 48318f1a5c9042a8e1bb4456c2584362b25c4a59 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 15 May 2019 17:21:51 +0200 -Subject: [PATCH] meson.build: make TLS GLX optional again - -This was optional with autotools, and needs to be disabled -when using musl C library, for instance. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - meson.build | 4 +++- - meson_options.txt | 6 ++++++ - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index c41f6b4..8843f3c 100644 ---- a/meson.build -+++ b/meson.build -@@ -336,7 +336,9 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless) - endif - endif - --pre_args += '-DGLX_USE_TLS' -+if get_option('glx-tls') -+ pre_args += '-DGLX_USE_TLS' -+endif - if with_glx != 'disabled' - if not (with_platform_x11 and with_any_opengl) - error('Cannot build GLX support without X11 platform support and at least one OpenGL API') -diff --git a/meson_options.txt b/meson_options.txt -index ccf7065..0f1e800 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -324,3 +324,9 @@ option( - value : true, - description : 'Enable direct rendering in GLX and EGL for DRI', - ) -+option( -+ 'glx-tls', -+ type : 'boolean', -+ value : true, -+ description : 'Enable TLS support in GLX', -+) diff --git a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch new file mode 100644 index 000000000..81454aaa2 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch @@ -0,0 +1,54 @@ +From d31718999797ffc4dd177d14760ef7b8fd95ac2f Mon Sep 17 00:00:00 2001 +From: Fabio Berton +Date: Wed, 12 Jun 2019 14:15:57 -0300 +Subject: [PATCH 2/3] meson.build: make TLS GLX optional again +Organization: O.S. Systems Software LTDA. + +This was optional with autotools, and needs to be disabled +when using musl C library, for instance. + +Upstream-Status: Pending + +Signed-off-by: Alexander Kanavin +Signed-off-by: Fabio Berton +--- + meson.build | 4 +++- + meson_options.txt | 7 +++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index e11880f2902..7a07974ba61 100644 +--- a/meson.build ++++ b/meson.build +@@ -362,7 +362,9 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless) + endif + endif + +-pre_args += '-DGLX_USE_TLS' ++if get_option('glx-tls') ++ pre_args += '-DGLX_USE_TLS' ++endif + if with_glx != 'disabled' + if not (with_platform_x11 and with_any_opengl) + error('Cannot build GLX support without X11 platform support and at least one OpenGL API') +diff --git a/meson_options.txt b/meson_options.txt +index 1f72faabee8..fcd49efea27 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -339,6 +339,13 @@ option( + value : true, + description : 'Enable direct rendering in GLX and EGL for DRI', + ) ++option( ++ 'glx-tls', ++ type : 'boolean', ++ value : true, ++ description : 'Enable TLS support in GLX', ++) ++ + option( + 'I-love-half-baked-turnips', + type : 'boolean', +-- +2.22.0 + diff --git a/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch b/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch new file mode 100644 index 000000000..0f254a1d9 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch @@ -0,0 +1,48 @@ +From 417ff3a03313aa003244990ed5c0188c421e6181 Mon Sep 17 00:00:00 2001 +From: Fabio Berton +Date: Wed, 12 Jun 2019 14:18:31 -0300 +Subject: [PATCH 3/3] Allow enable DRI without DRI drivers +Organization: O.S. Systems Software LTDA. + +Upstream-Status: Pending + +Signed-off-by: Andrei Gherzan +Signed-off-by: Fabio Berton +--- + meson.build | 2 +- + meson_options.txt | 6 ++++++ + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 7a07974ba61..5c7cbe38376 100644 +--- a/meson.build ++++ b/meson.build +@@ -137,7 +137,7 @@ with_dri_r200 = dri_drivers.contains('r200') + with_dri_nouveau = dri_drivers.contains('nouveau') + with_dri_swrast = dri_drivers.contains('swrast') + +-with_dri = dri_drivers.length() != 0 and dri_drivers != [''] ++with_dri = get_option('dri') or (_drivers.length() != 0 and _drivers != ['']) + + gallium_drivers = get_option('gallium-drivers') + if gallium_drivers.contains('auto') +diff --git a/meson_options.txt b/meson_options.txt +index fcd49efea27..0529200b3bb 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -34,6 +34,12 @@ option( + choices : ['auto', 'true', 'false'], + description : 'enable support for dri3' + ) ++option( ++ 'dri', ++ type : 'boolean', ++ value : false, ++ description : 'enable support for dri' ++) + option( + 'dri-drivers', + type : 'array', +-- +2.22.0 + diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch index 6b676cdd2..b27d9eafa 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch @@ -1,4 +1,4 @@ -From c59e286fa4e818ca015dd40e4725636309970ea8 Mon Sep 17 00:00:00 2001 +From 2e0367a941445a862ab99c54ec85d1357d0f73c0 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Thu, 10 Jul 2014 14:30:52 +0200 Subject: [PATCH] Install few more test programs @@ -8,27 +8,28 @@ Upstream-Status: Pending Signed-off-by: Martin Jansa Signed-off-by: Jussi Kukkonen + --- - src/egl/opengl/Makefile.am | 2 +- - src/egl/opengles1/Makefile.am | 10 ++++------ - src/egl/openvg/Makefile.am | 2 +- - 3 files changed, 6 insertions(+), 8 deletions(-) + src/egl/opengl/Makefile.am | 3 +-- + src/egl/openvg/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am -index fe7faa9..3e48141 100644 +index 6d184ff6..ab09d028 100644 --- a/src/egl/opengl/Makefile.am +++ b/src/egl/opengl/Makefile.am -@@ -50,7 +50,7 @@ endif - endif +@@ -57,8 +57,7 @@ endif if HAVE_EGL + bin_PROGRAMS = \ +- eglinfo -noinst_PROGRAMS = \ -+bin_PROGRAMS = \ - eglinfo \ ++ eglinfo \ peglgears \ $(EGL_DRM_DEMOS) \ + $(EGL_X11_DEMOS) \ diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am -index b0f1212..5fd1cf8 100644 +index b0f1212f..5fd1cf83 100644 --- a/src/egl/openvg/Makefile.am +++ b/src/egl/openvg/Makefile.am @@ -49,7 +49,7 @@ endif @@ -40,6 +41,3 @@ index b0f1212..5fd1cf8 100644 $(EGL_X11_DEMOS) endif endif --- -2.1.4 - diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch index a6085754d..a6d168175 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch @@ -1,12 +1,13 @@ -From 0b6f95f9b8ece22e9856c150e4be29fd86eaf546 Mon Sep 17 00:00:00 2001 +From 894add34c2b5e6b4ccc78996bf681d7ec7bc9e36 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Thu, 10 Jul 2014 14:29:27 +0200 -Subject: [PATCH 8/9] glsl, perf: Add few missing .glsl, .vert, .frag files to +Subject: [PATCH] glsl, perf: Add few missing .glsl, .vert, .frag files to EXTRA_DATA Upstream-Status: Pending Signed-off-by: Martin Jansa + --- src/fpglsl/Makefile.am | 2 ++ src/glsl/Makefile.am | 10 ++++++++-- @@ -15,7 +16,7 @@ Signed-off-by: Martin Jansa 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am -index 47c1039..fd43c91 100644 +index 47c1039f..fd43c919 100644 --- a/src/fpglsl/Makefile.am +++ b/src/fpglsl/Makefile.am @@ -39,10 +39,12 @@ noinst_PROGRAMS = \ @@ -32,7 +33,7 @@ index 47c1039..fd43c91 100644 mov-imm.glsl \ simpleif.glsl \ diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am -index 4faa8db..079a29d 100644 +index 4faa8dbf..079a29d8 100644 --- a/src/glsl/Makefile.am +++ b/src/glsl/Makefile.am @@ -37,7 +37,7 @@ AM_LDFLAGS = \ @@ -71,13 +72,13 @@ index 4faa8db..079a29d 100644 + skinning.vert \ toyball.shtest diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am -index 5363c58..c5cca8d 100644 +index f0031fea..60069396 100644 --- a/src/perf/Makefile.am +++ b/src/perf/Makefile.am -@@ -57,3 +57,9 @@ bin_PROGRAMS = \ - endif +@@ -59,3 +59,9 @@ endif glslstateschange_LDADD = libperf.la ../util/libutil.la + glsl_compile_time_LDADD = ../util/libutil.la + +EXTRA_DIST = \ + glslstateschange1.frag \ @@ -85,7 +86,7 @@ index 5363c58..c5cca8d 100644 + glslstateschange2.frag \ + glslstateschange2.vert diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am -index 4a85ed4..48b08f4 100644 +index 4a85ed40..48b08f48 100644 --- a/src/vpglsl/Makefile.am +++ b/src/vpglsl/Makefile.am @@ -44,6 +44,7 @@ EXTRA_DIST = \ @@ -96,6 +97,3 @@ index 4a85ed4..48b08f4 100644 mov.glsl \ nestedifs.glsl \ nestedswizzle.glsl \ --- -2.0.0 - diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch index 1262dee23..8a98ba60d 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch @@ -1,10 +1,11 @@ -From c8c3de5417d6b6c7d7579c528c0cab718f4bfdb6 Mon Sep 17 00:00:00 2001 +From 477ab6d90a17d8e4d3935be6ce8b8e154db0e3e5 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Thu, 10 Jul 2014 14:48:12 +0200 -Subject: [PATCH 9/9] glsl, perf: Install .glsl, .vert, .frag files +Subject: [PATCH] glsl, perf: Install .glsl, .vert, .frag files Upstream-Status: Pending Signed-off-by: Martin Jansa + --- src/fpglsl/Makefile.am | 3 ++- src/glsl/Makefile.am | 3 ++- @@ -13,7 +14,7 @@ Signed-off-by: Martin Jansa 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am -index fd43c91..2bf51de 100644 +index fd43c919..2bf51de4 100644 --- a/src/fpglsl/Makefile.am +++ b/src/fpglsl/Makefile.am @@ -38,7 +38,8 @@ noinst_PROGRAMS = \ @@ -27,7 +28,7 @@ index fd43c91..2bf51de 100644 dowhile2.glsl \ dowhile.glsl \ diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am -index 079a29d..f66ec29 100644 +index 079a29d8..f66ec299 100644 --- a/src/glsl/Makefile.am +++ b/src/glsl/Makefile.am @@ -118,7 +118,8 @@ vert_or_frag_only_LDADD = ../util/libutil.la @@ -41,12 +42,12 @@ index 079a29d..f66ec29 100644 CH06-brick.vert \ CH11-bumpmap.frag \ diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am -index c5cca8d..140256d 100644 +index 60069396..469bdf45 100644 --- a/src/perf/Makefile.am +++ b/src/perf/Makefile.am -@@ -58,7 +58,8 @@ endif - +@@ -60,7 +60,8 @@ endif glslstateschange_LDADD = libperf.la ../util/libutil.la + glsl_compile_time_LDADD = ../util/libutil.la -EXTRA_DIST = \ +demosdatadir=$(datadir)/$(PACKAGE)/ @@ -55,7 +56,7 @@ index c5cca8d..140256d 100644 glslstateschange1.vert \ glslstateschange2.frag \ diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am -index 48b08f4..5526867 100644 +index 48b08f48..55268675 100644 --- a/src/vpglsl/Makefile.am +++ b/src/vpglsl/Makefile.am @@ -38,7 +38,8 @@ noinst_PROGRAMS = \ @@ -68,6 +69,3 @@ index 48b08f4..5526867 100644 for.glsl \ func.glsl \ func2.glsl \ --- -2.0.0 - diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb b/poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb deleted file mode 100644 index bae3b18be..000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "Mesa demo applications" -DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ -These applications can be used for Mesa validation and benchmarking." -HOMEPAGE = "http://mesa3d.org" -BUGTRACKER = "https://bugs.freedesktop.org" -SECTION = "x11" - -LICENSE = "MIT & PD" -LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \ - file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" - -SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2 \ - file://0001-mesa-demos-Add-missing-data-files.patch \ - file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \ - file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \ - file://0007-Install-few-more-test-programs.patch \ - file://0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch \ - file://0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch \ - file://0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch \ - file://0013-only-build-GLX-demos-if-needed.patch \ - " -SRC_URI[md5sum] = "628e75c23c17394f11a316c36f8e4164" -SRC_URI[sha256sum] = "c173154bbd0d5fb53d732471984def42fb1b14ac85fcb834138fb9518b3e0bef" - -inherit autotools pkgconfig distro_features_check -# depends on virtual/egl, virtual/libgl ... -REQUIRED_DISTRO_FEATURES = "opengl x11" - -PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 \ - x11 glew glu glx" - -# The Wayland code doesn't work with Wayland 1.0, so disable it for now -#${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" - -EXTRA_OECONF = "--with-system-data-files" - -PACKAGECONFIG[drm] = "--enable-libdrm,--disable-libdrm,libdrm" -PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" -PACKAGECONFIG[freetype2] = "--enable-freetype2,--disable-freetype2,freetype" -PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgl" -PACKAGECONFIG[gles1] = "--enable-gles1,--disable-gles1,virtual/libgles1" -PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" -PACKAGECONFIG[glut] = "--with-glut=${STAGING_EXECPREFIXDIR},--without-glut,freeglut" -PACKAGECONFIG[osmesa] = "--enable-osmesa,--disable-osmesa," -PACKAGECONFIG[vg] = "--enable-vg,--disable-vg,virtual/libopenvg" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,virtual/libgl wayland" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11" -PACKAGECONFIG[glew] = "--enable-glew,--disable-glew,glew" -PACKAGECONFIG[glu] = "--enable-glu,--disable-glu,virtual/libgl" -PACKAGECONFIG[glx] = "--enable-glx-demos,--disable-glx-demos" - -do_install_append() { - # it can be completely empty when all PACKAGECONFIG options are disabled - rmdir --ignore-fail-on-non-empty ${D}${bindir} - - if [ -f ${D}${bindir}/clear ]; then - mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos - fi -} diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb b/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb new file mode 100644 index 000000000..129a47df4 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb @@ -0,0 +1,59 @@ +SUMMARY = "Mesa demo applications" +DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ +These applications can be used for Mesa validation and benchmarking." +HOMEPAGE = "http://mesa3d.org" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11" + +LICENSE = "MIT & PD" +LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \ + file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" + +SRC_URI = "https://mesa.freedesktop.org/archive/demos/${BPN}-${PV}.tar.bz2 \ + file://0001-mesa-demos-Add-missing-data-files.patch \ + file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \ + file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \ + file://0007-Install-few-more-test-programs.patch \ + file://0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch \ + file://0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch \ + file://0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch \ + file://0013-only-build-GLX-demos-if-needed.patch \ + " +SRC_URI[md5sum] = "6b65a02622765522176d00f553086fa3" +SRC_URI[sha256sum] = "01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/egl, virtual/libgl ... +REQUIRED_DISTRO_FEATURES = "opengl x11" + +PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 \ + x11 glew glu glx" + +# The Wayland code doesn't work with Wayland 1.0, so disable it for now +#${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" + +EXTRA_OECONF = "--with-system-data-files" + +PACKAGECONFIG[drm] = "--enable-libdrm,--disable-libdrm,libdrm" +PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" +PACKAGECONFIG[freetype2] = "--enable-freetype2,--disable-freetype2,freetype" +PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgl" +PACKAGECONFIG[gles1] = "--enable-gles1,--disable-gles1,virtual/libgles1" +PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" +PACKAGECONFIG[glut] = "--with-glut=${STAGING_EXECPREFIXDIR},--without-glut,freeglut" +PACKAGECONFIG[osmesa] = "--enable-osmesa,--disable-osmesa," +PACKAGECONFIG[vg] = "--enable-vg,--disable-vg,virtual/libopenvg" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,virtual/libgl wayland" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11" +PACKAGECONFIG[glew] = "--enable-glew,--disable-glew,glew" +PACKAGECONFIG[glu] = "--enable-glu,--disable-glu,virtual/libgl" +PACKAGECONFIG[glx] = "--enable-glx-demos,--disable-glx-demos" + +do_install_append() { + # it can be completely empty when all PACKAGECONFIG options are disabled + rmdir --ignore-fail-on-non-empty ${D}${bindir} + + if [ -f ${D}${bindir}/clear ]; then + mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos + fi +} diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb deleted file mode 100644 index d4b1c1c45..000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb +++ /dev/null @@ -1,10 +0,0 @@ -require mesa_${PV}.bb - -SUMMARY += " (OpenGL only, no EGL/GLES)" - -PROVIDES = "virtual/libgl virtual/mesa" - -S = "${WORKDIR}/mesa-${PV}" - -PACKAGECONFIG ??= "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" -PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb new file mode 100644 index 000000000..d4b1c1c45 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb @@ -0,0 +1,10 @@ +require mesa_${PV}.bb + +SUMMARY += " (OpenGL only, no EGL/GLES)" + +PROVIDES = "virtual/libgl virtual/mesa" + +S = "${WORKDIR}/mesa-${PV}" + +PACKAGECONFIG ??= "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index cd3ddfd82..3ecfb8506 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -70,7 +70,7 @@ DRIDRIVERS_class-nativesdk = "swrast" DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915" DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915" # "dri" requires "opengl" -PACKAGECONFIG[dri] = "-Ddri-drivers=${DRIDRIVERS}, -Ddri-drivers='', xorgproto libdrm" +PACKAGECONFIG[dri] = "-Ddri=true -Ddri-drivers=${DRIDRIVERS}, -Ddri=false -Ddri-drivers='', xorgproto libdrm" PACKAGECONFIG[dri3] = "-Ddri3=true, -Ddri3=false, xorgproto libxshmfence" # Vulkan drivers need dri3 enabled diff --git a/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb b/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb deleted file mode 100644 index 36faa4a99..000000000 --- a/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb +++ /dev/null @@ -1,17 +0,0 @@ -require ${BPN}.inc - -SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ - file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \ - file://0001-meson.build-make-TLS-GLX-optional-again.patch \ - " - -SRC_URI[md5sum] = "d03bf14e42c0e54ebae5730712ccc408" -SRC_URI[sha256sum] = "f027244e38dc309a4c12db45ef79be81ab62c797a50a88d566e4edb6159fc4d5" - -#because we cannot rely on the fact that all apps will use pkgconfig, -#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER -do_install_append() { - if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then - sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h - fi -} diff --git a/poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb b/poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb new file mode 100644 index 000000000..05c315349 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb @@ -0,0 +1,18 @@ +require ${BPN}.inc + +SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ + file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \ + file://0002-meson.build-make-TLS-GLX-optional-again.patch \ + file://0003-Allow-enable-DRI-without-DRI-drivers.patch \ + " + +SRC_URI[md5sum] = "090cd351cf938fc1729dee983520216a" +SRC_URI[sha256sum] = "2a6c3af3a803389183168e449c536304cf03e0f82c4c9333077933543b9d02f3" + +#because we cannot rely on the fact that all apps will use pkgconfig, +#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER +do_install_append() { + if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then + sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h + fi +} diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch deleted file mode 100644 index 57eda2e20..000000000 --- a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch +++ /dev/null @@ -1,75 +0,0 @@ -Upstream-Status: Submitted [mailing list] -Signed-off-by: Ross Burton - -From 0e0a2a69261031d55d52b6045990e8982ea12912 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 9 Jul 2016 07:52:19 +0000 -Subject: [PATCH] tests: only run rounding tests if FE_UPWARD is present - -On ARM, musl does not define FE_* when the architecture does not have VFP (which -is the right interpretation). - -As these tests depend on calling fesetround(), skip the test if FE_UPWARD isn't -available. - -Signed-off-by: Ross Burton ---- - tests/general/roundmode-getintegerv.c | 12 ++++++++---- - tests/general/roundmode-pixelstore.c | 12 ++++++++---- - 2 files changed, 16 insertions(+), 8 deletions(-) - -diff --git a/tests/general/roundmode-getintegerv.c b/tests/general/roundmode-getintegerv.c -index 28ecfaf55..aa99044a1 100644 ---- a/tests/general/roundmode-getintegerv.c -+++ b/tests/general/roundmode-getintegerv.c -@@ -79,13 +79,17 @@ test(float val, int expect) - void - piglit_init(int argc, char **argv) - { -- int ret; - bool pass = true; -- ret = fesetround(FE_UPWARD); -- if (ret != 0) { -- printf("Couldn't set rounding mode\n"); -+ -+#ifdef FE_UPWARD -+ if (fesetround(FE_UPWARD) != 0) { -+ printf("Setting rounding mode failed\n"); - piglit_report_result(PIGLIT_SKIP); - } -+#else -+ printf("Cannot set rounding mode\n"); -+ piglit_report_result(PIGLIT_SKIP); -+#endif - - pass = test(2.2, 2) && pass; - pass = test(2.8, 3) && pass; -diff --git a/tests/general/roundmode-pixelstore.c b/tests/general/roundmode-pixelstore.c -index 8a029b257..57ec11c09 100644 ---- a/tests/general/roundmode-pixelstore.c -+++ b/tests/general/roundmode-pixelstore.c -@@ -79,13 +79,17 @@ test(float val, int expect) - void - piglit_init(int argc, char **argv) - { -- int ret; - bool pass = true; -- ret = fesetround(FE_UPWARD); -- if (ret != 0) { -- printf("Couldn't set rounding mode\n"); -+ -+#ifdef FE_UPWARD -+ if (fesetround(FE_UPWARD) != 0) { -+ printf("Setting rounding mode failed\n"); - piglit_report_result(PIGLIT_SKIP); - } -+#else -+ printf("Cannot set rounding mode\n"); -+ piglit_report_result(PIGLIT_SKIP); -+#endif - - pass = test(2.2, 2) && pass; - pass = test(2.8, 3) && pass; --- -2.11.0 - diff --git a/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch b/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch deleted file mode 100644 index 73d539fef..000000000 --- a/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch +++ /dev/null @@ -1,69 +0,0 @@ -Upstream-Status: Submitted [mailing list] -Signed-off-by: Ross Burton - -From f0c6981322807e179e39ce67aeebd42cf7a54d36 Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Wed, 21 Nov 2018 12:44:36 +0000 -Subject: [PATCH] arb_texture_view: fix security format warnings - -If built with -Werror=format-security then Piglit fails to build: - -/tests/spec/arb_texture_view/rendering-layers-image.c:150:8: -error: format not a string literal and no format arguments [-Werror=format-security] - (desc)); \ - ^~~~~~ - -In this case test->uniform_type is being turned into a string using snprintf() -and then passed to piglit_report_subtest_result() which takes a format string, -but GCC can't verify the format. - -As _subtest_report() takes a format string, we can just remove the snprintf() -and let it construct the label. - -Also as X is used once and doesn't make the code clearer, just inline it. - -Signed-off-by: Ross Burton ---- - tests/spec/arb_texture_view/rendering-layers-image.c | 19 ++++++------------- - 1 file changed, 6 insertions(+), 13 deletions(-) - -diff --git a/tests/spec/arb_texture_view/rendering-layers-image.c b/tests/spec/arb_texture_view/rendering-layers-image.c -index 415b01657..86148075b 100644 ---- a/tests/spec/arb_texture_view/rendering-layers-image.c -+++ b/tests/spec/arb_texture_view/rendering-layers-image.c -@@ -142,26 +142,19 @@ test_render_layers(const struct test_info *test) - return pass; - } - --#define X(f, desc) \ -- do { \ -- const bool subtest_pass = (f); \ -- piglit_report_subtest_result(subtest_pass \ -- ? PIGLIT_PASS : PIGLIT_FAIL, \ -- (desc)); \ -- pass = pass && subtest_pass; \ -- } while (0) -- - enum piglit_result - piglit_display(void) - { - bool pass = true; - for (int test_idx = 0; test_idx < ARRAY_SIZE(tests); test_idx++) { - const struct test_info *test = &tests[test_idx]; -- char test_name[128]; -- snprintf(test_name, sizeof(test_name), "layers rendering of %s", test->uniform_type); -- X(test_render_layers(test), test_name); -+ -+ const bool subtest_pass = test_render_layers(test); -+ -+ piglit_report_subtest_result(subtest_pass ? PIGLIT_PASS : PIGLIT_FAIL, -+ "layers rendering of %s", test->uniform_type); -+ pass = pass && subtest_pass; - } --#undef X - pass = piglit_check_gl_error(GL_NO_ERROR) && pass; - return pass ? PIGLIT_PASS : PIGLIT_FAIL; - } --- -2.11.0 - diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb index b6542a191..4350823f6 100644 --- a/poky/meta/recipes-graphics/piglit/piglit_git.bb +++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb @@ -2,16 +2,13 @@ SUMMARY = "OpenGL driver testing framework" LICENSE = "MIT & LGPLv2+ & GPLv3 & GPLv2+ & BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0" -SRC_URI = "git://anongit.freedesktop.org/piglit \ +SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit;protocol=https \ file://0001-cmake-install-bash-completions-in-the-right-place.patch \ - file://0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch \ file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \ - file://format-fix.patch \ " UPSTREAM_CHECK_COMMITS = "1" -# From 2018-10-26 -SRCREV = "b9066c7717af1d169a616c9e61706b99ff8515b5" +SRCREV = "4294b15e3b84a96f24d1286b73d5832eea267bbf" # (when PV goes above 1.0 remove the trailing r) PV = "1.0+gitr${SRCPV}" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb index 2b72d6750..6994d79e8 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb @@ -20,3 +20,5 @@ SRC_URI[sha256sum] = "0e8ab7fd737ccdfe87e1f02b55f221f0bd4503a1c5f28be4ed6a54586b PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + +CVE_PRODUCT = "libxfont libxfont2" diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb index ad7babf7a..8b6ad96db 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb @@ -7,6 +7,7 @@ LICENSE = "\ & Firmware-agere \ & Firmware-amdgpu \ & Firmware-amd-ucode \ + & Firmware-amlogic_vdec \ & Firmware-atheros_firmware \ & Firmware-atmel \ & Firmware-broadcom_bcm43xx \ @@ -62,68 +63,68 @@ LICENSE = "\ & WHENCE \ " -LIC_FILES_CHKSUM = "\ - file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ - file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \ - file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \ - file://LICENSE.amdgpu;md5=ab515ef6495ab5c5a3b08ab2db62df11 \ - file://LICENSE.amd-ucode;md5=3c5399dc9148d7f0e1f41e34b69cf14f \ - file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \ - file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \ - file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \ - file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \ - file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \ - file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \ - file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \ - file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \ - file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \ - file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \ - file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \ - file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \ - file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \ - file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \ - file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \ - file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \ - file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \ - file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \ - file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ - file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \ - file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \ - file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \ - file://LICENCE.Marvell;md5=9ddea1734a4baf3c78d845151f42a37a \ - file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \ - file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \ - file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \ - file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \ - file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \ - file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \ - file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \ - file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \ - file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ - file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \ - file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \ - file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \ - file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \ - file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \ - file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \ - file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \ - file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \ - file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \ - file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \ - file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \ - file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \ - file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \ - file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \ - file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \ - file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \ - file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \ - file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \ - file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \ - file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \ - file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \ - file://WHENCE;md5=ef36d3383becd18f36ce32d84109386f \ -" +LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ + file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \ + file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \ + file://LICENSE.amdgpu;md5=ab515ef6495ab5c5a3b08ab2db62df11 \ + file://LICENSE.amd-ucode;md5=3c5399dc9148d7f0e1f41e34b69cf14f \ + file://LICENSE.amlogic_vdec;md5=dc44f59bf64a81643e500ad3f39a468a \ + file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \ + file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \ + file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \ + file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \ + file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \ + file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \ + file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \ + file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \ + file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \ + file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \ + file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \ + file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \ + file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \ + file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \ + file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \ + file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \ + file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \ + file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \ + file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ + file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \ + file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \ + file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \ + file://LICENCE.Marvell;md5=9ddea1734a4baf3c78d845151f42a37a \ + file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \ + file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \ + file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \ + file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \ + file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \ + file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \ + file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \ + file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \ + file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ + file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \ + file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \ + file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \ + file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \ + file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \ + file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \ + file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \ + file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \ + file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \ + file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \ + file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \ + file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \ + file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \ + file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \ + file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \ + file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \ + file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \ + file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \ + file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \ + file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \ + file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \ + file://WHENCE;md5=b6e44adf71bc37e5f26ebfe5a08b5490 \ + " # These are not common licenses, set NO_GENERIC_LICENSE for them # so that the license files will be copied from fetched source @@ -132,6 +133,7 @@ NO_GENERIC_LICENSE[Firmware-adsp_sst] = "LICENCE.adsp_sst" NO_GENERIC_LICENSE[Firmware-agere] = "LICENCE.agere" NO_GENERIC_LICENSE[Firmware-amdgpu] = "LICENSE.amdgpu" NO_GENERIC_LICENSE[Firmware-amd-ucode] = "LICENSE.amd-ucode" +NO_GENERIC_LICENSE[Firmware-amlogic_vdec] = "LICENSE.amlogic_vdec" NO_GENERIC_LICENSE[Firmware-atheros_firmware] = "LICENCE.atheros_firmware" NO_GENERIC_LICENSE[Firmware-atmel] = "LICENSE.atmel" NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx" @@ -188,7 +190,7 @@ NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000" NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c" NO_GENERIC_LICENSE[WHENCE] = "WHENCE" -SRCREV = "7bc246451318b3536d9bfd3c4e46d541a9831b33" +SRCREV = "711d3297bac870af42088a467459a0634c1970ca" PE = "1" PV = "0.0+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index ae8c34300..3a055c12a 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' -LINUX_VERSION ?= "5.0-rc+" +LINUX_VERSION ?= "5.2-rc+" LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb index 834b8fc03..0836dc7ea 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "c279a81f1e654023c4cc78afa9f14350ee5f836f" -SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09" +SRCREV_machine ?= "4dbcaca4c9ff89e866d2b5d01df005f317c618a4" +SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.19.34" +LINUX_VERSION ?= "4.19.44" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" @@ -41,3 +41,4 @@ KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb index 54f86dac9..b5e415f93 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "494384666b623a23e19cbbc54574d08e31496a03" -SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38" +SRCREV_machine ?= "9c1e84c9b81b6bf1df55f26f2e0517266c37f7eb" +SRCREV_meta ?= "31de88e51d100f2c3eefb7acb7390b0144bcfc69" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.0.7" +LINUX_VERSION ?= "5.0.19" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" @@ -41,3 +41,4 @@ KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb index dea7f2bf5..4ca11d769 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.19.34" +LINUX_VERSION ?= "4.19.44" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "6fbb768bd43d85b2cfd905e431101e214c580634" -SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09" +SRCREV_machine_qemuarm ?= "a3cd9d732b27e78f94634924b7232b6280dae002" +SRCREV_machine ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb index 720192152..a9c463cf0 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.0.7" +LINUX_VERSION ?= "5.0.19" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "f07da0a13d6f503b72594776b5e8a9795da6d6a0" -SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38" +SRCREV_machine_qemuarm ?= "fabee455f397ba8054f35a3ad5f2250bbad93bef" +SRCREV_machine ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_meta ?= "31de88e51d100f2c3eefb7acb7390b0144bcfc69" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb index de4ae9287..cda4ecf89 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb @@ -11,22 +11,22 @@ KBRANCH_qemux86 ?= "v4.19/standard/base" KBRANCH_qemux86-64 ?= "v4.19/standard/base" KBRANCH_qemumips64 ?= "v4.19/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "b266576aa10e76afeded8e13ffce93c4638b8ddb" -SRCREV_machine_qemuarm64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_machine_qemumips ?= "f6ef1a5233db0a1f569d7d6638fa803ebe5c867b" -SRCREV_machine_qemuppc ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_machine_qemux86 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_machine_qemux86-64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_machine_qemumips64 ?= "f5b26e4d7a0eee36298d970590c50c26a800b84d" -SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09" +SRCREV_machine_qemuarm ?= "c12bc1a098be009c44582e75af630ff573155473" +SRCREV_machine_qemuarm64 ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_machine_qemumips ?= "18ba7160ac7a094bf9659649c537303201eb022e" +SRCREV_machine_qemuppc ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_machine_qemux86 ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_machine_qemux86-64 ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_machine_qemumips64 ?= "d9c77fe2a6038848fbadd660882b78e590c3252e" +SRCREV_machine ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \ " LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "4.19.34" +LINUX_VERSION ?= "4.19.44" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" @@ -47,3 +47,4 @@ KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" +KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb index ae8f643e9..8aec31508 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb @@ -11,15 +11,15 @@ KBRANCH_qemux86 ?= "v5.0/standard/base" KBRANCH_qemux86-64 ?= "v5.0/standard/base" KBRANCH_qemumips64 ?= "v5.0/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "99f3821bdc8718af3ef6e96d594b593d644ab2e4" -SRCREV_machine_qemuarm64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_machine_qemumips ?= "1128cfe6c7915535c4066b75342c952640e65d72" -SRCREV_machine_qemuppc ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_machine_qemux86 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_machine_qemux86-64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_machine_qemumips64 ?= "55e385d52db438df1ff7ad3845c9076b2bb221eb" -SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38" +SRCREV_machine_qemuarm ?= "9161b2fa2f1cec0ba02976c389c788445858e0de" +SRCREV_machine_qemuarm64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_machine_qemumips ?= "7de9b8f0db98e51a666477c8e2b64f1964b45410" +SRCREV_machine_qemuppc ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_machine_qemux86 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_machine_qemux86-64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_machine_qemumips64 ?= "5a8b27bcc0b16077ab8edfcd3fb25c80dc2c652e" +SRCREV_machine ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_meta ?= "31de88e51d100f2c3eefb7acb7390b0144bcfc69" # remap qemuarm to qemuarma15 for the 5.0 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -28,7 +28,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "5.0.7" +LINUX_VERSION ?= "5.0.19" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" @@ -50,3 +50,4 @@ KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" +KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb new file mode 100644 index 000000000..6e2d65549 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb @@ -0,0 +1,45 @@ +SECTION = "devel" +SUMMARY = "Linux Trace Toolkit KERNEL MODULE" +DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules" +LICENSE = "LGPLv2.1 & GPLv2 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3 \ + file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \ + file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad \ + " + +inherit module + +COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux' + +SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ + file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ + " + +SRC_URI[md5sum] = "07c0b1ea4c1dd9d3edba8dc980fd93dd" +SRC_URI[sha256sum] = "e0d031005eef337c62de530a3b5b3e8fb1c732846eefcb23b8978edd2091f6e4" + +export INSTALL_MOD_DIR="kernel/lttng-modules" + +EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'" + +do_install_append() { + # Delete empty directories to avoid QA failures if no modules were built + find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \; +} + +python do_package_prepend() { + if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')): + bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN')) +} + +BBCLASSEXTEND = "devupstream:target" +LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3" +DEFAULT_PREFERENCE_class-devupstream = "-1" +SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.10 \ + file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ + file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ + " +SRCREV_class-devupstream = "624aca5d7507fbd11ea4a1a474c3aa1031bd9a31" +PV_class-devupstream = "2.10.10+git${SRCPV}" +S_class-devupstream = "${WORKDIR}/git" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb deleted file mode 100644 index 70a684326..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb +++ /dev/null @@ -1,36 +0,0 @@ -SECTION = "devel" -SUMMARY = "Linux Trace Toolkit KERNEL MODULE" -DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules" -LICENSE = "LGPLv2.1 & GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3 \ - file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \ - file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad \ - " - -inherit module - -COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux' - -#https://lttng.org/files/lttng-modules/lttng-modules-2.10.7.tar.bz2 -SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ - file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ - " - -SRC_URI[md5sum] = "09df0ac2e8f245740a2f32411d10c0d1" -SRC_URI[sha256sum] = "a1855bbd02d0f71ebd180e9872309862036624f012442ab9cc5852eb60340145" - -export INSTALL_MOD_DIR="kernel/lttng-modules" - -EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'" - -do_install_append() { - # Delete empty directories to avoid QA failures if no modules were built - find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \; -} - -python do_package_prepend() { - if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')): - bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN')) -} - diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch new file mode 100644 index 000000000..784a07940 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch @@ -0,0 +1,24 @@ +From 58e4dcce48b48b68b65bffc0cd51d9e26b44c75d Mon Sep 17 00:00:00 2001 +From: Jonathan Rajotte +Date: Wed, 22 May 2019 16:44:54 -0400 +Subject: [PATCH] Fix: check for lttng modules presence before testing + +Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2019-May/028987.html] + +Signed-off-by: Jonathan Rajotte +--- + tests/regression/tools/notification/test_notification_multi_app | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app +index 29b0f62..a6baf65 100755 +--- a/tests/regression/tools/notification/test_notification_multi_app ++++ b/tests/regression/tools/notification/test_notification_multi_app +@@ -484,6 +484,7 @@ else + fi + + if [ "$(id -u)" == "0" ]; then ++ validate_lttng_modules_present + TESTS+=( + test_multi_app_kernel + test_on_register_evaluation_kernel diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb index a3fabb20e..9583ee3ab 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \ DEPENDS = "liburcu popt libxml2 util-linux" RDEPENDS_${PN} = "libgcc" -RDEPENDS_${PN}-ptest += "make perl bash gawk ${PN} babeltrace procps perl-module-overloading coreutils util-linux kmod" +RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules" RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" # babelstats.pl wants getopt-long @@ -39,6 +39,7 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \ file://0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch \ file://0006-Tests-check-for-lttng-modules-presence.patch \ file://0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch \ + file://0008-Fix-check-for-lttng-modules-presence-before-testing.patch \ " SRC_URI[md5sum] = "e88c521b5da6bb48a8187af633336ecc" diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc index 54de72266..c5348b320 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc +++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc @@ -1,7 +1,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRCREV = "90ff34ac0506f0d5440393a4c78565f6aaf9b726" -PV = "4.0" +SRCREV = "984d6d1696ed06626b07cb65ab55d6ae0ece1131" +PV = "4.1" SRC_URI = "git://sourceware.org/git/systemtap.git \ file://configure-allow-to-disable-libvirt.patch \ diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb deleted file mode 100644 index 76cc9627e..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "ALSA sound library" -HOMEPAGE = "http://www.alsa-project.org" -BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" -SECTION = "libs/multimedia" -LICENSE = "LGPLv2.1 & GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ - file://src/socket.c;md5=dd1bc7f44872690224d89c1a9806e495;beginline=1;endline=26 \ - " - -SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" -SRC_URI[md5sum] = "0eec0d657a07927795809c8f87fb76ca" -SRC_URI[sha256sum] = "3cdc3a93a6427a26d8efab4ada2152e64dd89140d981f6ffa003e85be707aedf" - -inherit autotools pkgconfig - -EXTRA_OECONF += " \ - ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \ - --disable-python \ -" - -PACKAGES =+ "alsa-server alsa-conf alsa-doc" - -FILES_alsa-server = "${bindir}/*" -FILES_alsa-conf = "${datadir}/alsa/" - -RDEPENDS_${PN}_class-target = "alsa-conf" - -# upgrade path -RPROVIDES_${PN} = "libasound" -RREPLACES_${PN} = "libasound" -RCONFLICTS_${PN} = "libasound" - -RPROVIDES_${PN}-dev = "alsa-dev" -RREPLACES_${PN}-dev = "alsa-dev" -RCONFLICTS_${PN}-dev = "alsa-dev" - -RPROVIDES_alsa-conf = "alsa-conf-base" -RREPLACES_alsa-conf = "alsa-conf-base" -RCONFLICTS_alsa-conf = "alsa-conf-base" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.9.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.9.bb new file mode 100644 index 000000000..2c63ee752 --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.9.bb @@ -0,0 +1,41 @@ +SUMMARY = "ALSA sound library" +HOMEPAGE = "http://www.alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "libs/multimedia" +LICENSE = "LGPLv2.1 & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ + file://src/socket.c;md5=dd1bc7f44872690224d89c1a9806e495;beginline=1;endline=26 \ + " + +SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" +SRC_URI[md5sum] = "e6d429dbdcfaa0f034d907fa6dc3735e" +SRC_URI[sha256sum] = "488373aef5396682f3a411a6d064ae0ad196b9c96269d0bb912fbdeec94b994b" + +inherit autotools pkgconfig + +EXTRA_OECONF += " \ + ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \ + --disable-python \ +" + +PACKAGES =+ "alsa-server alsa-conf alsa-doc" + +FILES_alsa-server = "${bindir}/*" +FILES_alsa-conf = "${datadir}/alsa/" + +RDEPENDS_${PN}_class-target = "alsa-conf" + +# upgrade path +RPROVIDES_${PN} = "libasound" +RREPLACES_${PN} = "libasound" +RCONFLICTS_${PN} = "libasound" + +RPROVIDES_${PN}-dev = "alsa-dev" +RREPLACES_${PN}-dev = "alsa-dev" +RCONFLICTS_${PN}-dev = "alsa-dev" + +RPROVIDES_alsa-conf = "alsa-conf-base" +RREPLACES_alsa-conf = "alsa-conf-base" +RCONFLICTS_alsa-conf = "alsa-conf-base" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb deleted file mode 100644 index 2d9cc06f5..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb +++ /dev/null @@ -1,173 +0,0 @@ -SUMMARY = "ALSA Plugins" -HOMEPAGE = "http://alsa-project.org" -BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" -SECTION = "multimedia" - -# The primary license of alsa-plugins is LGPLv2.1. -# -# m4/attributes.m4 is licensed under GPLv2+. m4/attributes.m4 is part of the -# build system, and doesn't affect the licensing of the build result. -# -# The samplerate plugin source code is licensed under GPLv2+ to be consistent -# with the libsamplerate license. However, if the licensee has a commercial -# license for libsamplerate, the samplerate plugin may be used under the terms -# of LGPLv2.1 like the rest of the plugins. -LICENSE = "LGPLv2.1 & GPLv2+" -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ - file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://m4/attributes.m4;endline=33;md5=b25958da44c02231e3641f1bccef53eb \ - file://rate/rate_samplerate.c;endline=35;md5=fd77bce85f4a338c0e8ab18430b69fae \ -" - -SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2" -SRC_URI[md5sum] = "d0f87211d1560f2c07c8eae4297bc4f6" -SRC_URI[sha256sum] = "7f77df171685ccec918268477623a39db4d9f32d5dc5e76874ef2467a2405994" - -DEPENDS += "alsa-lib" - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "\ - samplerate \ - speexdsp \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ -" -PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,avtp" -PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" -PACKAGECONFIG[libav] = "--enable-libav,--disable-libav,libav" -PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin" -PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus" -PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" -PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0" -PACKAGECONFIG[speexdsp] = "--with-speex=lib,--with-speex=no,speexdsp" - -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}" - -PACKAGES_DYNAMIC = "^libasound-module-.*" - -# The alsa-plugins package doesn't itself contain anything, it just depends on -# all built plugins. -FILES_${PN} = "" -ALLOW_EMPTY_${PN} = "1" - -do_install_append() { - rm ${D}${libdir}/alsa-lib/*.la - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then - # We use the example as is. Upstream installs the file under - # /etc, but we move it under /usr/share and add a symlink under - # /etc to be consistent with other installed configuration - # files. - mv ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf - ln -s ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf - fi -} - -python populate_packages_prepend() { - plugindir = d.expand('${libdir}/alsa-lib/') - packages = " ".join(do_split_packages(d, plugindir, r'^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends='')) - d.setVar("RDEPENDS_alsa-plugins", packages) -} - -# Many plugins have a configuration file (plus a symlink in /etc) associated -# with them. We put the plugin and it's configuration usually in the same -# package, but that's problematic when the configuration file is related to -# multiple plugins, as is the case with the pulse, oss and maemo plugins. In -# case of the pulse plugins, we have a separate alsa-plugins-pulseaudio-conf -# package that depends on all the pulse plugins, which ensures that all plugins -# that the configuration references are installed. The oss and maemo -# configuration files, on the other hand, are in the respective pcm plugin -# packages. Therefore it's possible to install the configuration file without -# the ctl plugin that the configuration file references. This is unlikely to -# cause big problems, but some kind of improvement to the packaging could -# probably be done here (at least it would be good to handle the different -# plugins in a consistent way). -FILES_${MLPREFIX}libasound-module-ctl-arcam-av += "\ - ${datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf \ - ${sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-a52 += "\ - ${datadir}/alsa/alsa.conf.d/60-a52-encoder.conf \ - ${sysconfdir}/alsa/conf.d/60-a52-encoder.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-alsa-dsp += "\ - ${datadir}/alsa/alsa.conf.d/98-maemo.conf \ - ${sysconfdir}/alsa/conf.d/98-maemo.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-jack += "\ - ${datadir}/alsa/alsa.conf.d/50-jack.conf \ - ${sysconfdir}/alsa/conf.d/50-jack.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-oss += "\ - ${datadir}/alsa/alsa.conf.d/50-oss.conf \ - ${sysconfdir}/alsa/conf.d/50-oss.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-speex += "\ - ${datadir}/alsa/alsa.conf.d/60-speex.conf \ - ${sysconfdir}/alsa/conf.d/60-speex.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-upmix += "\ - ${datadir}/alsa/alsa.conf.d/60-upmix.conf \ - ${sysconfdir}/alsa/conf.d/60-upmix.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-usb-stream += "\ - ${datadir}/alsa/alsa.conf.d/98-usb-stream.conf \ - ${sysconfdir}/alsa/conf.d/98-usb-stream.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-vdownmix += "\ - ${datadir}/alsa/alsa.conf.d/60-vdownmix.conf \ - ${sysconfdir}/alsa/conf.d/60-vdownmix.conf \ -" -FILES_${MLPREFIX}libasound-module-rate-lavrate += "\ - ${datadir}/alsa/alsa.conf.d/10-rate-lav.conf \ - ${sysconfdir}/alsa/conf.d/10-rate-lav.conf \ -" -FILES_${MLPREFIX}libasound-module-rate-samplerate += "\ - ${datadir}/alsa/alsa.conf.d/10-samplerate.conf \ - ${sysconfdir}/alsa/conf.d/10-samplerate.conf \ -" -FILES_${MLPREFIX}libasound-module-rate-speexrate += "\ - ${datadir}/alsa/alsa.conf.d/10-speexrate.conf \ - ${sysconfdir}/alsa/conf.d/10-speexrate.conf \ -" - -# The rate plugins create some symlinks. For example, the samplerate plugin -# creates these links to the main plugin file: -# -# libasound_module_rate_samplerate_best.so -# libasound_module_rate_samplerate_linear.so -# libasound_module_rate_samplerate_medium.so -# libasound_module_rate_samplerate_order.so -# -# The other rate plugins create similar links. We have to add the links to -# FILES manually, because do_split_packages() skips the links (which is good, -# because we wouldn't want do_split_packages() to create separate packages for -# the symlinks). -# -# The symlinks cause QA errors, because usually it's a bug if a non -# -dev/-dbg/-nativesdk package contains links to .so files, but in this case -# the errors are false positives, so we disable the QA checks. -FILES_${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so" -FILES_${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so" -FILES_${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so" -INSANE_SKIP_${MLPREFIX}libasound-module-rate-lavrate = "dev-so" -INSANE_SKIP_${MLPREFIX}libasound-module-rate-samplerate = "dev-so" -INSANE_SKIP_${MLPREFIX}libasound-module-rate-speexrate = "dev-so" - -# 50-pulseaudio.conf defines a device named "pulse" that applications can use -# if they explicitly want to use the PulseAudio plugin. -# 99-pulseaudio-default.conf configures the "default" device to use the -# PulseAudio plugin. -FILES_${PN}-pulseaudio-conf += "\ - ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \ - ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \ - ${sysconfdir}/alsa/conf.d/50-pulseaudio.conf \ - ${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf \ -" - -RDEPENDS_${PN}-pulseaudio-conf += "\ - libasound-module-conf-pulse \ - libasound-module-ctl-pulse \ - libasound-module-pcm-pulse \ -" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.9.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.9.bb new file mode 100644 index 000000000..b94fc5cee --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.9.bb @@ -0,0 +1,173 @@ +SUMMARY = "ALSA Plugins" +HOMEPAGE = "http://alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "multimedia" + +# The primary license of alsa-plugins is LGPLv2.1. +# +# m4/attributes.m4 is licensed under GPLv2+. m4/attributes.m4 is part of the +# build system, and doesn't affect the licensing of the build result. +# +# The samplerate plugin source code is licensed under GPLv2+ to be consistent +# with the libsamplerate license. However, if the licensee has a commercial +# license for libsamplerate, the samplerate plugin may be used under the terms +# of LGPLv2.1 like the rest of the plugins. +LICENSE = "LGPLv2.1 & GPLv2+" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ + file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://m4/attributes.m4;endline=33;md5=b25958da44c02231e3641f1bccef53eb \ + file://rate/rate_samplerate.c;endline=35;md5=fd77bce85f4a338c0e8ab18430b69fae \ +" + +SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2" +SRC_URI[md5sum] = "e0caffbd849c51ed81751378f56cb563" +SRC_URI[sha256sum] = "161772303da521abbbf1d91f63b470c4791392d5728f2192a42d71292078f907" + +DEPENDS += "alsa-lib" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "\ + samplerate \ + speexdsp \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ +" +PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,avtp" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +PACKAGECONFIG[libav] = "--enable-libav,--disable-libav,libav" +PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin" +PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus" +PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" +PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0" +PACKAGECONFIG[speexdsp] = "--with-speex=lib,--with-speex=no,speexdsp" + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}" + +PACKAGES_DYNAMIC = "^libasound-module-.*" + +# The alsa-plugins package doesn't itself contain anything, it just depends on +# all built plugins. +FILES_${PN} = "" +ALLOW_EMPTY_${PN} = "1" + +do_install_append() { + rm ${D}${libdir}/alsa-lib/*.la + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then + # We use the example as is. Upstream installs the file under + # /etc, but we move it under /usr/share and add a symlink under + # /etc to be consistent with other installed configuration + # files. + mv ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf + ln -s ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf + fi +} + +python populate_packages_prepend() { + plugindir = d.expand('${libdir}/alsa-lib/') + packages = " ".join(do_split_packages(d, plugindir, r'^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends='')) + d.setVar("RDEPENDS_alsa-plugins", packages) +} + +# Many plugins have a configuration file (plus a symlink in /etc) associated +# with them. We put the plugin and it's configuration usually in the same +# package, but that's problematic when the configuration file is related to +# multiple plugins, as is the case with the pulse, oss and maemo plugins. In +# case of the pulse plugins, we have a separate alsa-plugins-pulseaudio-conf +# package that depends on all the pulse plugins, which ensures that all plugins +# that the configuration references are installed. The oss and maemo +# configuration files, on the other hand, are in the respective pcm plugin +# packages. Therefore it's possible to install the configuration file without +# the ctl plugin that the configuration file references. This is unlikely to +# cause big problems, but some kind of improvement to the packaging could +# probably be done here (at least it would be good to handle the different +# plugins in a consistent way). +FILES_${MLPREFIX}libasound-module-ctl-arcam-av += "\ + ${datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf \ + ${sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-a52 += "\ + ${datadir}/alsa/alsa.conf.d/60-a52-encoder.conf \ + ${sysconfdir}/alsa/conf.d/60-a52-encoder.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-alsa-dsp += "\ + ${datadir}/alsa/alsa.conf.d/98-maemo.conf \ + ${sysconfdir}/alsa/conf.d/98-maemo.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-jack += "\ + ${datadir}/alsa/alsa.conf.d/50-jack.conf \ + ${sysconfdir}/alsa/conf.d/50-jack.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-oss += "\ + ${datadir}/alsa/alsa.conf.d/50-oss.conf \ + ${sysconfdir}/alsa/conf.d/50-oss.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-speex += "\ + ${datadir}/alsa/alsa.conf.d/60-speex.conf \ + ${sysconfdir}/alsa/conf.d/60-speex.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-upmix += "\ + ${datadir}/alsa/alsa.conf.d/60-upmix.conf \ + ${sysconfdir}/alsa/conf.d/60-upmix.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-usb-stream += "\ + ${datadir}/alsa/alsa.conf.d/98-usb-stream.conf \ + ${sysconfdir}/alsa/conf.d/98-usb-stream.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-vdownmix += "\ + ${datadir}/alsa/alsa.conf.d/60-vdownmix.conf \ + ${sysconfdir}/alsa/conf.d/60-vdownmix.conf \ +" +FILES_${MLPREFIX}libasound-module-rate-lavrate += "\ + ${datadir}/alsa/alsa.conf.d/10-rate-lav.conf \ + ${sysconfdir}/alsa/conf.d/10-rate-lav.conf \ +" +FILES_${MLPREFIX}libasound-module-rate-samplerate += "\ + ${datadir}/alsa/alsa.conf.d/10-samplerate.conf \ + ${sysconfdir}/alsa/conf.d/10-samplerate.conf \ +" +FILES_${MLPREFIX}libasound-module-rate-speexrate += "\ + ${datadir}/alsa/alsa.conf.d/10-speexrate.conf \ + ${sysconfdir}/alsa/conf.d/10-speexrate.conf \ +" + +# The rate plugins create some symlinks. For example, the samplerate plugin +# creates these links to the main plugin file: +# +# libasound_module_rate_samplerate_best.so +# libasound_module_rate_samplerate_linear.so +# libasound_module_rate_samplerate_medium.so +# libasound_module_rate_samplerate_order.so +# +# The other rate plugins create similar links. We have to add the links to +# FILES manually, because do_split_packages() skips the links (which is good, +# because we wouldn't want do_split_packages() to create separate packages for +# the symlinks). +# +# The symlinks cause QA errors, because usually it's a bug if a non +# -dev/-dbg/-nativesdk package contains links to .so files, but in this case +# the errors are false positives, so we disable the QA checks. +FILES_${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so" +FILES_${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so" +FILES_${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so" +INSANE_SKIP_${MLPREFIX}libasound-module-rate-lavrate = "dev-so" +INSANE_SKIP_${MLPREFIX}libasound-module-rate-samplerate = "dev-so" +INSANE_SKIP_${MLPREFIX}libasound-module-rate-speexrate = "dev-so" + +# 50-pulseaudio.conf defines a device named "pulse" that applications can use +# if they explicitly want to use the PulseAudio plugin. +# 99-pulseaudio-default.conf configures the "default" device to use the +# PulseAudio plugin. +FILES_${PN}-pulseaudio-conf += "\ + ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \ + ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \ + ${sysconfdir}/alsa/conf.d/50-pulseaudio.conf \ + ${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf \ +" + +RDEPENDS_${PN}-pulseaudio-conf += "\ + libasound-module-conf-pulse \ + libasound-module-ctl-pulse \ + libasound-module-pcm-pulse \ +" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb deleted file mode 100644 index fef79d9c9..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb +++ /dev/null @@ -1,25 +0,0 @@ -require alsa-utils_${PV}.bb - -SUMMARY = "Shell scripts that show help info and create ALSA configuration files" -PROVIDES = "alsa-utils-alsaconf" - -FILESEXTRAPATHS_prepend := "${THISDIR}/alsa-utils:" - -PACKAGES = "${PN}" -RDEPENDS_${PN} += "bash" - -FILES_${PN} = "${sbindir}/alsaconf \ - ${sbindir}/alsa-info.sh \ - ${sbindir}/alsabat-test.sh \ - " - -S = "${WORKDIR}/alsa-utils-${PV}" - -do_install() { - install -d ${D}${sbindir} - install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/ - install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/ - if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then - install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/ - fi -} diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.9.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.9.bb new file mode 100644 index 000000000..fef79d9c9 --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.9.bb @@ -0,0 +1,25 @@ +require alsa-utils_${PV}.bb + +SUMMARY = "Shell scripts that show help info and create ALSA configuration files" +PROVIDES = "alsa-utils-alsaconf" + +FILESEXTRAPATHS_prepend := "${THISDIR}/alsa-utils:" + +PACKAGES = "${PN}" +RDEPENDS_${PN} += "bash" + +FILES_${PN} = "${sbindir}/alsaconf \ + ${sbindir}/alsa-info.sh \ + ${sbindir}/alsabat-test.sh \ + " + +S = "${WORKDIR}/alsa-utils-${PV}" + +do_install() { + install -d ${D}${sbindir} + install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/ + install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/ + if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then + install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/ + fi +} diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb deleted file mode 100644 index 96d54e593..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb +++ /dev/null @@ -1,106 +0,0 @@ -SUMMARY = "ALSA sound utilities" -HOMEPAGE = "http://www.alsa-project.org" -BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" -SECTION = "console/utils" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://alsactl/utils.c;beginline=1;endline=20;md5=2ce7f7b6739487fb72c689d46521f958" -DEPENDS = "alsa-lib ncurses libsamplerate0" - -PACKAGECONFIG ??= "udev" - -# alsabat can be built also without fftw support (with reduced functionality). -# It would be better to always enable alsabat, but provide an option for -# enabling/disabling fftw. The configure script doesn't support that, however -# (at least in any obvious way), so for now we only support alsabat with fftw -# or no alsabat at all. -PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf" - -PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev" -PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" - -# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe -SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2" -SRC_URI[md5sum] = "54d6f9b483144823d0fc0c26e8cea028" -SRC_URI[sha256sum] = "fd9bf528922b3829a91913b89a1858c58a0b24271a7b5f529923aa9ea12fa4cf" - -# On build machines with python-docutils (not python3-docutils !!) installed -# rst2man (not rst2man.py) is detected and compile fails with -# | make[1]: *** No rule to make target 'alsaucm.1', needed by 'all-am'. Stop. -# Avoid this by disabling expicitly -EXTRA_OECONF = "--disable-rst2man" - -inherit autotools gettext pkgconfig manpages - -# This are all packages that we need to make. Also, the now empty alsa-utils -# ipk depends on them. - -ALSA_UTILS_PKGS = "\ - ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'alsa-utils-alsabat', '', d)} \ - alsa-utils-alsamixer \ - alsa-utils-alsatplg \ - alsa-utils-midi \ - alsa-utils-aplay \ - alsa-utils-amixer \ - alsa-utils-aconnect \ - alsa-utils-iecset \ - alsa-utils-speakertest \ - alsa-utils-aseqnet \ - alsa-utils-aseqdump \ - alsa-utils-alsactl \ - alsa-utils-alsaloop \ - alsa-utils-alsaucm \ - " - -PACKAGES += "${ALSA_UTILS_PKGS}" -RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}" - -FILES_${PN} = "" -FILES_alsa-utils-alsabat = "${bindir}/alsabat" -FILES_alsa-utils-alsatplg = "${bindir}/alsatplg" -FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer" -FILES_alsa-utils-amixer = "${bindir}/amixer" -FILES_alsa-utils-alsamixer = "${bindir}/alsamixer" -FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/" -FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi" -FILES_alsa-utils-aconnect = "${bindir}/aconnect" -FILES_alsa-utils-aseqnet = "${bindir}/aseqnet" -FILES_alsa-utils-iecset = "${bindir}/iecset" -FILES_alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/" -FILES_alsa-utils-aseqdump = "${bindir}/aseqdump" -FILES_alsa-utils-alsaloop = "${bindir}/alsaloop" -FILES_alsa-utils-alsaucm = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules" - -SUMMARY_alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver" -SUMMARY_alsa-utils-alsatplg = "Converts topology text files into binary format for kernel" -SUMMARY_alsa-utils-aplay = "Play (and record) sound files using ALSA" -SUMMARY_alsa-utils-amixer = "Command-line control for ALSA mixer and settings" -SUMMARY_alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings" -SUMMARY_alsa-utils-speakertest = "ALSA surround speaker test utility" -SUMMARY_alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA" -SUMMARY_alsa-utils-aconnect = "ALSA sequencer connection manager" -SUMMARY_alsa-utils-aseqnet = "Network client/server for ALSA sequencer" -SUMMARY_alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits" -SUMMARY_alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state" -SUMMARY_alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port" -SUMMARY_alsa-utils-alsaloop = "ALSA PCM loopback utility" -SUMMARY_alsa-utils-alsaucm = "ALSA Use Case Manager" - -RRECOMMENDS_alsa-utils-alsactl = "alsa-states" - -ALLOW_EMPTY_alsa-utils = "1" - -do_install() { - autotools_do_install - - # We don't ship this here because it requires a dependency on bash. - # See alsa-utils-scripts_${PV}.bb - rm ${D}${sbindir}/alsaconf - rm ${D}${sbindir}/alsa-info.sh - rm -f ${D}${sbindir}/alsabat-test.sh - - # If udev is disabled, we told configure to install the rules - # in /unwanted, so we can remove them now. If udev is enabled, - # then /unwanted won't exist and this will have no effect. - rm -rf ${D}/unwanted -} diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.9.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.9.bb new file mode 100644 index 000000000..03b5c8de3 --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.9.bb @@ -0,0 +1,106 @@ +SUMMARY = "ALSA sound utilities" +HOMEPAGE = "http://www.alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "console/utils" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://alsactl/utils.c;beginline=1;endline=20;md5=2ce7f7b6739487fb72c689d46521f958" +DEPENDS = "alsa-lib ncurses libsamplerate0" + +PACKAGECONFIG ??= "udev" + +# alsabat can be built also without fftw support (with reduced functionality). +# It would be better to always enable alsabat, but provide an option for +# enabling/disabling fftw. The configure script doesn't support that, however +# (at least in any obvious way), so for now we only support alsabat with fftw +# or no alsabat at all. +PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf" + +PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev" +PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" + +# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe +SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2" +SRC_URI[md5sum] = "5ed21c3e296c06046cc986e732f625f6" +SRC_URI[sha256sum] = "5ddf2cbddb4bd1a4a2a6492a09c25898b08c3ad64893c3655be14194cf0a213a" + +# On build machines with python-docutils (not python3-docutils !!) installed +# rst2man (not rst2man.py) is detected and compile fails with +# | make[1]: *** No rule to make target 'alsaucm.1', needed by 'all-am'. Stop. +# Avoid this by disabling expicitly +EXTRA_OECONF = "--disable-rst2man" + +inherit autotools gettext pkgconfig manpages + +# This are all packages that we need to make. Also, the now empty alsa-utils +# ipk depends on them. + +ALSA_UTILS_PKGS = "\ + ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'alsa-utils-alsabat', '', d)} \ + alsa-utils-alsamixer \ + alsa-utils-alsatplg \ + alsa-utils-midi \ + alsa-utils-aplay \ + alsa-utils-amixer \ + alsa-utils-aconnect \ + alsa-utils-iecset \ + alsa-utils-speakertest \ + alsa-utils-aseqnet \ + alsa-utils-aseqdump \ + alsa-utils-alsactl \ + alsa-utils-alsaloop \ + alsa-utils-alsaucm \ + " + +PACKAGES += "${ALSA_UTILS_PKGS}" +RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}" + +FILES_${PN} = "" +FILES_alsa-utils-alsabat = "${bindir}/alsabat" +FILES_alsa-utils-alsatplg = "${bindir}/alsatplg" +FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer" +FILES_alsa-utils-amixer = "${bindir}/amixer" +FILES_alsa-utils-alsamixer = "${bindir}/alsamixer" +FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/" +FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi" +FILES_alsa-utils-aconnect = "${bindir}/aconnect" +FILES_alsa-utils-aseqnet = "${bindir}/aseqnet" +FILES_alsa-utils-iecset = "${bindir}/iecset" +FILES_alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/" +FILES_alsa-utils-aseqdump = "${bindir}/aseqdump" +FILES_alsa-utils-alsaloop = "${bindir}/alsaloop" +FILES_alsa-utils-alsaucm = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules" + +SUMMARY_alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver" +SUMMARY_alsa-utils-alsatplg = "Converts topology text files into binary format for kernel" +SUMMARY_alsa-utils-aplay = "Play (and record) sound files using ALSA" +SUMMARY_alsa-utils-amixer = "Command-line control for ALSA mixer and settings" +SUMMARY_alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings" +SUMMARY_alsa-utils-speakertest = "ALSA surround speaker test utility" +SUMMARY_alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA" +SUMMARY_alsa-utils-aconnect = "ALSA sequencer connection manager" +SUMMARY_alsa-utils-aseqnet = "Network client/server for ALSA sequencer" +SUMMARY_alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits" +SUMMARY_alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state" +SUMMARY_alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port" +SUMMARY_alsa-utils-alsaloop = "ALSA PCM loopback utility" +SUMMARY_alsa-utils-alsaucm = "ALSA Use Case Manager" + +RRECOMMENDS_alsa-utils-alsactl = "alsa-states" + +ALLOW_EMPTY_alsa-utils = "1" + +do_install() { + autotools_do_install + + # We don't ship this here because it requires a dependency on bash. + # See alsa-utils-scripts_${PV}.bb + rm ${D}${sbindir}/alsaconf + rm ${D}${sbindir}/alsa-info.sh + rm -f ${D}${sbindir}/alsabat-test.sh + + # If udev is disabled, we told configure to install the rules + # in /unwanted, so we can remove them now. If udev is enabled, + # then /unwanted won't exist and this will have no effect. + rm -rf ${D}/unwanted +} diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb index 994a792de..147388d9b 100644 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb @@ -63,6 +63,7 @@ PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm" PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack" PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis" PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz" +PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk" PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2" diff --git a/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch b/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch deleted file mode 100644 index db742dea2..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8a156d1725ecd03f2e8cdc8874e081dda2d3b43d Mon Sep 17 00:00:00 2001 -From: Aurelien Jarno -Date: Sun, 15 Apr 2018 00:49:55 +0200 -Subject: [PATCH] gstconfig.h.in: initial RISC-V support - -RISC-V supports unaligned accesses, but these might run extremely slowly -depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS -to 0 on this architecture. - -https://bugzilla.gnome.org/show_bug.cgi?id=795271 - -Signed-off-by: Alistair Francis -Upstream-Status: Accepted [1.15.1 - https://bugzilla.gnome.org/show_bug.cgi?id=795271] ---- - gst/gstconfig.h.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in -index 6351c04da..33dfed1f6 100644 ---- a/gst/gstconfig.h.in -+++ b/gst/gstconfig.h.in -@@ -104,7 +104,7 @@ - * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6 - * https://software.intel.com/en-us/node/583402 - */ --#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) -+#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv) - # define GST_HAVE_UNALIGNED_ACCESS 0 - #elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__) - # define GST_HAVE_UNALIGNED_ACCESS 1 diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb b/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb index 75ac9b75c..f2a3afbbf 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb @@ -6,11 +6,11 @@ DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins- SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https \ file://0001-Make-player-examples-installable.patch \ - file://gst-player.desktop" + file://gst-player.desktop \ + " -SRCREV = "2b3fc175c252cd5a537e4b2864b572a8372473d6" -PV = "0.0.1+git${SRCPV}" -UPSTREAM_CHECK_COMMITS = "1" +SRCREV = "d953c127c1146b50d5676618299933950685dcd7" +PV = "1.16.0" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.14.4.bb deleted file mode 100644 index a4b3b465c..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.14.4.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "Gstreamer validation tool" -DESCRIPTION = "A Tool to test GStreamer components" -HOMEPAGE = "https://gstreamer.freedesktop.org/releases/gst-validate/1.12.3.html" -SECTION = "multimedia" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" - -SRC_URI = "https://gstreamer.freedesktop.org/src/${BPN}/${BP}.tar.xz \ - file://0001-connect-has-a-different-signature-on-musl.patch \ - " -SRC_URI[md5sum] = "1f4fc5308695adfdc11d13046aa4888c" -SRC_URI[sha256sum] = "18dccca94bdc0bab3cddb07817bd280df7ab4abbec9a83b92620367a22d955c7" - -DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" -RRECOMMENDS_${PN} = "git" - -FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*" - -inherit pkgconfig gettext autotools gobject-introspection gtk-doc upstream-version-is-even - -# With gtk-doc enabled this recipe fails to build, so forcibly disable it: -# WORKDIR/build/docs/validate/gst-validate-scan: line 117: -# WORKDIR/build/docs/validate/.libs/lt-gst-validate-scan: No such file or directory -GTKDOC_ENABLED = "False" diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.0.bb new file mode 100644 index 000000000..1f4370619 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Gstreamer validation tool" +DESCRIPTION = "A Tool to test GStreamer components" +HOMEPAGE = "https://gstreamer.freedesktop.org/releases/gst-validate/1.12.3.html" +SECTION = "multimedia" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" + +SRC_URI = "https://gstreamer.freedesktop.org/src/${BPN}/${BP}.tar.xz \ + file://0001-connect-has-a-different-signature-on-musl.patch \ + " +SRC_URI[md5sum] = "c5c57f3325a2e62aae4a8ec4931f7711" +SRC_URI[sha256sum] = "9331ae48a173a048243539730cc7a88607777762dea4aebbc3ab55981e68d6c9" + +DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" +RRECOMMENDS_${PN} = "git" + +FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*" + +inherit pkgconfig gettext autotools gobject-introspection gtk-doc upstream-version-is-even + +# With gtk-doc enabled this recipe fails to build, so forcibly disable it: +# WORKDIR/build/docs/validate/gst-validate-scan: line 117: +# WORKDIR/build/docs/validate/.libs/lt-gst-validate-scan: No such file or directory +GTKDOC_ENABLED = "False" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch index 1d99ad125..11571aefa 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch @@ -15,7 +15,7 @@ diff --git a/configure.ac b/configure.ac index 22ede88..ef3c050 100644 --- a/configure.ac +++ b/configure.ac -@@ -305,6 +305,12 @@ else +@@ -355,6 +355,12 @@ else emblibav_configure_args="$emblibav_configure_args --enable-gpl" fi diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch index b80d07394..f182715bd 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch @@ -22,8 +22,8 @@ diff --git a/gst-libs/ext/libav/configure b/gst-libs/ext/libav/configure index 4a5e477..727818e 100755 --- a/gst-libs/ext/libav/configure +++ b/gst-libs/ext/libav/configure -@@ -4295,6 +4295,7 @@ elif enabled arm; then - elif check_arm_arch 6Z; then echo armv6z +@@ -4745,6 +4745,7 @@ elif enabled arm; then + elif check_arm_arch 6KZ; then echo armv6zk elif check_arm_arch 6ZK; then echo armv6zk elif check_arm_arch 6T2; then echo armv6t2 + elif check_arm_arch EXT_IDIV; then echo armv7ve diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch index 7a0b44888..90d042b31 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch @@ -17,7 +17,7 @@ Index: gst-libav-1.10.1/gst-libs/ext/libav/configure =================================================================== --- gst-libav-1.10.1.orig/gst-libs/ext/libav/configure +++ gst-libav-1.10.1/gst-libs/ext/libav/configure -@@ -5269,12 +5269,9 @@ elif enabled mips; then +@@ -5650,12 +5650,9 @@ elif enabled mips; then # Enable minimum ISA based on selected options if enabled mips64; then diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch index 36abf8607..4b8535654 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch @@ -11,7 +11,7 @@ Signed-off-by: Robert Yang --- gst-libav-1.4.5.orig/gst-libs/ext/libav/libavcodec/h264_cabac.c +++ gst-libav-1.4.5/gst-libs/ext/libav/libavcodec/h264_cabac.c -@@ -2020,7 +2020,11 @@ decode_intra_mb: +@@ -2057,7 +2057,11 @@ decode_intra_mb: // In deblocking, the quantizer is 0 h->cur_pic.qscale_table[mb_xy] = 0; // All coeffs are present diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.4.bb deleted file mode 100644 index 5c9c372f0..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.4.bb +++ /dev/null @@ -1,70 +0,0 @@ -SUMMARY = "Libav-based GStreamer 1.x plugin" -HOMEPAGE = "http://gstreamer.freedesktop.org/" -SECTION = "multimedia" - -LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )" -LICENSE_FLAGS = "commercial" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ - file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ - file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ - file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ - file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" - -SRC_URI = "http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \ - file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \ - file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \ - file://mips64_cpu_detection.patch \ - file://0001-configure-check-for-armv7ve-variant.patch \ - file://0001-fix-host-contamination.patch \ - " -SRC_URI[md5sum] = "58342db11dbb201a66a62577dcf7bab5" -SRC_URI[sha256sum] = "dfd78591901df7853eab7e56a86c34a1b03635da0d3d56b89aa577f1897865da" - -S = "${WORKDIR}/gst-libav-${PV}" - -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz" - -inherit autotools pkgconfig upstream-version-is-even gtk-doc - -# CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time, -# compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the -# libav copy included in the gst-libav package. -PACKAGECONFIG ??= "orc yasm" - -PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl," -PACKAGECONFIG[libav] = "--with-system-libav,,libav" -PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" -PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,nasm-native" -PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind" - -GSTREAMER_1_0_DEBUG ?= "--disable-debug" - -LIBAV_EXTRA_CONFIGURE = "--with-libav-extra-configure" - -LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \ - --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ - --ranlib='${RANLIB}' \ - ${GSTREAMER_1_0_DEBUG} \ - --cross-prefix='${HOST_PREFIX}'" - -# Disable assembly optimizations for X32, as this libav lacks the support -PACKAGECONFIG_remove_linux-gnux32 = "yasm" -LIBAV_EXTRA_CONFIGURE_COMMON_ARG_append_linux-gnux32 = " --disable-asm" - -LIBAV_EXTRA_CONFIGURE_COMMON = \ -'${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"' - -EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}" - -FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" -FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" -FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" - -# http://errors.yoctoproject.org/Errors/Details/20493/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -# ffmpeg/libav disables PIC on some platforms (e.g. x86-32) -INSANE_SKIP_${PN} = "textrel" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb new file mode 100644 index 000000000..d94c3215d --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb @@ -0,0 +1,75 @@ +SUMMARY = "Libav-based GStreamer 1.x plugin" +HOMEPAGE = "http://gstreamer.freedesktop.org/" +SECTION = "multimedia" + +LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )" +LICENSE_FLAGS = "commercial" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ + file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ + file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ + file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ + file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" + +SRC_URI = "http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \ + file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \ + file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \ + file://mips64_cpu_detection.patch \ + file://0001-configure-check-for-armv7ve-variant.patch \ + file://0001-fix-host-contamination.patch \ + " +SRC_URI[md5sum] = "e3a201a45985ddc1327cd496046ca818" +SRC_URI[sha256sum] = "dfac119043a9cfdcacd7acde77f674ab172cf2537b5812be52f49e9cddc53d9a" + +S = "${WORKDIR}/gst-libav-${PV}" + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz" + +inherit autotools pkgconfig upstream-version-is-even gtk-doc + +# Disable documentation for now as it is failing with gtk-doc 1.30: +# gst-libav-plugins-docs.sgml:38: element include: XInclude error: +# could not load xml/tree_index.sgml, and no fallback was found +GTKDOC_ENABLED = "False" + +# CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time, +# compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the +# libav copy included in the gst-libav package. +PACKAGECONFIG ??= "orc yasm" + +PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl," +PACKAGECONFIG[libav] = "--with-system-libav,,libav" +PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" +PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,nasm-native" +PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind" + +GSTREAMER_1_0_DEBUG ?= "--disable-debug" + +LIBAV_EXTRA_CONFIGURE = "--with-libav-extra-configure" + +LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \ + --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ + --ranlib='${RANLIB}' \ + ${GSTREAMER_1_0_DEBUG} \ + --cross-prefix='${HOST_PREFIX}'" + +# Disable assembly optimizations for X32, as this libav lacks the support +PACKAGECONFIG_remove_linux-gnux32 = "yasm" +LIBAV_EXTRA_CONFIGURE_COMMON_ARG_append_linux-gnux32 = " --disable-asm" + +LIBAV_EXTRA_CONFIGURE_COMMON = \ +'${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"' + +EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}" + +FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" +FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" +FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" + +# http://errors.yoctoproject.org/Errors/Details/20493/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +# ffmpeg/libav disables PIC on some platforms (e.g. x86-32) +INSANE_SKIP_${PN} = "textrel" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bb deleted file mode 100644 index 39ca1e385..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bb +++ /dev/null @@ -1,57 +0,0 @@ -SUMMARY = "OpenMAX IL plugins for GStreamer" -HOMEPAGE = "http://gstreamer.freedesktop.org/" -SECTION = "multimedia" - -LICENSE = "LGPLv2.1" -LICENSE_FLAGS = "commercial" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ - file://omx/gstomx.h;beginline=1;endline=21;md5=5c8e1fca32704488e76d2ba9ddfa935f" - -SRC_URI = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" - -SRC_URI[md5sum] = "81e67ea03be607b7c548ce911598d754" -SRC_URI[sha256sum] = "969870e75c1f75c96f8783530e2c2932fc3afbfd976eb0c466f51dae268ea3d4" - -S = "${WORKDIR}/gst-omx-${PV}" - -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" - -inherit autotools pkgconfig gettext gtk-doc upstream-version-is-even - -acpaths = "-I ${S}/common/m4 -I ${S}/m4" - -GSTREAMER_1_0_OMX_TARGET ?= "bellagio" -GSTREAMER_1_0_OMX_CORE_NAME ?= "${libdir}/libomxil-bellagio.so.0" - -EXTRA_OECONF += "--disable-valgrind --with-omx-target=${GSTREAMER_1_0_OMX_TARGET}" - -python __anonymous () { - omx_target = d.getVar("GSTREAMER_1_0_OMX_TARGET") - if omx_target in ['generic', 'bellagio']: - # Bellagio headers are incomplete (they are missing the OMX_VERSION_MAJOR,# - # OMX_VERSION_MINOR, OMX_VERSION_REVISION, and OMX_VERSION_STEP macros); - # appending a directory path to gst-omx' internal OpenMAX IL headers fixes this - d.appendVar("CFLAGS", " -I${S}/omx/openmax") - elif omx_target == "rpi": - # Dedicated Raspberry Pi OpenMAX IL support makes this package machine specific - d.setVar("PACKAGE_ARCH", d.getVar("MACHINE_ARCH")) -} - -delete_pkg_m4_file() { - # Delete m4 files which we provide patched versions of but will be ignored - # if these exist - rm -f "${S}/common/m4/pkg.m4" - rm -f "${S}/common/m4/gtk-doc.m4" -} -do_configure[prefuncs] += "delete_pkg_m4_file" - -set_omx_core_name() { - sed -i -e "s;^core-name=.*;core-name=${GSTREAMER_1_0_OMX_CORE_NAME};" "${D}${sysconfdir}/xdg/gstomx.conf" -} -do_install[postfuncs] += " set_omx_core_name " - -FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" -FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" -FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" - -RDEPENDS_${PN} = "libomxil" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.0.bb new file mode 100644 index 000000000..d94bad36f --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.0.bb @@ -0,0 +1,57 @@ +SUMMARY = "OpenMAX IL plugins for GStreamer" +HOMEPAGE = "http://gstreamer.freedesktop.org/" +SECTION = "multimedia" + +LICENSE = "LGPLv2.1" +LICENSE_FLAGS = "commercial" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://omx/gstomx.h;beginline=1;endline=21;md5=5c8e1fca32704488e76d2ba9ddfa935f" + +SRC_URI = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" + +SRC_URI[md5sum] = "c6f8554513980682099a2a9832250b01" +SRC_URI[sha256sum] = "fef77cddc02784608451c46b9def880b63230a246decf8900f2da2ed54a8af4a" + +S = "${WORKDIR}/gst-omx-${PV}" + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" + +inherit autotools pkgconfig gettext gtk-doc upstream-version-is-even + +acpaths = "-I ${S}/common/m4 -I ${S}/m4" + +GSTREAMER_1_0_OMX_TARGET ?= "bellagio" +GSTREAMER_1_0_OMX_CORE_NAME ?= "${libdir}/libomxil-bellagio.so.0" + +EXTRA_OECONF += "--disable-valgrind --with-omx-target=${GSTREAMER_1_0_OMX_TARGET}" + +python __anonymous () { + omx_target = d.getVar("GSTREAMER_1_0_OMX_TARGET") + if omx_target in ['generic', 'bellagio']: + # Bellagio headers are incomplete (they are missing the OMX_VERSION_MAJOR,# + # OMX_VERSION_MINOR, OMX_VERSION_REVISION, and OMX_VERSION_STEP macros); + # appending a directory path to gst-omx' internal OpenMAX IL headers fixes this + d.appendVar("CFLAGS", " -I${S}/omx/openmax") + elif omx_target == "rpi": + # Dedicated Raspberry Pi OpenMAX IL support makes this package machine specific + d.setVar("PACKAGE_ARCH", d.getVar("MACHINE_ARCH")) +} + +delete_pkg_m4_file() { + # Delete m4 files which we provide patched versions of but will be ignored + # if these exist + rm -f "${S}/common/m4/pkg.m4" + rm -f "${S}/common/m4/gtk-doc.m4" +} +do_configure[prefuncs] += "delete_pkg_m4_file" + +set_omx_core_name() { + sed -i -e "s;^core-name=.*;core-name=${GSTREAMER_1_0_OMX_CORE_NAME};" "${D}${sysconfdir}/xdg/gstomx.conf" +} +do_install[postfuncs] += " set_omx_core_name " + +FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" +FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" +FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" + +RDEPENDS_${PN} = "libomxil" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch deleted file mode 100644 index 05b991a8f..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 7d8e8b8bcce34d01fc7ad7285b4eb17ad8949399 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal -Date: Wed, 11 Apr 2018 11:06:39 +0800 -Subject: [PATCH] Makefile.am: don't hardcode libtool name when running - introspection tools - -Upstream-Status: Pending [review on oe-core list] -Signed-off-by: Alexander Kanavin -Signed-off-by: Maxin B. John ---- - gst-libs/gst/insertbin/Makefile.am | 2 +- - gst-libs/gst/mpegts/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gst-libs/gst/insertbin/Makefile.am b/gst-libs/gst/insertbin/Makefile.am -index 1f8ea30..4b98ef6 100644 ---- a/gst-libs/gst/insertbin/Makefile.am -+++ b/gst-libs/gst/insertbin/Makefile.am -@@ -45,7 +45,7 @@ GstInsertBin-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstinsertbin-@GS - --library=libgstinsertbin-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-insertbin-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/mpegts/Makefile.am b/gst-libs/gst/mpegts/Makefile.am -index f264e33..9934a4d 100644 ---- a/gst-libs/gst/mpegts/Makefile.am -+++ b/gst-libs/gst/mpegts/Makefile.am -@@ -82,7 +82,7 @@ GstMpegts-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstmpegts-@GST_API_ - --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-@GST_API_VERSION@` \ - --library=libgstmpegts-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-video-@GST_API_VERSION@ \ - --pkg-export gstreamer-mpegts-@GST_API_VERSION@ \ --- -2.7.4 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch index 357fd7800..32261279a 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch @@ -16,7 +16,7 @@ diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c index b93255f..49f145a 100644 --- a/sys/dvb/gstdvbsrc.c +++ b/sys/dvb/gstdvbsrc.c -@@ -93,7 +93,7 @@ +@@ -97,7 +97,7 @@ #include #include #include diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch index ad8632989..25861b6b9 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch @@ -22,7 +22,7 @@ Index: gst-plugins-bad-1.12.3/configure.ac =================================================================== --- gst-plugins-bad-1.12.3.orig/configure.ac +++ gst-plugins-bad-1.12.3/configure.ac -@@ -2139,6 +2139,15 @@ AG_GST_CHECK_FEATURE(CHROMAPRINT, [chrom +@@ -1202,6 +1202,15 @@ AG_GST_CHECK_FEATURE(CHROMAPRINT, [chrom ]) dnl *** Curl *** @@ -38,7 +38,7 @@ Index: gst-plugins-bad-1.12.3/configure.ac translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true) AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [ PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [ -@@ -2161,12 +2170,14 @@ AG_GST_CHECK_FEATURE(CURL, [Curl plugin] +@@ -1224,12 +1233,14 @@ AG_GST_CHECK_FEATURE(CURL, [Curl plugin] ]) AC_SUBST(CURL_CFLAGS) AC_SUBST(CURL_LIBS) diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch index 20c9ffcd8..2d5389d95 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch @@ -27,7 +27,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp =================================================================== --- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklink.cpp +++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp -@@ -476,7 +476,7 @@ gst_decklink_mode_get_structure (GstDeck +@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDeck "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d, "interlace-mode", G_TYPE_STRING, mode->interlaced ? "interleaved" : "progressive", @@ -36,7 +36,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp if (input && mode->interlaced) { if (mode->tff) -@@ -489,16 +489,16 @@ gst_decklink_mode_get_structure (GstDeck +@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDeck case bmdFormat8BitYUV: /* '2vuy' */ gst_structure_set (s, "format", G_TYPE_STRING, "UYVY", "colorimetry", G_TYPE_STRING, mode->colorimetry, @@ -61,7 +61,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp =================================================================== --- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkaudiosrc.cpp +++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp -@@ -322,7 +322,7 @@ gst_decklink_audio_src_set_caps (GstBase +@@ -387,7 +387,7 @@ gst_decklink_audio_src_set_caps (GstBase g_mutex_unlock (&self->input->lock); if (videosrc) { @@ -74,7 +74,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp =================================================================== --- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkvideosink.cpp +++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp -@@ -163,7 +163,7 @@ reset_framerate (GstCapsFeatures * featu +@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * featu gpointer user_data) { gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch index 5ce57714e..73681f100 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch @@ -14,7 +14,7 @@ diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparser index fd16ee0..ddb890c 100644 --- a/gst-libs/gst/codecparsers/gstvc1parser.c +++ b/gst-libs/gst/codecparsers/gstvc1parser.c -@@ -1729,7 +1729,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size, +@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size, GstVC1SeqLayer * seqlayer) { guint32 tmp; diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb deleted file mode 100644 index 23d093d47..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb +++ /dev/null @@ -1,148 +0,0 @@ -require gstreamer1.0-plugins.inc - -SRC_URI = " \ - http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ - file://configure-allow-to-disable-libssh2.patch \ - file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \ - file://avoid-including-sys-poll.h-directly.patch \ - file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \ - file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ - file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \ -" -SRC_URI[md5sum] = "5d20a91d027708abcf924f6c1279dd25" -SRC_URI[sha256sum] = "910b4e0e2e897e8b6d06767af1779d70057c309f67292f485ff988d087aa0de5" - -S = "${WORKDIR}/gst-plugins-bad-${PV}" - -LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ - file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 " - -DEPENDS += "gstreamer1.0-plugins-base" - -inherit gettext bluetooth gobject-introspection - -PACKAGECONFIG ??= " \ - ${GSTREAMER_ORC} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \ - bz2 curl dash dtls hls rsvg sbc smoothstreaming sndfile ttml uvch264 webp \ -" - -# the gl packageconfig enables OpenGL elements that haven't been ported -# to -base yet. They depend on the gstgl library in -base, so we do -# not add GL dependencies here, since these are taken care of in -base. - -PACKAGECONFIG[assrender] = "--enable-assrender,--disable-assrender,libass" -PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,${BLUEZ}" -PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2" -PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" -PACKAGECONFIG[dash] = "--enable-dash,--disable-dash,libxml2" -PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" -PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb" -PACKAGECONFIG[dtls] = "--enable-dtls,--disable-dtls,openssl" -PACKAGECONFIG[faac] = "--enable-faac,--disable-faac,faac" -PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2" -PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa" -PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth" -PACKAGECONFIG[hls] = "--enable-hls --with-hls-crypto=nettle,--disable-hls,nettle" -PACKAGECONFIG[gl] = "--enable-gl,--disable-gl," -PACKAGECONFIG[kms] = "--enable-kms,--disable-kms,libdrm" -PACKAGECONFIG[libde265] = "--enable-libde265,--disable-libde265,libde265" -PACKAGECONFIG[libmms] = "--enable-libmms,--disable-libmms,libmms" -PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2" -PACKAGECONFIG[lcms2] = "--enable-lcms2,--disable-lcms2,lcms" -PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug" -PACKAGECONFIG[msdk] = "--enable-msdk,--disable-msdk,intel-mediasdk" -PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon" -PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft" -PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" -PACKAGECONFIG[openh264] = "--enable-openh264,--disable-openh264,openh264" -PACKAGECONFIG[openjpeg] = "--enable-openjpeg,--disable-openjpeg,openjpeg" -PACKAGECONFIG[openmpt] = "--enable-openmpt,--disable-openmpt,libopenmpt" -# the opus encoder/decoder elements are now in the -base package, -# but the opus parser remains in -bad -PACKAGECONFIG[opusparse] = "--enable-opus,--disable-opus,libopus" -PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdread libdvdnav" -PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg" -PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump" -PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc" -PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2" -PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1" -PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp" -PACKAGECONFIG[tinyalsa] = "--enable-tinyalsa,--disable-tinyalsa,tinyalsa" -PACKAGECONFIG[ttml] = "--enable-ttml,--disable-ttml,libxml2 pango cairo" -PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev" -PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" -PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" -PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm" -PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" -PACKAGECONFIG[webrtc] = "--enable-webrtc,--disable-webrtc,libnice" -PACKAGECONFIG[webrtcdsp] = "--enable-webrtcdsp,--disable-webrtcdsp,webrtc-audio-processing" - -# these plugins have no corresponding library in OE-core or meta-openembedded: -# openni2 winks direct3d directsound winscreencap acm apple_media iqa -# android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa -# lv2 mpeg2enc mplex musepack nvenc ofa opensles soundtouch -# spandsp spc teletextdec vdpau wasapi x265 zbar - -EXTRA_OECONF += " \ - --enable-decklink \ - --enable-dvb \ - --enable-fbdev \ - --enable-ipcpipeline \ - --enable-netsim \ - --enable-shm \ - --enable-vcd \ - --disable-acm \ - --disable-android_media \ - --disable-aom \ - --disable-apple_media \ - --disable-avc \ - --disable-bs2b \ - --disable-chromaprint \ - --disable-daala \ - --disable-direct3d \ - --disable-directsound \ - --disable-dts \ - --disable-fdk_aac \ - --disable-gme \ - --disable-gsm \ - --disable-iqa \ - --disable-kate \ - --disable-ladspa \ - --disable-lv2 \ - --disable-mpeg2enc \ - --disable-mplex \ - --disable-musepack \ - --disable-nvenc \ - --disable-ofa \ - --disable-openexr \ - --disable-openni2 \ - --disable-opensles \ - --disable-soundtouch \ - --disable-spandsp \ - --disable-spc \ - --disable-srt \ - --disable-teletextdec \ - --disable-vdpau \ - --disable-wasapi \ - --disable-wildmidi \ - --disable-winks \ - --disable-winscreencap \ - --disable-x265 \ - --disable-zbar \ - ${@bb.utils.contains("TUNE_FEATURES", "mx32", "--disable-yadif", "", d)} \ -" - -export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" - -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -FILES_${PN}-freeverb += "${datadir}/gstreamer-${LIBV}/presets/GstFreeverb.prs" -FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/${LIBV}/opencv*" -FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb new file mode 100644 index 000000000..f676b1f6d --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb @@ -0,0 +1,145 @@ +require gstreamer1.0-plugins.inc + +SRC_URI = " \ + http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ + file://configure-allow-to-disable-libssh2.patch \ + file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \ + file://avoid-including-sys-poll.h-directly.patch \ + file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \ + file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ +" +SRC_URI[md5sum] = "e9e562d86c1527c44d904500dd35e326" +SRC_URI[sha256sum] = "22139de35626ada6090bdfa3423b27b7fc15a0198331d25c95e6b12cb1072b05" + +S = "${WORKDIR}/gst-plugins-bad-${PV}" + +LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ + file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 " + +DEPENDS += "gstreamer1.0-plugins-base" + +inherit gettext bluetooth gobject-introspection + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \ + bz2 curl dash dtls hls rsvg sbc smoothstreaming sndfile ttml uvch264 webp \ +" + +# the gl packageconfig enables OpenGL elements that haven't been ported +# to -base yet. They depend on the gstgl library in -base, so we do +# not add GL dependencies here, since these are taken care of in -base. + +PACKAGECONFIG[assrender] = "--enable-assrender,--disable-assrender,libass" +PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,${BLUEZ}" +PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2" +PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" +PACKAGECONFIG[dash] = "--enable-dash,--disable-dash,libxml2" +PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" +PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb" +PACKAGECONFIG[dtls] = "--enable-dtls,--disable-dtls,openssl" +PACKAGECONFIG[faac] = "--enable-faac,--disable-faac,faac" +PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2" +PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa" +PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth" +PACKAGECONFIG[hls] = "--enable-hls --with-hls-crypto=nettle,--disable-hls,nettle" +PACKAGECONFIG[gl] = "--enable-gl,--disable-gl," +PACKAGECONFIG[kms] = "--enable-kms,--disable-kms,libdrm" +PACKAGECONFIG[libde265] = "--enable-libde265,--disable-libde265,libde265" +PACKAGECONFIG[libmms] = "--enable-libmms,--disable-libmms,libmms" +PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2" +PACKAGECONFIG[lcms2] = "--enable-lcms2,--disable-lcms2,lcms" +PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug" +PACKAGECONFIG[msdk] = "--enable-msdk,--disable-msdk,intel-mediasdk" +PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon" +PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft" +PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" +PACKAGECONFIG[openh264] = "--enable-openh264,--disable-openh264,openh264" +PACKAGECONFIG[openjpeg] = "--enable-openjpeg,--disable-openjpeg,openjpeg" +PACKAGECONFIG[openmpt] = "--enable-openmpt,--disable-openmpt,libopenmpt" +# the opus encoder/decoder elements are now in the -base package, +# but the opus parser remains in -bad +PACKAGECONFIG[opusparse] = "--enable-opus,--disable-opus,libopus" +PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdread libdvdnav" +PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg" +PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump" +PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc" +PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,usrsctp" +PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2" +PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1" +PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp" +PACKAGECONFIG[tinyalsa] = "--enable-tinyalsa,--disable-tinyalsa,tinyalsa" +PACKAGECONFIG[ttml] = "--enable-ttml,--disable-ttml,libxml2 pango cairo" +PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev" +PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" +PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" +PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm" +PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" +PACKAGECONFIG[webrtc] = "--enable-webrtc,--disable-webrtc,libnice" +PACKAGECONFIG[webrtcdsp] = "--enable-webrtcdsp,--disable-webrtcdsp,webrtc-audio-processing" + +# these plugins have no corresponding library in OE-core or meta-openembedded: +# openni2 winks direct3d directsound winscreencap apple_media iqa +# android_media avc bs2b chromaprint dts fdkaac gme gsm kate ladspa +# lv2 mpeg2enc mplex musepack nvenc ofa opensles soundtouch +# spandsp teletextdec vdpau wasapi wpe x265 zbar + +EXTRA_OECONF += " \ + --enable-decklink \ + --enable-dvb \ + --enable-fbdev \ + --enable-ipcpipeline \ + --enable-netsim \ + --enable-shm \ + --disable-android_media \ + --disable-aom \ + --disable-apple_media \ + --disable-avc \ + --disable-bs2b \ + --disable-chromaprint \ + --disable-direct3d \ + --disable-directsound \ + --disable-dts \ + --disable-fdk_aac \ + --disable-gme \ + --disable-gsm \ + --disable-iqa \ + --disable-kate \ + --disable-ladspa \ + --disable-lv2 \ + --disable-mpeg2enc \ + --disable-mplex \ + --disable-musepack \ + --disable-nvenc \ + --disable-ofa \ + --disable-openexr \ + --disable-openni2 \ + --disable-opensles \ + --disable-soundtouch \ + --disable-spandsp \ + --disable-srt \ + --disable-teletextdec \ + --disable-vdpau \ + --disable-wasapi \ + --disable-wildmidi \ + --disable-winks \ + --disable-winscreencap \ + --disable-wpe \ + --disable-x265 \ + --disable-zbar \ + ${@bb.utils.contains("TUNE_FEATURES", "mx32", "--disable-yadif", "", d)} \ +" + +export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +FILES_${PN}-freeverb += "${datadir}/gstreamer-${LIBV}/presets/GstFreeverb.prs" +FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/${LIBV}/opencv*" +FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch deleted file mode 100644 index bcada34c4..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch +++ /dev/null @@ -1,167 +0,0 @@ -From 7022b87353a37b78bae7cf0106a4e47913bb5c97 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 5 Apr 2018 10:15:08 +0800 -Subject: [PATCH] Makefile.am: don't hardcode libtool name when running - introspection tools - -Upstream-Status: Pending [review on oe-core maillist] -Signed-off-by: Alexander Kanavin -Signed-off-by: Anuj Mittal - ---- - gst-libs/gst/allocators/Makefile.am | 2 +- - gst-libs/gst/app/Makefile.am | 2 +- - gst-libs/gst/audio/Makefile.am | 2 +- - gst-libs/gst/gl/Makefile.am | 2 +- - gst-libs/gst/pbutils/Makefile.am | 2 +- - gst-libs/gst/riff/Makefile.am | 2 +- - gst-libs/gst/rtp/Makefile.am | 2 +- - gst-libs/gst/rtsp/Makefile.am | 2 +- - gst-libs/gst/sdp/Makefile.am | 2 +- - gst-libs/gst/tag/Makefile.am | 2 +- - gst-libs/gst/video/Makefile.am | 2 +- - 11 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am -index 1957d28..1ecc950 100644 ---- a/gst-libs/gst/allocators/Makefile.am -+++ b/gst-libs/gst/allocators/Makefile.am -@@ -42,7 +42,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@ - --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ - --library=libgstallocators-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg-export gstreamer-allocators-@GST_API_VERSION@ \ - --output $@ \ -diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am -index 52f6ad3..5bfd606 100644 ---- a/gst-libs/gst/app/Makefile.am -+++ b/gst-libs/gst/app/Makefile.am -@@ -56,7 +56,7 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO - --library=libgstapp-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-app-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am -index 2922245..7fb65f2 100644 ---- a/gst-libs/gst/audio/Makefile.am -+++ b/gst-libs/gst/audio/Makefile.am -@@ -184,7 +184,7 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ - --include=GstTag-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-audio-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am -index 4e77e8c..3276d7f 100644 ---- a/gst-libs/gst/gl/Makefile.am -+++ b/gst-libs/gst/gl/Makefile.am -@@ -193,7 +193,7 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ - --include=GstVideo-@GST_API_VERSION@ \ -- --libtool="${LIBTOOL}" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg gstreamer-video-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am -index ae51993..35a6e44 100644 ---- a/gst-libs/gst/pbutils/Makefile.am -+++ b/gst-libs/gst/pbutils/Makefile.am -@@ -103,7 +103,7 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP - --include=GstTag-@GST_API_VERSION@ \ - --include=GstVideo-@GST_API_VERSION@ \ - --include=GstAudio-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-tag-@GST_API_VERSION@ \ - --pkg gstreamer-video-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am -index fb53f06..e66ef4f 100644 ---- a/gst-libs/gst/riff/Makefile.am -+++ b/gst-libs/gst/riff/Makefile.am -@@ -49,7 +49,7 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) - # --include=GstAudio-@GST_API_VERSION@ \ - # --include=GstTag-@GST_API_VERSION@ \ - # --include=Gst-@GST_API_VERSION@ \ --# --libtool="$(top_builddir)/libtool" \ -+# --libtool="$(LIBTOOL)" \ - # --pkg gstreamer-@GST_API_VERSION@ \ - # --pkg gstreamer-tag-@GST_API_VERSION@ \ - # --pkg gstreamer-audio-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am -index a6f971d..77ebeeb 100644 ---- a/gst-libs/gst/rtp/Makefile.am -+++ b/gst-libs/gst/rtp/Makefile.am -@@ -69,7 +69,7 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO - --library=libgstrtp-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-rtp-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am -index ceb07f4..db9d0fd 100644 ---- a/gst-libs/gst/rtsp/Makefile.am -+++ b/gst-libs/gst/rtsp/Makefile.am -@@ -76,7 +76,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS - --include=Gio-2.0 \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstSdp-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gio-2.0 \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-sdp-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am -index e197e9b..6e05cc7 100644 ---- a/gst-libs/gst/sdp/Makefile.am -+++ b/gst-libs/gst/sdp/Makefile.am -@@ -34,7 +34,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO - --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ - --library=libgstsdp-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg-export gstreamer-sdp-@GST_API_VERSION@ \ - --output $@ \ -diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am -index 0247c33..c86515b 100644 ---- a/gst-libs/gst/tag/Makefile.am -+++ b/gst-libs/gst/tag/Makefile.am -@@ -66,7 +66,7 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO - --library=libgsttag-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-tag-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am -index 9fc1ccf..0f8455f 100644 ---- a/gst-libs/gst/video/Makefile.am -+++ b/gst-libs/gst/video/Makefile.am -@@ -124,7 +124,7 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE - --library=libgstvideo-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-video-@GST_API_VERSION@ \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch index 2e1190ba0..08cbfb7c2 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch @@ -34,7 +34,7 @@ index 1ecc950..d6417ac 100644 + --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ --library=libgstallocators-@GST_API_VERSION@.la \ --include=Gst-@GST_API_VERSION@ \ - --libtool="$(LIBTOOL)" \ + --libtool="${LIBTOOL}" \ @@ -63,7 +63,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) $(INTROSPECTION_COMPILER) \ --includedir=$(srcdir) \ @@ -63,7 +63,7 @@ diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am index 7fb65f2..5379f79 100644 --- a/gst-libs/gst/audio/Makefile.am +++ b/gst-libs/gst/audio/Makefile.am -@@ -174,12 +174,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE +@@ -176,12 +176,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE -I$(top_srcdir)/gst-libs \ -I$(top_builddir)/gst-libs \ --c-include "gst/audio/audio.h" \ @@ -80,7 +80,7 @@ index 7fb65f2..5379f79 100644 --library-path="$(top_builddir)/gst-libs/gst/tag/" \ --include=Gst-@GST_API_VERSION@ \ --include=GstBase-@GST_API_VERSION@ \ -@@ -208,8 +208,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) +@@ -210,8 +210,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) --includedir=$(srcdir) \ --includedir=$(builddir) \ --includedir="$(top_builddir)/gst-libs/gst/tag/" \ @@ -95,7 +95,7 @@ diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am index 3276d7f..0cdfe26 100644 --- a/gst-libs/gst/gl/Makefile.am +++ b/gst-libs/gst/gl/Makefile.am -@@ -186,9 +186,9 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@ +@@ -209,9 +209,9 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@ $(GST_PLUGINS_BASE_CFLAGS) \ $(GL_CFLAGS) \ --add-include-path="$(top_builddir)/gst-libs/gst/video/" \ @@ -107,7 +107,7 @@ index 3276d7f..0cdfe26 100644 --library=libgstgl-@GST_API_VERSION@.la \ --include=Gst-@GST_API_VERSION@ \ --include=GstBase-@GST_API_VERSION@ \ -@@ -218,8 +218,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) +@@ -241,8 +241,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) --includedir=$(srcdir) \ --includedir=$(builddir) \ --includedir="$(top_builddir)/gst-libs/gst/video/" \ @@ -117,7 +117,7 @@ index 3276d7f..0cdfe26 100644 + --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) - CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA) + CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am index 35a6e44..49d6894 100644 --- a/gst-libs/gst/pbutils/Makefile.am @@ -182,7 +182,7 @@ diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am index 77ebeeb..9aee788 100644 --- a/gst-libs/gst/rtp/Makefile.am +++ b/gst-libs/gst/rtp/Makefile.am -@@ -64,8 +64,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO +@@ -66,8 +66,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO --c-include "gst/rtp/rtp.h" \ -I$(top_builddir)/gst-libs \ -I$(top_srcdir)/gst-libs \ @@ -193,7 +193,7 @@ index 77ebeeb..9aee788 100644 --library=libgstrtp-@GST_API_VERSION@.la \ --include=Gst-@GST_API_VERSION@ \ --include=GstBase-@GST_API_VERSION@ \ -@@ -92,8 +92,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) +@@ -94,8 +94,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) $(INTROSPECTION_COMPILER) \ --includedir=$(srcdir) \ --includedir=$(builddir) \ @@ -208,24 +208,17 @@ diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am index db9d0fd..79027cb 100644 --- a/gst-libs/gst/rtsp/Makefile.am +++ b/gst-libs/gst/rtsp/Makefile.am -@@ -71,7 +71,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS +@@ -71,8 +71,8 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS -I$(top_builddir)/gst-libs \ -I$(top_srcdir)/gst-libs \ --add-include-path=$(builddir)/../sdp \ - --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ --library=libgstrtsp-@GST_API_VERSION@.la \ --include=Gio-2.0 \ --include=Gst-@GST_API_VERSION@ \ -@@ -101,7 +101,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) - --includedir=$(srcdir) \ - --includedir=$(builddir) \ - --includedir=$(builddir)/../sdp \ -- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ -+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ - $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) - - CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am index 6e05cc7..c7cf514 100644 --- a/gst-libs/gst/sdp/Makefile.am @@ -238,7 +231,7 @@ index 6e05cc7..c7cf514 100644 + --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ --library=libgstsdp-@GST_API_VERSION@.la \ --include=Gst-@GST_API_VERSION@ \ - --libtool="$(LIBTOOL)" \ + --libtool="${LIBTOOL}" \ @@ -55,7 +55,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) $(INTROSPECTION_COMPILER) \ --includedir=$(srcdir) \ @@ -278,7 +271,7 @@ diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am index 0f8455f..8c9955c 100644 --- a/gst-libs/gst/video/Makefile.am +++ b/gst-libs/gst/video/Makefile.am -@@ -119,8 +119,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE +@@ -124,8 +124,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE --c-include "gst/video/video.h" \ -I$(top_srcdir)/gst-libs \ -I$(top_builddir)/gst-libs \ @@ -289,7 +282,7 @@ index 0f8455f..8c9955c 100644 --library=libgstvideo-@GST_API_VERSION@.la \ --include=Gst-@GST_API_VERSION@ \ --include=GstBase-@GST_API_VERSION@ \ -@@ -147,8 +147,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) +@@ -152,8 +152,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) $(INTROSPECTION_COMPILER) \ --includedir=$(srcdir) \ --includedir=$(builddir) \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch index aaeb611fe..97a0d68cf 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch @@ -15,10 +15,10 @@ diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am index 79027cb..2987e23 100644 --- a/gst-libs/gst/rtsp/Makefile.am +++ b/gst-libs/gst/rtsp/Makefile.am -@@ -79,7 +79,6 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS - --libtool="$(LIBTOOL)" \ +@@ -82,7 +82,6 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS --pkg gio-2.0 \ --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg gstreamer-sdp-@GST_API_VERSION@ \ --pkg-export gstreamer-rtsp-@GST_API_VERSION@ \ --add-init-section="$(INTROSPECTION_INIT)" \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch new file mode 100644 index 000000000..6e53d2e8b --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch @@ -0,0 +1,32 @@ +From bec38a0c2e2958927c42b2f9ae939969b7c4a326 Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani +Date: Tue, 21 May 2019 14:01:11 +0200 +Subject: [PATCH] viv-fb: Make sure config.h is included + +This prevents build errors due to missing GST_API_* symbols + +Upstream-Status: Pending + +Signed-off-by: Carlos Rafael Giani +--- + gst-libs/gst/gl/gl-prelude.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h +index 05e1f6229..96ce5e685 100644 +--- a/gst-libs/gst/gl/gl-prelude.h ++++ b/gst-libs/gst/gl/gl-prelude.h +@@ -22,6 +22,10 @@ + #ifndef __GST_GL_PRELUDE_H__ + #define __GST_GL_PRELUDE_H__ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ + #include + + #ifdef BUILDING_GST_GL +-- +2.17.1 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch index c81fb0f6a..e8094f459 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch @@ -18,7 +18,7 @@ diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c index a4b2540..0ccaacd 100644 --- a/ext/gl/gstopengl.c +++ b/ext/gl/gstopengl.c -@@ -118,7 +118,7 @@ plugin_init (GstPlugin * plugin) +@@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin) #endif if (!gst_element_register (plugin, "glimagesink", diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch deleted file mode 100644 index 45ba50750..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch +++ /dev/null @@ -1,70 +0,0 @@ -From a1b59ca6b1781442f37ffc1b697635db126b3a22 Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani -Date: Thu, 19 Jul 2018 10:30:54 +0200 -Subject: [PATCH] gl: Add switch for explicitely enabling/disabling GBM support - -Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=796833] - -Signed-off-by: Carlos Rafael Giani ---- - m4/gst-gl.m4 | 30 ++++++++++++++++++++++++++++-- - 1 file changed, 28 insertions(+), 2 deletions(-) - -diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4 -index 1e9724094..aca5295cc 100644 ---- a/m4/gst-gl.m4 -+++ b/m4/gst-gl.m4 -@@ -117,6 +117,15 @@ AC_ARG_ENABLE([dispmanx], - *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;; - esac],[NEED_DISPMANX=auto]) - -+AC_ARG_ENABLE([gbm], -+ [ --enable-gbm Enable Mesa3D GBM support (requires EGL) @<:@default=auto@:>@], -+ [case "${enableval}" in -+ yes) NEED_GBM=yes ;; -+ no) NEED_GBM=no ;; -+ auto) NEED_GBM=auto ;; -+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-gbm]) ;; -+ esac],[NEED_GBM=auto]) -+ - AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb) - save_CPPFLAGS="$CPPFLAGS" - save_LIBS="$LIBS" -@@ -172,15 +181,32 @@ case $host in - AC_CHECK_LIB([EGL], [fbGetDisplay], [HAVE_VIV_FB_EGL=yes]) - fi - -- if test "x$HAVE_EGL" = "xyes"; then -+ if test "x$NEED_GBM" != "xno"; then -+ if test "x$HAVE_EGL" = "xyes"; then - PKG_CHECK_MODULES(DRM, libdrm >= 2.4.55, HAVE_DRM=yes, HAVE_DRM=no) - AC_SUBST(DRM_CFLAGS) - AC_SUBST(DRM_LIBS) -+ if test "x$NEED_GBM" = "xyes"; then -+ if test "x$HAVE_DRM" = "xno"; then -+ AC_MSG_ERROR([GBM support requested but libdrm is not available]) -+ fi -+ if test "x$HAVE_GUDEV" = "xno"; then -+ AC_MSG_ERROR([GBM support requested but gudev is not available]) -+ fi -+ fi - if test "x$HAVE_DRM" = "xyes" -a "x$HAVE_GUDEV" = "xyes"; then - PKG_CHECK_MODULES(GBM, gbm, HAVE_GBM_EGL=yes, HAVE_GBM_EGL=no) -+ if test "x$HAVE_GBM_EGL" = "xno" -a "x$NEED_GBM" = "xyes"; then -+ AC_MSG_ERROR([GBM support requested but gbm library is not available]) -+ fi - AC_SUBST(GBM_CFLAGS) - AC_SUBST(GBM_LIBS) -- fi -+ fi -+ elif test "x$NEED_GBM" = "xyes"; then -+ AC_MSG_ERROR([GBM support requested but EGL is not available]) -+ else -+ AC_MSG_NOTICE([GBM support requested but EGL is not available; not enabling GBM support]) -+ fi - fi - - dnl FIXME: Mali EGL depends on GLESv1 or GLESv2 --- -2.17.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch deleted file mode 100644 index 65d191a39..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 092aadfc1df69c46d920b0cd39f98d363d6988b3 Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani -Date: Thu, 19 Jul 2018 11:16:05 +0200 -Subject: [PATCH] gl: Add switches for explicitely enabling/disabling PNG and - JPEG support - -Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=796833] - -Signed-off-by: Carlos Rafael Giani ---- - m4/gst-gl.m4 | 66 ++++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 46 insertions(+), 20 deletions(-) - -diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4 -index 20b2233de..f8809981c 100644 ---- a/m4/gst-gl.m4 -+++ b/m4/gst-gl.m4 -@@ -126,6 +126,24 @@ AC_ARG_ENABLE([gbm], - *) AC_MSG_ERROR([bad value ${enableval} for --enable-gbm]) ;; - esac],[NEED_GBM=auto]) - -+AC_ARG_ENABLE([png], -+ [ --enable-png Enable libpng support @<:@default=auto@:>@], -+ [case "${enableval}" in -+ yes) NEED_PNG=yes ;; -+ no) NEED_PNG=no ;; -+ auto) NEED_PNG=auto ;; -+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-png]) ;; -+ esac],[NEED_PNG=auto]) -+ -+AC_ARG_ENABLE([jpeg], -+ [ --enable-jpeg Enable libjpeg support @<:@default=auto@:>@], -+ [case "${enableval}" in -+ yes) NEED_JPEG=yes ;; -+ no) NEED_JPEG=no ;; -+ auto) NEED_JPEG=auto ;; -+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-jpeg]) ;; -+ esac],[NEED_JPEG=auto]) -+ - AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb) - save_CPPFLAGS="$CPPFLAGS" - save_LIBS="$LIBS" -@@ -1043,9 +1061,13 @@ dnl Needed by plugins that use g_module_*() API - PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0) - - dnl libpng is optional --PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no) --if test "x$HAVE_PNG" = "xyes"; then -- AC_DEFINE(HAVE_PNG, [1] , [Use libpng]) -+if test "x$NEED_PNG" != "xno"; then -+ PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no) -+ if test "x$HAVE_PNG" = "xyes"; then -+ AC_DEFINE(HAVE_PNG, [1] , [Use libpng]) -+ elif test "x$NEED_PNG" = "xyes"; then -+ AC_MSG_ERROR([libpng support requested but libpng is not available]) -+ fi - fi - AC_SUBST(HAVE_PNG) - AC_SUBST(LIBPNG_LIBS) -@@ -1053,25 +1075,29 @@ AC_SUBST(LIBPNG_CFLAGS) - - dnl libjpeg is optional - AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library]) --OLD_LIBS="$LIBS" --if test x$with_jpeg_mmx != x; then -- LIBS="$LIBS -L$with_jpeg_mmx" --fi --AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") --JPEG_LIBS="$LIBS -ljpeg-mmx" --LIBS="$OLD_LIBS" --if test x$HAVE_JPEG != xyes; then -- JPEG_LIBS="-ljpeg" -- AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") --fi -+if test "x$NEED_JPEG" != "xno"; then -+ OLD_LIBS="$LIBS" -+ if test x$with_jpeg_mmx != x; then -+ LIBS="$LIBS -L$with_jpeg_mmx" -+ fi -+ AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") -+ JPEG_LIBS="$LIBS -ljpeg-mmx" -+ LIBS="$OLD_LIBS" -+ if test x$HAVE_JPEG != xyes; then -+ JPEG_LIBS="-ljpeg" -+ AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") -+ fi - --if test x$HAVE_JPEG = xyes; then -- AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg]) --else -- JPEG_LIBS= -+ if test x$HAVE_JPEG = xyes; then -+ AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg]) -+ elif test "x$NEED_JPEG" = "xyes"; then -+ AC_MSG_ERROR([libjpeg support requested but libjpeg is not available]) -+ else -+ JPEG_LIBS= -+ fi -+ AC_SUBST(JPEG_LIBS) -+ AC_SUBST(HAVE_JPEG) - fi --AC_SUBST(JPEG_LIBS) --AC_SUBST(HAVE_JPEG) - ]) - - dnl -------------------------------------------------------------------------- --- -2.17.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch index d5a7f6bdc..34f7c2284 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch @@ -31,7 +31,7 @@ diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4 index 1e97240..ab7774c 100644 --- a/m4/gst-gl.m4 +++ b/m4/gst-gl.m4 -@@ -231,7 +231,7 @@ case $host in +@@ -275,7 +275,7 @@ case $host in HAVE_EGL=yes HAVE_GLES2=yes HAVE_EGL_RPI=yes diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb deleted file mode 100644 index f3e6daf56..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb +++ /dev/null @@ -1,76 +0,0 @@ -require gstreamer1.0-plugins.inc - -LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \ - file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ - file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607" - -SRC_URI = " \ - http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ - file://get-caps-from-src-pad-when-query-caps.patch \ - file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \ - file://make-gio_unix_2_0-dependency-configurable.patch \ - file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ - file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \ - file://0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch \ - file://0003-riff-add-missing-include-directories-when-calling-in.patch \ - file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \ - file://0009-glimagesink-Downrank-to-marginal.patch \ - file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch \ - file://0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch \ - file://0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch \ - file://link-with-libvchostif.patch \ - " -SRC_URI[md5sum] = "4dbe20c1bf44191c2b8833234df5cb2a" -SRC_URI[sha256sum] = "ca6139490e48863e7706d870ff4e8ac9f417b56f3b9e4b3ce490c13b09a77461" - -S = "${WORKDIR}/gst-plugins-base-${PV}" - -DEPENDS += "iso-codes util-linux" - -inherit gettext gobject-introspection - -PACKAGES_DYNAMIC =+ "^libgst.*" - -# opengl packageconfig factored out to make it easy for distros -# and BSP layers to pick either (desktop) opengl, gles2, or no GL -PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" - -PACKAGECONFIG ??= " \ - ${GSTREAMER_ORC} \ - ${PACKAGECONFIG_GL} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \ - gio-unix-2.0 jpeg ogg pango png theora vorbis zlib \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ -" - -X11DEPENDS = "virtual/libx11 libsm libxrender libxv" -X11ENABLEOPTS = "--enable-x --enable-xvideo --enable-xshm" -X11DISABLEOPTS = "--disable-x --disable-xvideo --disable-xshm" - -PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" -PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia" -PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" -PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm libgudev libdrm" -PACKAGECONFIG[gio-unix-2.0] = "--enable-gio_unix_2_0,--disable-gio_unix_2_0,glib-2.0" -PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" -PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor" -PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" -PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg" -PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,virtual/libgl libglu" -PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus" -PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" -PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" -PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora" -PACKAGECONFIG[visual] = "--enable-libvisual,--disable-libvisual,libvisual" -PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis" -PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm" -PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" - -FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/include/gst/gl/gstglconfig.h" -FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/tag/.libs:${B}/gst-libs/gst/video/.libs:${B}/gst-libs/gst/audio/.libs:${B}/gst-libs/gst/rtp/.libs:${B}/gst-libs/gst/allocators/.libs" -} diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.0.bb new file mode 100644 index 000000000..1d6f15e9c --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.0.bb @@ -0,0 +1,73 @@ +require gstreamer1.0-plugins.inc + +LICENSE = "GPLv2+ & LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ + file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607" + +SRC_URI = " \ + http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ + file://get-caps-from-src-pad-when-query-caps.patch \ + file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \ + file://make-gio_unix_2_0-dependency-configurable.patch \ + file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ + file://0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch \ + file://0003-riff-add-missing-include-directories-when-calling-in.patch \ + file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \ + file://0005-viv-fb-Make-sure-config.h-is-included.patch \ + file://0009-glimagesink-Downrank-to-marginal.patch \ + file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch \ + file://link-with-libvchostif.patch \ + " +SRC_URI[md5sum] = "41dde92930710c75cdb49169c5cc6dfc" +SRC_URI[sha256sum] = "4093aa7b51e28fb24dfd603893fead8d1b7782f088b05ed0f22a21ef176fb5ae" + +S = "${WORKDIR}/gst-plugins-base-${PV}" + +DEPENDS += "iso-codes util-linux" + +inherit gettext gobject-introspection + +PACKAGES_DYNAMIC =+ "^libgst.*" + +# opengl packageconfig factored out to make it easy for distros +# and BSP layers to pick either (desktop) opengl, gles2, or no GL +PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${PACKAGECONFIG_GL} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \ + gio-unix-2.0 jpeg ogg pango png theora vorbis zlib \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ +" + +X11DEPENDS = "virtual/libx11 libsm libxrender libxv" +X11ENABLEOPTS = "--enable-x --enable-xvideo --enable-xshm" +X11DISABLEOPTS = "--disable-x --disable-xvideo --disable-xshm" + +PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" +PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia" +PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" +PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm libgudev libdrm" +PACKAGECONFIG[gio-unix-2.0] = "--enable-gio_unix_2_0,--disable-gio_unix_2_0,glib-2.0" +PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" +PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor" +PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" +PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg" +PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,virtual/libgl libglu" +PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus" +PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" +PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" +PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora" +PACKAGECONFIG[visual] = "--enable-libvisual,--disable-libvisual,libvisual" +PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis" +PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm" +PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" + +FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/include/gst/gl/gstglconfig.h" +FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/tag/.libs:${B}/gst-libs/gst/video/.libs:${B}/gst-libs/gst/audio/.libs:${B}/gst-libs/gst/rtp/.libs:${B}/gst-libs/gst/allocators/.libs" +} diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch deleted file mode 100644 index a2cbb70fe..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch +++ /dev/null @@ -1,62 +0,0 @@ -From c782a30482908a4b4dd9cd4abff9f9bc4016698f Mon Sep 17 00:00:00 2001 -From: Song Bing -Date: Tue, 5 Aug 2014 14:40:46 +0800 -Subject: [PATCH] gstrtpmp4gpay: set dafault value for MPEG4 without codec - data in caps. - -https://bugzilla.gnome.org/show_bug.cgi?id=734263 - -Upstream-Status: Submitted - -Signed-off-by: Song Bing ---- - gst/rtp/gstrtpmp4gpay.c | 19 ++++++++++++++++++- - 1 file changed, 18 insertions(+), 1 deletion(-) - -diff --git a/gst/rtp/gstrtpmp4gpay.c b/gst/rtp/gstrtpmp4gpay.c -index 7913d9a..1749d39 100644 ---- a/gst/rtp/gstrtpmp4gpay.c -+++ b/gst/rtp/gstrtpmp4gpay.c -@@ -391,6 +391,7 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps) - const GValue *codec_data; - const gchar *media_type = NULL; - gboolean res; -+ const gchar *name; - - rtpmp4gpay = GST_RTP_MP4G_PAY (payload); - -@@ -401,7 +402,6 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps) - GST_LOG_OBJECT (rtpmp4gpay, "got codec_data"); - if (G_VALUE_TYPE (codec_data) == GST_TYPE_BUFFER) { - GstBuffer *buffer; -- const gchar *name; - - buffer = gst_value_get_buffer (codec_data); - GST_LOG_OBJECT (rtpmp4gpay, "configuring codec_data"); -@@ -427,6 +427,23 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps) - - rtpmp4gpay->config = gst_buffer_copy (buffer); - } -+ } else { -+ name = gst_structure_get_name (structure); -+ -+ if (!strcmp (name, "video/mpeg")) { -+ rtpmp4gpay->profile = g_strdup ("1"); -+ -+ /* fixed rate */ -+ rtpmp4gpay->rate = 90000; -+ /* video stream type */ -+ rtpmp4gpay->streamtype = "4"; -+ /* no params for video */ -+ rtpmp4gpay->params = NULL; -+ /* mode */ -+ rtpmp4gpay->mode = "generic"; -+ -+ media_type = "video"; -+ } - } - if (media_type == NULL) - goto config_failed; --- -1.7.9.5 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch new file mode 100644 index 000000000..caa080c8e --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch @@ -0,0 +1,37 @@ +From aadfa5f20f53601785e417fe3fcbe6d574880988 Mon Sep 17 00:00:00 2001 +From: Philippe Normand +Date: Tue, 23 Apr 2019 10:10:01 +0100 +Subject: [PATCH] scaletempo: Advertise interleaved layout in caps templates + +Scaletempo doesn't support non-interleaved layout. Not explicitely stating this +would trigger critical warnings and a caps negotiation failure when scaletempo +is used as playbin audio-filter. + +Patch suggested by George Kiagiadakis . + +Fixes #591 +Upstream-Status: Backport [merged, on track for 1.16.1.] +--- + gst/audiofx/gstscaletempo.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gst/audiofx/gstscaletempo.c b/gst/audiofx/gstscaletempo.c +index 3a719719a..83ee8fe24 100644 +--- a/gst/audiofx/gstscaletempo.c ++++ b/gst/audiofx/gstscaletempo.c +@@ -93,9 +93,9 @@ enum + + #define SUPPORTED_CAPS \ + GST_STATIC_CAPS ( \ +- GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F32)) "; " \ +- GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F64)) "; " \ +- GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (S16)) \ ++ GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F32)) ", layout=(string)interleaved; " \ ++ GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F64)) ", layout=(string)interleaved; " \ ++ GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (S16)) ", layout=(string)interleaved" \ + ) + + static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", +-- +2.20.1 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch deleted file mode 100644 index c7f3630ec..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 4bfe2c8570a4a7080ec662504882969054d8a072 Mon Sep 17 00:00:00 2001 -From: Andre McCurdy -Date: Wed, 3 Feb 2016 18:12:38 -0800 -Subject: [PATCH] avoid including directly - -musl libc generates warnings if is included directly. - -Upstream-Status: Pending - -Signed-off-by: Andre McCurdy ---- - ext/raw1394/gstdv1394src.c | 2 +- - ext/raw1394/gsthdv1394src.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ext/raw1394/gstdv1394src.c b/ext/raw1394/gstdv1394src.c -index dbc7607..3c42b41 100644 ---- a/ext/raw1394/gstdv1394src.c -+++ b/ext/raw1394/gstdv1394src.c -@@ -37,7 +37,7 @@ - #include "config.h" - #endif - #include --#include -+#include - #include - #include - #include -diff --git a/ext/raw1394/gsthdv1394src.c b/ext/raw1394/gsthdv1394src.c -index 0b07a37..9785a15 100644 ---- a/ext/raw1394/gsthdv1394src.c -+++ b/ext/raw1394/gsthdv1394src.c -@@ -36,7 +36,7 @@ - #include "config.h" - #endif - #include --#include -+#include - #include - #include - #include --- -1.9.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch deleted file mode 100644 index bc7ac0b6a..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 2169f2205c0205a220d826d7573e5a863bd36e0a Mon Sep 17 00:00:00 2001 -From: Andre McCurdy -Date: Tue, 9 Feb 2016 14:00:00 -0800 -Subject: [PATCH] ensure valid sentinal for gst_structure_get() - -gst_structure_get() is declared with G_GNUC_NULL_TERMINATED, ie -__attribute__((__sentinel__)), which means gcc will generate a -warning if the last parameter passed to the function is not NULL -(where a valid NULL in this context is defined as zero with any -pointer type). - -The C code callers to gst_structure_get() within gst-plugins-good -use the C NULL definition (ie ((void*)0)), which is a valid sentinel. - -However gstid3v2mux.cc uses the C++ NULL definition (ie 0L), which -is not a valid sentinel without an explicit cast to a pointer type. - -Upstream-Status: Pending - -Signed-off-by: Andre McCurdy ---- - ext/taglib/gstid3v2mux.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ext/taglib/gstid3v2mux.cc b/ext/taglib/gstid3v2mux.cc -index 8651e77..a87234f 100644 ---- a/ext/taglib/gstid3v2mux.cc -+++ b/ext/taglib/gstid3v2mux.cc -@@ -465,7 +465,7 @@ add_image_tag (ID3v2::Tag * id3v2tag, const GstTagList * list, - - if (info_struct) { - if (gst_structure_get (info_struct, "image-type", -- GST_TYPE_TAG_IMAGE_TYPE, &image_type, NULL)) { -+ GST_TYPE_TAG_IMAGE_TYPE, &image_type, (void *) NULL)) { - if (image_type > 0 && image_type <= 18) { - image_type += 2; - } else { --- -1.9.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bb deleted file mode 100644 index 830660579..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bb +++ /dev/null @@ -1,79 +0,0 @@ -require gstreamer1.0-plugins.inc - -SRC_URI = " \ - http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ - file://0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch \ - file://avoid-including-sys-poll.h-directly.patch \ - file://ensure-valid-sentinel-for-gst_structure_get.patch \ - file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ - " - -SRC_URI[md5sum] = "6e3b247097366cf2639f22abfece7113" -SRC_URI[sha256sum] = "5f8b553260cb0aac56890053d8511db1528d53cae10f0287cfce2cb2acc70979" - -S = "${WORKDIR}/gst-plugins-good-${PV}" - -LICENSE = "GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ - file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \ - file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" - -DEPENDS += "gstreamer1.0-plugins-base libcap" -RPROVIDES_${PN}-pulseaudio += "${PN}-pulse" -RPROVIDES_${PN}-soup += "${PN}-souphttpsrc" - -inherit gettext - -PACKAGECONFIG ??= " \ - ${GSTREAMER_ORC} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \ - bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 zlib \ -" - -X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage" - -PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2" -PACKAGECONFIG[cairo] = "--enable-cairo,--disable-cairo,cairo" -PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libiec61883 libavc1394 libraw1394" -PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac" -PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf" -PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3" -PACKAGECONFIG[gudev] = "--with-gudev,--without-gudev,libgudev" -PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" -PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" -PACKAGECONFIG[lame] = "--enable-lame,--disable-lame,lame" -PACKAGECONFIG[libpng] = "--enable-libpng,--disable-libpng,libpng" -PACKAGECONFIG[libv4l2] = "--with-libv4l2,--without-libv4l2,v4l-utils" -PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123" -PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio" -PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4" -PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" -PACKAGECONFIG[taglib] = "--enable-taglib,--disable-taglib,taglib" -PACKAGECONFIG[v4l2] = "--enable-gst_v4l2 --enable-v4l2-probe,--disable-gst_v4l2" -PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx,libvpx" -PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack" -PACKAGECONFIG[x11] = "--enable-x,--disable-x,${X11DEPENDS}" -PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" - -# qt5 support is disabled, because it is not present in OE core, and requires more work than -# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths). -# This is better done in a separate qt5 layer (which then should add a "qt5" packageconfig -# in a gstreamer1.0-plugins-good bbappend). - -EXTRA_OECONF += " \ - --enable-oss \ - --disable-aalib \ - --disable-aalibtest \ - --disable-directsound \ - --disable-libcaca \ - --disable-libdv \ - --disable-oss4 \ - --disable-osx_audio \ - --disable-osx_video \ - --disable-qt \ - --disable-shout2 \ - --disable-twolame \ - --disable-waveform \ -" - -FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb new file mode 100644 index 000000000..ad831ed25 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb @@ -0,0 +1,77 @@ +require gstreamer1.0-plugins.inc + +SRC_URI = " \ + http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ + file://0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch \ + file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ + " + +SRC_URI[md5sum] = "d1a7b442994d9522418de4af4330e034" +SRC_URI[sha256sum] = "654adef33380d604112f702c2927574cfc285e31307b79e584113858838bb0fd" + +S = "${WORKDIR}/gst-plugins-good-${PV}" + +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \ + file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" + +DEPENDS += "gstreamer1.0-plugins-base libcap" +RPROVIDES_${PN}-pulseaudio += "${PN}-pulse" +RPROVIDES_${PN}-soup += "${PN}-souphttpsrc" + +inherit gettext + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \ + bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 zlib \ +" + +X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage" + +PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2" +PACKAGECONFIG[cairo] = "--enable-cairo,--disable-cairo,cairo" +PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libiec61883 libavc1394 libraw1394" +PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac" +PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf" +PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3" +PACKAGECONFIG[gudev] = "--with-gudev,--without-gudev,libgudev" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" +PACKAGECONFIG[lame] = "--enable-lame,--disable-lame,lame" +PACKAGECONFIG[libpng] = "--enable-libpng,--disable-libpng,libpng" +PACKAGECONFIG[libv4l2] = "--with-libv4l2,--without-libv4l2,v4l-utils" +PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123" +PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio" +PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4" +PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" +PACKAGECONFIG[taglib] = "--enable-taglib,--disable-taglib,taglib" +PACKAGECONFIG[v4l2] = "--enable-gst_v4l2 --enable-v4l2-probe,--disable-gst_v4l2" +PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx,libvpx" +PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack" +PACKAGECONFIG[x11] = "--enable-x,--disable-x,${X11DEPENDS}" +PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" + +# qt5 support is disabled, because it is not present in OE core, and requires more work than +# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths). +# This is better done in a separate qt5 layer (which then should add a "qt5" packageconfig +# in a gstreamer1.0-plugins-good bbappend). + +EXTRA_OECONF += " \ + --enable-oss \ + --disable-aalib \ + --disable-aalibtest \ + --disable-directsound \ + --disable-libcaca \ + --disable-libdv \ + --disable-oss4 \ + --disable-osx_audio \ + --disable-osx_video \ + --disable-qt \ + --disable-shout2 \ + --disable-twolame \ + --disable-waveform \ +" + +FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb deleted file mode 100644 index 168e64d84..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb +++ /dev/null @@ -1,40 +0,0 @@ -require gstreamer1.0-plugins.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ - file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068" - -LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+" -LICENSE_FLAGS = "commercial" - -SRC_URI = " \ - http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ - file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ - " -SRC_URI[md5sum] = "90768a0074db071175ce980064d9a1ac" -SRC_URI[sha256sum] = "ac02d837f166c35ff6ce0738e281680d0b90052cfb1f0255dcf6aaca5f0f6d23" - -S = "${WORKDIR}/gst-plugins-ugly-${PV}" - -DEPENDS += "gstreamer1.0-plugins-base" - -inherit gettext - -PACKAGECONFIG ??= " \ - ${GSTREAMER_ORC} \ - a52dec mpeg2dec \ -" - -PACKAGECONFIG[a52dec] = "--enable-a52dec,--disable-a52dec,liba52" -PACKAGECONFIG[amrnb] = "--enable-amrnb,--disable-amrnb,opencore-amr" -PACKAGECONFIG[amrwb] = "--enable-amrwb,--disable-amrwb,opencore-amr" -PACKAGECONFIG[cdio] = "--enable-cdio,--disable-cdio,libcdio" -PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread,libdvdread" -PACKAGECONFIG[mpeg2dec] = "--enable-mpeg2dec,--disable-mpeg2dec,mpeg2dec" -PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" - -EXTRA_OECONF += " \ - --disable-sidplay \ -" - -FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" -FILES_${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb new file mode 100644 index 000000000..11a0e790e --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb @@ -0,0 +1,40 @@ +require gstreamer1.0-plugins.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068" + +LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+" +LICENSE_FLAGS = "commercial" + +SRC_URI = " \ + http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ + file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ + " +SRC_URI[md5sum] = "1ec343c58d4b17d682f7befa8453c11c" +SRC_URI[sha256sum] = "e30964c5f031c32289e0b25e176c3c95a5737f2052dfc81d0f7427ef0233a4c2" + +S = "${WORKDIR}/gst-plugins-ugly-${PV}" + +DEPENDS += "gstreamer1.0-plugins-base" + +inherit gettext + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + a52dec mpeg2dec \ +" + +PACKAGECONFIG[a52dec] = "--enable-a52dec,--disable-a52dec,liba52" +PACKAGECONFIG[amrnb] = "--enable-amrnb,--disable-amrnb,opencore-amr" +PACKAGECONFIG[amrwb] = "--enable-amrwb,--disable-amrwb,opencore-amr" +PACKAGECONFIG[cdio] = "--enable-cdio,--disable-cdio,libcdio" +PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread,libdvdread" +PACKAGECONFIG[mpeg2dec] = "--enable-mpeg2dec,--disable-mpeg2dec,mpeg2dec" +PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" + +EXTRA_OECONF += " \ + --disable-sidplay \ +" + +FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" +FILES_${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb deleted file mode 100644 index 048aaf441..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Python bindings for GStreamer 1.0" -HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/" -SECTION = "multimedia" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" - -SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" -SRC_URI[md5sum] = "d4c0e3915f547feef49208ee08981e5a" -SRC_URI[sha256sum] = "d0fdb24f93b6d889f309d2f526b8ea9577e0084ff0a62b4623ef1aed52e85a1b" - -DEPENDS = "gstreamer1.0 python3-pygobject" -RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject" - -PNREAL = "gst-python" - -S = "${WORKDIR}/${PNREAL}-${PV}" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection" - -inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection distro_features_check - -do_install_append() { - # gstpythonplugin hardcodes the location of the libpython from the build - # workspace and then fails at runtime. We can override it using - # --with-libpython-dir=${libdir}, but it still fails because it looks for a - # symlinked library ending in .so instead of the actually library with - # LIBNAME.so.MAJOR.MINOR. Although we could patch the code to use the path - # we want, it will break again if the library version ever changes. We need - # to think about the best way of handling this and possibly consult - # upstream. - # - # Note that this particular find line is taken from the Debian packaging for - # gst-python1.0. - find "${D}" \ - -name '*.pyc' -o \ - -name '*.pyo' -o \ - -name '*.la' -o \ - -name 'libgstpythonplugin*' \ - -delete -} diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.0.bb new file mode 100644 index 000000000..0f3aac190 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "Python bindings for GStreamer 1.0" +HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/" +SECTION = "multimedia" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" +SRC_URI[md5sum] = "877b2ed2aaffdb62e63f38ea9469b70f" +SRC_URI[sha256sum] = "55dc7aaed1855565f9b9ef842d93e93bfc5cb2b376faef6af5b463e1774e2d38" + +DEPENDS = "gstreamer1.0 python3-pygobject" +RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject" + +PNREAL = "gst-python" + +S = "${WORKDIR}/${PNREAL}-${PV}" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection" + +inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection distro_features_check + +EXTRA_OECONF += "--with-libpython-dir=${libdir}" + +do_install_append() { + + # Note that this particular find line is taken from the Debian packaging for + # gst-python1.0. + find "${D}" \ + -name '*.pyc' -o \ + -name '*.pyo' -o \ + -name '*.la' -o \ + -name 'libgstpythonplugin*' \ + -delete +} diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch deleted file mode 100644 index 89d6384ad..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4a12569e5ae5be63cd92a9b178860026a99746b1 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 27 Oct 2015 16:55:45 +0200 -Subject: [PATCH] Don't hardcode libtool name when using introspection - -Upstream-Status: Pending [review on oe-core maillist] -Signed-off-by: Alexander Kanavin ---- - gst/rtsp-server/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst/rtsp-server/Makefile.am b/gst/rtsp-server/Makefile.am -index 4fcd366..c67f5ab 100644 ---- a/gst/rtsp-server/Makefile.am -+++ b/gst/rtsp-server/Makefile.am -@@ -87,7 +87,7 @@ GstRtspServer-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtspserver-@ - --include=Gst-@GST_API_VERSION@ \ - --include=GstRtsp-@GST_API_VERSION@ \ - --include=GstNet-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-rtsp-@GST_API_VERSION@ \ - --pkg gstreamer-net-@GST_API_VERSION@ \ --- -2.1.4 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.4.bb deleted file mode 100644 index 7efc1b353..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.4.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "A library on top of GStreamer for building an RTSP server" -HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/" -SECTION = "multimedia" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" - -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base" - -PNREAL = "gst-rtsp-server" - -SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \ - file://0001-Don-t-hardcode-libtool-name-when-using-introspection.patch \ - file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ - file://gtk-doc-tweaks.patch \ - " - -SRC_URI[md5sum] = "ab0fb5c829266a500e14b46b7bdf06bf" -SRC_URI[sha256sum] = "3d0ece2afdcd601c175ece24e32a30bc19247b454f4eafd3deeec2533c6884f1" - -S = "${WORKDIR}/${PNREAL}-${PV}" - -inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc - -EXTRA_OECONF = "--disable-examples --disable-tests" - -# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well -LIBV = "1.0" -require gst-plugins-package.inc - -delete_pkg_m4_file() { - # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection - rm "${S}/common/m4/pkg.m4" || true -} - -do_configure[prefuncs] += " delete_pkg_m4_file" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb new file mode 100644 index 000000000..042938b88 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "A library on top of GStreamer for building an RTSP server" +HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/" +SECTION = "multimedia" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base" + +PNREAL = "gst-rtsp-server" + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \ + file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ + file://gtk-doc-tweaks.patch \ + " + +SRC_URI[md5sum] = "adc4460239ec2eccf58ad9752ce53bfd" +SRC_URI[sha256sum] = "198e9eec1a3e32dc810d3fbf3a714850a22c6288d4a5c8e802c5ff984af03f19" + +S = "${WORKDIR}/${PNREAL}-${PV}" + +inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc + +EXTRA_OECONF = "--disable-examples --disable-tests" + +# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well +LIBV = "1.0" +require gst-plugins-package.inc + +delete_pkg_m4_file() { + # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection + rm "${S}/common/m4/pkg.m4" || true +} + +do_configure[prefuncs] += " delete_pkg_m4_file" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch index c861f3bed..7945a923c 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch @@ -24,7 +24,7 @@ diff --git a/gst/vaapi/gstvaapi.c b/gst/vaapi/gstvaapi.c index 9a82454..4d94f2b 100644 --- a/gst/vaapi/gstvaapi.c +++ b/gst/vaapi/gstvaapi.c -@@ -210,7 +210,6 @@ plugin_init (GstPlugin * plugin) +@@ -195,7 +195,6 @@ plugin_init (GstPlugin * plugin) { GstVaapiDisplay *display; GArray *decoders; @@ -32,7 +32,7 @@ index 9a82454..4d94f2b 100644 plugin_add_dependencies (plugin); -@@ -235,10 +234,7 @@ plugin_init (GstPlugin * plugin) +@@ -220,10 +219,7 @@ plugin_init (GstPlugin * plugin) gst_element_register (plugin, "vaapidecodebin", GST_RANK_PRIMARY + 2, GST_TYPE_VAAPI_DECODE_BIN); diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.14.4.bb deleted file mode 100644 index 389643410..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.14.4.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "VA-API support to GStreamer" -DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \ -based plugins for GStreamer and helper libraries: `vaapidecode', \ -`vaapiconvert', and `vaapisink'." - -REALPN = "gstreamer-vaapi" - -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz \ - file://0001-gst-vaapi-Makefile.am-Add-EGL_CFLAGS-to-libgstvaapi-.patch \ - file://0001-vaapsink-downgrade-to-marginal.patch \ - " - -SRC_URI[md5sum] = "2fae3442f5f23e7354a0c592bc7b9065" -SRC_URI[sha256sum] = "ce18dbfe961c6a8d31270231686075586bf7a7df62b778c8e7f5ec148251d0a3" - -S = "${WORKDIR}/${REALPN}-${PV}" -DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" - -inherit autotools pkgconfig gtk-doc distro_features_check upstream-version-is-even - -REQUIRED_DISTRO_FEATURES ?= "opengl" - -PACKAGES =+ "${PN}-tests" - -# OpenGL packageconfig factored out to make it easy for distros -# and BSP layers to pick either glx, egl, or no GL. By default, -# try detecting X11 first, and if found (with OpenGL), use GLX, -# otherwise try to check if EGL can be used. -PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', \ - bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl', \ - '', d), d)}" - -PACKAGECONFIG ??= "drm \ - ${PACKAGECONFIG_GL} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" - -PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,udev libdrm" -PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" -PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,virtual/libgl" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender" - -FILES_${PN} += "${libdir}/gstreamer-*/*.so" -FILES_${PN}-dbg += "${libdir}/gstreamer-*/.debug" -FILES_${PN}-dev += "${libdir}/gstreamer-*/*.la ${libdir}/gstreamer-*/*.a" -FILES_${PN}-tests = "${bindir}/*" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.0.bb new file mode 100644 index 000000000..e5dfb6124 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.0.bb @@ -0,0 +1,49 @@ +SUMMARY = "VA-API support to GStreamer" +DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \ +based plugins for GStreamer and helper libraries: `vaapidecode', \ +`vaapiconvert', and `vaapisink'." + +REALPN = "gstreamer-vaapi" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz \ + file://0001-gst-vaapi-Makefile.am-Add-EGL_CFLAGS-to-libgstvaapi-.patch \ + file://0001-vaapsink-downgrade-to-marginal.patch \ + " + +SRC_URI[md5sum] = "8c3f9ee3e47cbdb75a94f7183460b721" +SRC_URI[sha256sum] = "4e7fce626ee0590dca74b5a8341d25bac76307945131a970b414fc5895f5171f" + +S = "${WORKDIR}/${REALPN}-${PV}" +DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" + +inherit autotools pkgconfig gtk-doc distro_features_check upstream-version-is-even + +REQUIRED_DISTRO_FEATURES ?= "opengl" + +PACKAGES =+ "${PN}-tests" + +# OpenGL packageconfig factored out to make it easy for distros +# and BSP layers to pick either glx, egl, or no GL. By default, +# try detecting X11 first, and if found (with OpenGL), use GLX, +# otherwise try to check if EGL can be used. +PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', \ + bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl', \ + '', d), d)}" + +PACKAGECONFIG ??= "drm \ + ${PACKAGECONFIG_GL} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" + +PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,udev libdrm" +PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" +PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,virtual/libgl" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender" + +FILES_${PN} += "${libdir}/gstreamer-*/*.so" +FILES_${PN}-dbg += "${libdir}/gstreamer-*/.debug" +FILES_${PN}-dev += "${libdir}/gstreamer-*/*.la ${libdir}/gstreamer-*/*.a" +FILES_${PN}-tests = "${bindir}/*" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb deleted file mode 100644 index 98c9a28e3..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb +++ /dev/null @@ -1,91 +0,0 @@ -SUMMARY = "GStreamer 1.0 multimedia framework" -DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ -It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime." -HOMEPAGE = "http://gstreamer.freedesktop.org/" -BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" -SECTION = "multimedia" -LICENSE = "LGPLv2+" - -DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native" - -inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc ptest - -# This way common/m4/introspection.m4 will come first -# (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file) -acpaths = "-I ${S}/common/m4 -I ${S}/m4" - -LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ - file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" - -S = "${WORKDIR}/gstreamer-${PV}" - -SRC_URI = " \ - http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ - file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ - file://gtk-doc-tweaks.patch \ - file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ - file://add-a-target-to-compile-tests.patch \ - file://0002-gstconfig.h.in-initial-RISC-V-support.patch \ - file://run-ptest \ -" -SRC_URI[md5sum] = "f67fbbc42bd85a0701df119f52fb52bd" -SRC_URI[sha256sum] = "f94f6696c5f05a3b3a9183e39c5f5c0b779f75a04c0efa497e7920afa985ffc7" - -PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ - " - -PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" -PACKAGECONFIG[tests] = "--enable-tests,--disable-tests" -PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," -PACKAGECONFIG[gst-tracer-hooks] = "--enable-gst-tracer-hooks,--disable-gst-tracer-hooks," -PACKAGECONFIG[unwind] = "--with-unwind,--without-unwind,libunwind" -PACKAGECONFIG[dw] = "--with-dw,--without-dw,elfutils" - -EXTRA_OECONF = " \ - --disable-examples \ -" - -CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no" - -# musl libc generates warnings if is included directly -CACHED_CONFIGUREVARS += "ac_cv_header_sys_poll_h=no" - -PACKAGES += "${PN}-bash-completion" - -FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" -FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include" -FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*" - -RDEPENDS_${PN}-ptest += "make" - -delete_pkg_m4_file() { - # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection - rm "${S}/common/m4/pkg.m4" || true - rm -f "${S}/common/m4/gtk-doc.m4" -} - -do_configure[prefuncs] += "delete_pkg_m4_file" - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs" -} - -do_compile_ptest() { - oe_runmake build-checks -} - -do_install_ptest() { - oe_runmake -C tests/check DESTDIR=${D}${PTEST_PATH} install-ptest - install -m 644 ${B}/tests/check/Makefile ${D}${PTEST_PATH} - install -m 755 ${S}/test-driver ${D}${PTEST_PATH} - sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${HOSTTOOLS_DIR}/::g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \-e 's/^Makefile:/_Makefile:/' \ - -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \ - -e 's/^builddir = \(.*\)/builddir = ./' -e 's/^top_builddir = \(.*\)/top_builddir = ./' \ - -i ${D}${PTEST_PATH}/Makefile -} - -CVE_PRODUCT = "gstreamer" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.0.bb new file mode 100644 index 000000000..da2d14cd9 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.0.bb @@ -0,0 +1,91 @@ +SUMMARY = "GStreamer 1.0 multimedia framework" +DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ +It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime." +HOMEPAGE = "http://gstreamer.freedesktop.org/" +BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" +SECTION = "multimedia" +LICENSE = "LGPLv2+" + +DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native" + +inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc ptest + +# This way common/m4/introspection.m4 will come first +# (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file) +acpaths = "-I ${S}/common/m4 -I ${S}/m4" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ + file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" + +S = "${WORKDIR}/gstreamer-${PV}" + +SRC_URI = " \ + http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ + file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ + file://gtk-doc-tweaks.patch \ + file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ + file://add-a-target-to-compile-tests.patch \ + file://run-ptest \ +" +SRC_URI[md5sum] = "862b7e4263d946bc2ef31b3c582e5587" +SRC_URI[sha256sum] = "0e8e2f7118be437cba879353970cf83c2acced825ecb9275ba05d9186ef07c00" + +PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ + " + +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" +PACKAGECONFIG[tests] = "--enable-tests,--disable-tests" +PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," +PACKAGECONFIG[gst-tracer-hooks] = "--enable-gst-tracer-hooks,--disable-gst-tracer-hooks," +PACKAGECONFIG[unwind] = "--with-unwind,--without-unwind,libunwind" +PACKAGECONFIG[dw] = "--with-dw,--without-dw,elfutils" + +EXTRA_OECONF = " \ + --disable-examples \ +" + +CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no" + +# musl libc generates warnings if is included directly +CACHED_CONFIGUREVARS += "ac_cv_header_sys_poll_h=no" + +PACKAGES += "${PN}-bash-completion" + +FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" +FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include" +FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*" +FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb" + +RDEPENDS_${PN}-ptest += "make" + +delete_pkg_m4_file() { + # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection + rm "${S}/common/m4/pkg.m4" || true + rm -f "${S}/common/m4/gtk-doc.m4" +} + +do_configure[prefuncs] += "delete_pkg_m4_file" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs" +} + +do_compile_ptest() { + oe_runmake build-checks +} + +do_install_ptest() { + oe_runmake -C tests/check DESTDIR=${D}${PTEST_PATH} install-ptest + install -m 644 ${B}/tests/check/Makefile ${D}${PTEST_PATH} + install -m 755 ${S}/test-driver ${D}${PTEST_PATH} + sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${HOSTTOOLS_DIR}/::g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \-e 's/^Makefile:/_Makefile:/' \ + -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \ + -e 's/^builddir = \(.*\)/builddir = ./' -e 's/^top_builddir = \(.*\)/top_builddir = ./' \ + -i ${D}${PTEST_PATH}/Makefile +} + +CVE_PRODUCT = "gstreamer" diff --git a/poky/meta/recipes-multimedia/x264/x264_git.bb b/poky/meta/recipes-multimedia/x264/x264_git.bb index 34c7dc4f7..f22930a0e 100644 --- a/poky/meta/recipes-multimedia/x264/x264_git.bb +++ b/poky/meta/recipes-multimedia/x264/x264_git.bb @@ -14,7 +14,7 @@ SRC_URI = "git://github.com/mirror/x264;branch=stable \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "0a84d986e7020f8344f00752e3600b9769cc1e85" +SRCREV = "72db437770fd1ce3961f624dd57a8e75ff65ae0b" PV = "r2917+git${SRCPV}" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch new file mode 100644 index 000000000..bd4ac1e35 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch @@ -0,0 +1,24 @@ +From 2d9687840b97186b80053dd262209e39455ac876 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 8 May 2019 15:31:23 +0200 +Subject: [PATCH] gstreamer: add a missing format string + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + .../platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp +index e1e497ee..483fd65c 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp ++++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp +@@ -738,7 +738,7 @@ static GstStateChangeReturn webKitWebSrcChangeState(GstElement* element, GstStat + WebKitWebSrc* src = WEBKIT_WEB_SRC(element); + + #if GST_CHECK_VERSION(1, 14, 0) +- GST_DEBUG_OBJECT(src, gst_state_change_get_name(transition)); ++ GST_DEBUG_OBJECT(src, "%s", gst_state_change_get_name(transition)); + #endif + switch (transition) { + case GST_STATE_CHANGE_READY_TO_NULL: diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb deleted file mode 100644 index 96ac5ac18..000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb +++ /dev/null @@ -1,137 +0,0 @@ -SUMMARY = "WebKit web rendering engine for the GTK+ platform" -HOMEPAGE = "http://www.webkitgtk.org/" -BUGTRACKER = "http://bugs.webkit.org/" - -LICENSE = "BSD & LGPLv2+" -LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ - file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ - file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ - file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ - " - -SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ - file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ - file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ - file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \ - file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ - file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ - file://x32_support.patch \ - file://cross-compile.patch \ - file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ - file://0001-Fix-build-with-musl.patch \ - file://detect-gstreamer-gl.patch \ - file://include_array.patch \ - file://narrowing.patch \ - file://snprintf.patch \ - " - -SRC_URI[md5sum] = "576d69c598b3e36c73441052d02466de" -SRC_URI[sha256sum] = "2e4ad1503fe482ceb5a83cf70ac9cd42f37eb718555a4d6844fe4c59a9214407" - -inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc - -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -CVE_PRODUCT = "webkitgtk webkitgtk\+" - -DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \ - gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ - pango icu bison-native gawk intltool-native libwebp \ - atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \ - ruby-native libnotify gstreamer1.0-plugins-bad \ - gettext-native glib-2.0 glib-2.0-native libtasn1 \ - " - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', '' ,d)} \ - enchant \ - libsecret \ - " - -PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland" -PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11" -PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" -PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant" -PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+" -PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" -PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" -PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl" -PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" -PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" -# Source is at https://github.com/google/woff2 -PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" -PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" - -EXTRA_OECMAKE = " \ - -DPORT=GTK \ - -DCMAKE_BUILD_TYPE=Release \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ - ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ - -DENABLE_MINIBROWSER=ON \ - -DPYTHON_EXECUTABLE=`which python` \ - " - -# GL/GLES header clash: both define the same thing, differently, on 32 bit x86 -EXTRA_OECMAKE_append_x86 = " -DUSE_GSTREAMER_GL=OFF " -EXTRA_OECMAKE_append_x86-x32 = " -DUSE_GSTREAMER_GL=OFF " - -# Javascript JIT is not supported on ARC -EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF " -# By default 25-bit "medium" calls are used on ARC -# which is not enough for binaries larger than 32 MiB -CFLAGS_append_arc = " -mlong-calls" -CXXFLAGS_append_arc = " -mlong-calls" - -# Javascript JIT is not supported on powerpc -EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF " - -# ARM JIT code does not build on ARMv4/5/6 anymore -EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF " - -# binutils 2.25.1 has a bug on aarch64: -# https://sourceware.org/bugzilla/show_bug.cgi?id=18430 -EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " - -# JIT not supported on MIPS either -EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF " - -# JIT not supported on X32 -# An attempt was made to upstream JIT support for x32 in -# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as -# unresolved due to limited X32 adoption. -EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF " - -SECURITY_CFLAGS_remove_aarch64 = "-fpie" -SECURITY_CFLAGS_append_aarch64 = " -fPIE" - -LDFLAGS_append_toolchain-clang = " -rtlib=compiler-rt" - -FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" - -RRECOMMENDS_${PN} += "ca-certificates shared-mime-info" - -# http://errors.yoctoproject.org/Errors/Details/20370/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 -# https://bugs.webkit.org/show_bug.cgi?id=159880 -# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. -# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). -ARM_INSTRUCTION_SET_armv7a = "thumb" -ARM_INSTRUCTION_SET_armv7r = "thumb" -ARM_INSTRUCTION_SET_armv7ve = "thumb" - -# qemu: uncaught target signal 11 (Segmentation fault) - core dumped -# Segmentation fault -GI_DATA_ENABLED_armv7a = "False" -GI_DATA_ENABLED_armv7ve = "False" - -# Can't be built with ccache -CCACHE_DISABLE = "1" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb new file mode 100644 index 000000000..056334fff --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb @@ -0,0 +1,134 @@ +SUMMARY = "WebKit web rendering engine for the GTK+ platform" +HOMEPAGE = "http://www.webkitgtk.org/" +BUGTRACKER = "http://bugs.webkit.org/" + +LICENSE = "BSD & LGPLv2+" +LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ + file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ + file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ + " + +SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ + file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ + file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ + file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \ + file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ + file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ + file://x32_support.patch \ + file://cross-compile.patch \ + file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ + file://0001-Fix-build-with-musl.patch \ + file://detect-gstreamer-gl.patch \ + file://include_array.patch \ + file://narrowing.patch \ + file://snprintf.patch \ + file://0001-gstreamer-add-a-missing-format-string.patch \ + " + +SRC_URI[md5sum] = "83012998e1b9f71abb37d8baf6f9c7e6" +SRC_URI[sha256sum] = "019cb1f0d05bf6148b72c7a85734bcd006388a1c14132843ef9a1b2cb7b4321c" + +inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc + +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +CVE_PRODUCT = "webkitgtk webkitgtk\+" + +DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \ + gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ + pango icu bison-native gawk intltool-native libwebp \ + atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \ + ruby-native libnotify gstreamer1.0-plugins-bad \ + gettext-native glib-2.0 glib-2.0-native libtasn1 \ + " + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', '' ,d)} \ + enchant \ + libsecret \ + " + +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11" +PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant" +PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+" +PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" +PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" +PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" +# Source is at https://github.com/google/woff2 +PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" +PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" + +EXTRA_OECMAKE = " \ + -DPORT=GTK \ + -DCMAKE_BUILD_TYPE=Release \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ + ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ + -DENABLE_MINIBROWSER=ON \ + -DPYTHON_EXECUTABLE=`which python` \ + " + +# Javascript JIT is not supported on ARC +EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF " +# By default 25-bit "medium" calls are used on ARC +# which is not enough for binaries larger than 32 MiB +CFLAGS_append_arc = " -mlong-calls" +CXXFLAGS_append_arc = " -mlong-calls" + +# Javascript JIT is not supported on powerpc +EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF " + +# ARM JIT code does not build on ARMv4/5/6 anymore +EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF " + +# binutils 2.25.1 has a bug on aarch64: +# https://sourceware.org/bugzilla/show_bug.cgi?id=18430 +EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " + +# JIT not supported on MIPS either +EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF " + +# JIT not supported on X32 +# An attempt was made to upstream JIT support for x32 in +# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as +# unresolved due to limited X32 adoption. +EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF " + +SECURITY_CFLAGS_remove_aarch64 = "-fpie" +SECURITY_CFLAGS_append_aarch64 = " -fPIE" + +LDFLAGS_append_toolchain-clang = " -rtlib=compiler-rt" + +FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" + +RRECOMMENDS_${PN} += "ca-certificates shared-mime-info" + +# http://errors.yoctoproject.org/Errors/Details/20370/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" + +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 +# https://bugs.webkit.org/show_bug.cgi?id=159880 +# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. +# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). +ARM_INSTRUCTION_SET_armv7a = "thumb" +ARM_INSTRUCTION_SET_armv7r = "thumb" +ARM_INSTRUCTION_SET_armv7ve = "thumb" + +# qemu: uncaught target signal 11 (Segmentation fault) - core dumped +# Segmentation fault +GI_DATA_ENABLED_armv7a = "False" +GI_DATA_ENABLED_armv7ve = "False" + +# Can't be built with ccache +CCACHE_DISABLE = "1" diff --git a/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb deleted file mode 100644 index 224479707..000000000 --- a/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "AT-SPI 2 Toolkit Bridge" -HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886" - -SRC_URI[archive.md5sum] = "1ad754b90bcb14244b73ca4d0c14d274" -SRC_URI[archive.sha256sum] = "e2e1571004ea7b105c969473ce455a95be4038fb2541471714aeb33a26da8a9a" - -DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase distro_features_check upstream-version-is-even - -# The at-spi2-core requires x11 in DISTRO_FEATURES -REQUIRED_DISTRO_FEATURES = "x11" - -PACKAGES =+ "${PN}-gnome ${PN}-gtk2" - -FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules" -FILES_${PN}-gtk2 = "${libdir}/gtk-2.0/modules/libatk-bridge.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb b/poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb new file mode 100644 index 000000000..bcf1c9c77 --- /dev/null +++ b/poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "AT-SPI 2 Toolkit Bridge" +HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886" + +SRC_URI[archive.md5sum] = "6a4b27bace3b9352721ed462b95f6291" +SRC_URI[archive.sha256sum] = "0b51e6d339fa2bcca3a3e3159ccea574c67b107f1ac8b00047fa60e34ce7a45c" + +DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase distro_features_check upstream-version-is-even + +PACKAGES =+ "${PN}-gnome ${PN}-gtk2" + +FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules" +FILES_${PN}-gtk2 = "${libdir}/gtk-2.0/modules/libatk-bridge.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch b/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch deleted file mode 100644 index fbdf7d0e2..000000000 --- a/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 44a812ea51223d82f21a098a2d45fcc5c329ce7a Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann -Date: Tue, 12 Mar 2019 11:46:24 +0100 -Subject: [PATCH] Fix meson.build for meson 0.50.0. - -Since meson 0.50.0 it is not possible anymore to specify an -absolute directory for subdir. To keep current functionality, -use install_dir instead. - -atspi/meson.build:60:0: ERROR: Subdir keyword must not be an absolute path. - -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin -Signed-off-by: Tobias Stoeckmann ---- - atspi/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/atspi/meson.build b/atspi/meson.build -index b7a9357..2a6915d 100644 ---- a/atspi/meson.build -+++ b/atspi/meson.build -@@ -57,7 +57,7 @@ atspi_headers = [ - - atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi') - --install_headers(atspi_headers, subdir: atspi_includedir) -+install_headers(atspi_headers, install_dir: atspi_includedir) - - atspi_enums = gnome.mkenums('atspi-enum-types', - sources: [ 'atspi-constants.h', 'atspi-types.h' ], diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb deleted file mode 100644 index cfe0ddeef..000000000 --- a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Assistive Technology Service Provider Interface (dbus core)" -HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ - file://meson-0.50-fix.patch \ - " - -SRC_URI[md5sum] = "d4f22c66b3210ffe6b10d01c04e008b5" -SRC_URI[sha256sum] = "0175f5393d19da51f4c11462cba4ba6ef3fa042abf1611a70bdfed586b7bfb2b" - -X11DEPENDS = "virtual/libx11 libxi libxtst" - -DEPENDS = "dbus glib-2.0" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" - -inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection - -EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ - -Ddbus_daemon=${bindir}/dbus-daemon" - -GTKDOC_MESON_OPTION = "enable_docs" - -GIR_MESON_OPTION = 'enable-introspection' -GIR_MESON_ENABLE_FLAG = 'yes' -GIR_MESON_DISABLE_FLAG = 'no' - -FILES_${PN} += "${datadir}/dbus-1/services/*.service \ - ${datadir}/dbus-1/accessibility-services/*.service \ - ${datadir}/defaults/at-spi2 \ - ${systemd_user_unitdir}/at-spi-dbus-bus.service \ - " -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb new file mode 100644 index 000000000..11052a8ec --- /dev/null +++ b/poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb @@ -0,0 +1,36 @@ +SUMMARY = "Assistive Technology Service Provider Interface (dbus core)" +HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" + +SRC_URI[md5sum] = "998fd9d858f8fa22c4c8c15567bf6254" +SRC_URI[sha256sum] = "3c2aa937ebfaca2c86569bce9b16a34fbe20d69ef0c58846313b1c42f53b0d53" + +X11DEPENDS = "virtual/libx11 libxi libxtst" + +DEPENDS = "dbus glib-2.0" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" + +inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection + +EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ + -Ddbus_daemon=${bindir}/dbus-daemon \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \ +" + +GTKDOC_MESON_OPTION = "docs" + +GIR_MESON_OPTION = 'introspection' +GIR_MESON_ENABLE_FLAG = 'yes' +GIR_MESON_DISABLE_FLAG = 'no' + +FILES_${PN} += "${datadir}/dbus-1/services/*.service \ + ${datadir}/dbus-1/accessibility-services/*.service \ + ${datadir}/defaults/at-spi2 \ + ${systemd_user_unitdir}/at-spi-dbus-bus.service \ + " +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch b/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch deleted file mode 100644 index 047e81fb6..000000000 --- a/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch +++ /dev/null @@ -1,38 +0,0 @@ -Upstream-Status: Submitted - -From 0330251715fee908f2f162565d4fa1df5030d0c0 Mon Sep 17 00:00:00 2001 -From: Jeremy Puhlman -Date: Thu, 14 Jun 2018 17:21:49 +0000 -Subject: [PATCH] Switch from filename to basename - -When atk-enum-types.h is installed in to a system, the user likely has -no access to the location where the headers were built, especially if -the software was built in a sysroot environment. If the headers were -built for a mulitlib environment, the build pathing may be different. -Subsequently, if two mulitlib variants of atk are installed together the -headers conflict for no other reason then they were built in two -different locations. Switching from filename to basename, still should -provide sufficient information on the providence of the enums, while not -conflicting for really no good reason. - -Signed-off-by: Jeremy Puhlman ---- - atk/atk-enum-types.h.template | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/atk/atk-enum-types.h.template b/atk/atk-enum-types.h.template -index 7b4cec4..8321c24 100644 ---- a/atk/atk-enum-types.h.template -+++ b/atk/atk-enum-types.h.template -@@ -14,7 +14,7 @@ G_BEGIN_DECLS - - /*** BEGIN file-production ***/ - --/* enumerations from "@filename@" */ -+/* enumerations from "@basename@" */ - /*** END file-production ***/ - - /*** BEGIN value-header ***/ --- -2.14.1.459.g238e487 - diff --git a/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch b/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch index 1d814ccdb..d1b08bc04 100644 --- a/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch +++ b/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch @@ -1,4 +1,4 @@ -From c3eb5b2e74c38bb8374bc027f84e42d7e94f62f8 Mon Sep 17 00:00:00 2001 +From 44d46baa5e1519c6c3df7e4d34fb333e247b5bc8 Mon Sep 17 00:00:00 2001 From: Anuj Mittal Date: Fri, 6 Apr 2018 12:04:00 +0800 Subject: [PATCH] meson.build: enable introspection for cross-compile @@ -9,16 +9,17 @@ if it should be disabled or not. Upstream-Status: Pending Signed-off-by: Anuj Mittal + --- atk/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atk/meson.build b/atk/meson.build -index 616a3e6..941ded8 100644 +index 0ad67e5..1d2a49c 100644 --- a/atk/meson.build +++ b/atk/meson.build @@ -137,7 +137,7 @@ libatk_dep = declare_dependency(link_with: libatk, - dependencies: gobject_dep, + dependencies: glib_dep, sources: atk_enum_h) -if not meson.is_cross_build() and get_option('introspection') diff --git a/poky/meta/recipes-support/atk/atk_2.30.0.bb b/poky/meta/recipes-support/atk/atk_2.30.0.bb deleted file mode 100644 index 4e22b3f81..000000000 --- a/poky/meta/recipes-support/atk/atk_2.30.0.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "Accessibility toolkit for GNOME" -HOMEPAGE = "http://live.gnome.org/GAP/" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "x11/libs" - -LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://atk/atkutil.c;endline=18;md5=6fd31cd2fdc9b30f619ca8d819bc12d3 \ - file://atk/atk.h;endline=18;md5=fcd7710187e0eae485e356c30d1b0c3b" - -# Need gettext-native as Meson can't turn off i18n -DEPENDS = "gettext-native glib-2.0" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection - -SRC_URI_append = " \ - file://0001-meson.build-enable-introspection-for-cross-compile.patch \ - file://0001-Switch-from-filename-to-basename.patch \ - " -SRC_URI[archive.md5sum] = "769c85005d392ad17ffbc063f2d26454" -SRC_URI[archive.sha256sum] = "dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b" - -BBCLASSEXTEND = "native nativesdk" - diff --git a/poky/meta/recipes-support/atk/atk_2.32.0.bb b/poky/meta/recipes-support/atk/atk_2.32.0.bb new file mode 100644 index 000000000..67223729e --- /dev/null +++ b/poky/meta/recipes-support/atk/atk_2.32.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "Accessibility toolkit for GNOME" +HOMEPAGE = "http://live.gnome.org/GAP/" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/libs" + +LICENSE = "GPLv2+ & LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://atk/atkutil.c;endline=18;md5=6fd31cd2fdc9b30f619ca8d819bc12d3 \ + file://atk/atk.h;endline=18;md5=fcd7710187e0eae485e356c30d1b0c3b" + +# Need gettext-native as Meson can't turn off i18n +DEPENDS = "gettext-native glib-2.0" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection + +SRC_URI += " file://0001-meson.build-enable-introspection-for-cross-compile.patch" +SRC_URI[archive.md5sum] = "c10b0b2af3c199e42caa6275b845c49d" +SRC_URI[archive.sha256sum] = "cb41feda7fe4ef0daa024471438ea0219592baf7c291347e5a858bb64e4091cc" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb b/poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb deleted file mode 100644 index 85064343e..000000000 --- a/poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Programmable Completion for Bash 4" -HOMEPAGE = "http://bash-completion.alioth.debian.org/" -BUGTRACKER = "https://alioth.debian.org/projects/bash-completion/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SECTION = "console/utils" - -SRC_URI = "https://github.com/scop/bash-completion/releases/download/${PV}/${BPN}-${PV}.tar.xz" - -SRC_URI[md5sum] = "201b6ae62f7d5fb5b1b25e34427db919" -SRC_URI[sha256sum] = "c01f5570f5698a0dda8dc9cfb2a83744daa1ec54758373a6e349bd903375f54d" -UPSTREAM_CHECK_REGEX = "bash-completion-(?P(?!2008).+)\.tar" -UPSTREAM_CHECK_URI = "https://github.com/scop/bash-completion/releases" - -PARALLEL_MAKE = "" - -inherit autotools - -do_install_append() { - # compatdir - install -d ${D}${sysconfdir}/bash_completion.d/ - echo '. ${datadir}/${BPN}/bash_completion' >${D}${sysconfdir}/bash_completion - - # Delete files already provided by util-linux - local i - for i in mount umount; do - rm ${D}${datadir}/${BPN}/completions/$i - done -} - -RDEPENDS_${PN} = "bash" - -# Some recipes are providing ${PN}-bash-completion packages -PACKAGES =+ "${PN}-extra" -FILES_${PN}-extra = "${datadir}/${BPN}/completions/ \ - ${datadir}/${BPN}/helpers/" - -FILES_${PN}-dev += "${datadir}/cmake" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb b/poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb new file mode 100644 index 000000000..cd2c4cbba --- /dev/null +++ b/poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb @@ -0,0 +1,37 @@ +SUMMARY = "Programmable Completion for Bash 4" +HOMEPAGE = "http://bash-completion.alioth.debian.org/" +BUGTRACKER = "https://alioth.debian.org/projects/bash-completion/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SECTION = "console/utils" + +SRC_URI = "https://github.com/scop/bash-completion/releases/download/${PV}/${BPN}-${PV}.tar.xz" + +SRC_URI[md5sum] = "60139333b25c4d54ad40323b701be130" +SRC_URI[sha256sum] = "d48fe378e731062f479c5f8802ffa9d3c40a275a19e6e0f6f6cc4b90fa12b2f5" +UPSTREAM_CHECK_REGEX = "bash-completion-(?P(?!2008).+)\.tar" +UPSTREAM_CHECK_URI = "https://github.com/scop/bash-completion/releases" + +PARALLEL_MAKE = "" + +inherit autotools + +do_install_append() { + # compatdir + install -d ${D}${sysconfdir}/bash_completion.d/ + echo '. ${datadir}/${BPN}/bash_completion' >${D}${sysconfdir}/bash_completion + +} + +RDEPENDS_${PN} = "bash" + +# Some recipes are providing ${PN}-bash-completion packages +PACKAGES =+ "${PN}-extra" +FILES_${PN}-extra = "${datadir}/${BPN}/completions/ \ + ${datadir}/${BPN}/helpers/" + +FILES_${PN}-dev += "${datadir}/cmake" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb index 4c0425302..efd9eaa71 100644 --- a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb +++ b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb @@ -82,6 +82,8 @@ do_install_append_class-native () { SYSROOT="${D}${base_prefix}" ${D}${sbindir}/update-ca-certificates } -RDEPENDS_${PN} += "openssl" +RDEPENDS_${PN}_class-target = "openssl-bin" +RDEPENDS_${PN}_class-native = "openssl-native" +RDEPENDS_${PN}_class-nativesdk = "nativesdk-openssl-bin" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb index e05dc2b57..b27526a64 100644 --- a/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb +++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb @@ -44,6 +44,7 @@ EXTRA_OECONF = " \ --enable-local-libopts \ --enable-openssl-compatibility \ --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ " LDFLAGS_append_libc-musl = " -largp" diff --git a/poky/meta/recipes-support/icu/icu.inc b/poky/meta/recipes-support/icu/icu.inc index e20085fbf..6d9728903 100644 --- a/poky/meta/recipes-support/icu/icu.inc +++ b/poky/meta/recipes-support/icu/icu.inc @@ -35,13 +35,6 @@ TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' ASNEEDED = "" -# strtod_l() is not supported by musl; also xlocale.h is missing -# It is not possible to disable its use via configure switches or env vars -# so monkey patching is needed. -do_configure_prepend_libc-musl () { - sed -i -e 's,DU_HAVE_STRTOD_L=1,DU_HAVE_STRTOD_L=0,' ${S}/configure.ac -} - do_compile_prepend_class-target () { # Make sure certain build host references do not end up being compiled # in the image. This only affects libicutu and icu-dbg diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng b/poky/meta/recipes-support/libcap-ng/libcap-ng new file mode 120000 index 000000000..fb7744d29 --- /dev/null +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng @@ -0,0 +1 @@ +libcap-ng-python \ No newline at end of file diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch b/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch new file mode 100644 index 000000000..d60a0a39b --- /dev/null +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch @@ -0,0 +1,62 @@ +From b4a354ae8d4f7c2ec3ec421c7d8a790cc57e77a9 Mon Sep 17 00:00:00 2001 +From: Li xin +Date: Sat, 18 Jul 2015 23:03:30 +0900 +Subject: [PATCH] configure.ac - Avoid an incorrect check for python. + Makefile.am - avoid hard coded host include paths. + +Upstream-Status: pending + +Signed-off-by: Mark Hatle +Signed-off-by: Li Xin +Signed-off-by: Yi Zhao +--- + bindings/python/Makefile.am | 4 +++- + configure.ac | 17 ++--------------- + 2 files changed, 5 insertions(+), 16 deletions(-) + +diff --git a/bindings/python/Makefile.am b/bindings/python/Makefile.am +index 999b184..c8e49db 100644 +--- a/bindings/python/Makefile.am ++++ b/bindings/python/Makefile.am +@@ -23,7 +23,9 @@ + SUBDIRS = test + CONFIG_CLEAN_FILES = *.loT *.rej *.orig + AM_CFLAGS = -fPIC -DPIC +-AM_CPPFLAGS = -I. -I$(top_builddir) -I@PYINCLUDEDIR@ ++PYLIBVER ?= python$(PYTHON_VERSION) ++PYINC ?= /usr/include/$(PYLIBVER) ++AM_CPPFLAGS = -I. -I$(top_builddir) -I$(PYINC) + SWIG_FLAGS = -python + SWIG_INCLUDES = ${AM_CPPFLAGS} + pyexec_PYTHON = capng.py +diff --git a/configure.ac b/configure.ac +index 7f66179..079d026 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -123,21 +123,8 @@ if test x$use_python = xno ; then + else + AC_MSG_RESULT(testing) + AM_PATH_PYTHON +-PYINCLUDEDIR=`python${am_cv_python_version} -c "from distutils import sysconfig; print(sysconfig.get_config_var('INCLUDEPY'))"` +-if test -f ${PYINCLUDEDIR}/Python.h ; then +- python_found="yes" +- AC_SUBST(PYINCLUDEDIR) +- pybind_dir="python" +- AC_SUBST(pybind_dir) +- AC_MSG_NOTICE(Python bindings will be built) +-else +- python_found="no" +- if test x$use_python = xyes ; then +- AC_MSG_ERROR([Python explicitly requested and python headers were not found]) +- else +- AC_MSG_WARN("Python headers not found - python bindings will not be made") +- fi +-fi ++python_found="yes" ++AC_MSG_NOTICE(Python bindings will be built) + fi + AM_CONDITIONAL(HAVE_PYTHON, test ${python_found} = "yes") + +-- +2.7.4 + diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb new file mode 100644 index 000000000..e49b445f5 --- /dev/null +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb @@ -0,0 +1,27 @@ +require libcap-ng.inc + +SUMMARY .= " - python" + +inherit lib_package autotools python3native + +DEPENDS += "libcap-ng python3 swig-native" + +S = "${WORKDIR}/libcap-ng-${PV}" + +EXTRA_OECONF += "--with-python --with-python3" +EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'" + +do_install_append() { + rm -rf ${D}${bindir} + rm -rf ${D}${libdir}/.debug + rm -f ${D}${libdir}/lib* + rm -rf ${D}${libdir}/pkgconfig + rm -rf ${D}${datadir} + rm -rf ${D}${includedir} +} + +# PACKAGES = "${PN}" + +FILES_${PN} = "${libdir}/python${PYTHON_BASEVERSION}" +FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/.debug/_capng.so" + diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng.inc b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc new file mode 100644 index 000000000..739b91fd2 --- /dev/null +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc @@ -0,0 +1,17 @@ +SUMMARY = "An alternate posix capabilities library" +DESCRIPTION = "The libcap-ng library is intended to make programming \ +with POSIX capabilities much easier than the traditional libcap library." +HOMEPAGE = "http://freecode.com/projects/libcap-ng" +SECTION = "base" +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" + +SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ + file://python.patch \ +" + +SRC_URI[md5sum] = "2398d695508fab9ce33668c53a89b0e9" +SRC_URI[sha256sum] = "4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328" + +BBCLASSEXTEND = "native nativesdk" \ No newline at end of file diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch b/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch deleted file mode 100644 index d60a0a39b..000000000 --- a/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch +++ /dev/null @@ -1,62 +0,0 @@ -From b4a354ae8d4f7c2ec3ec421c7d8a790cc57e77a9 Mon Sep 17 00:00:00 2001 -From: Li xin -Date: Sat, 18 Jul 2015 23:03:30 +0900 -Subject: [PATCH] configure.ac - Avoid an incorrect check for python. - Makefile.am - avoid hard coded host include paths. - -Upstream-Status: pending - -Signed-off-by: Mark Hatle -Signed-off-by: Li Xin -Signed-off-by: Yi Zhao ---- - bindings/python/Makefile.am | 4 +++- - configure.ac | 17 ++--------------- - 2 files changed, 5 insertions(+), 16 deletions(-) - -diff --git a/bindings/python/Makefile.am b/bindings/python/Makefile.am -index 999b184..c8e49db 100644 ---- a/bindings/python/Makefile.am -+++ b/bindings/python/Makefile.am -@@ -23,7 +23,9 @@ - SUBDIRS = test - CONFIG_CLEAN_FILES = *.loT *.rej *.orig - AM_CFLAGS = -fPIC -DPIC --AM_CPPFLAGS = -I. -I$(top_builddir) -I@PYINCLUDEDIR@ -+PYLIBVER ?= python$(PYTHON_VERSION) -+PYINC ?= /usr/include/$(PYLIBVER) -+AM_CPPFLAGS = -I. -I$(top_builddir) -I$(PYINC) - SWIG_FLAGS = -python - SWIG_INCLUDES = ${AM_CPPFLAGS} - pyexec_PYTHON = capng.py -diff --git a/configure.ac b/configure.ac -index 7f66179..079d026 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -123,21 +123,8 @@ if test x$use_python = xno ; then - else - AC_MSG_RESULT(testing) - AM_PATH_PYTHON --PYINCLUDEDIR=`python${am_cv_python_version} -c "from distutils import sysconfig; print(sysconfig.get_config_var('INCLUDEPY'))"` --if test -f ${PYINCLUDEDIR}/Python.h ; then -- python_found="yes" -- AC_SUBST(PYINCLUDEDIR) -- pybind_dir="python" -- AC_SUBST(pybind_dir) -- AC_MSG_NOTICE(Python bindings will be built) --else -- python_found="no" -- if test x$use_python = xyes ; then -- AC_MSG_ERROR([Python explicitly requested and python headers were not found]) -- else -- AC_MSG_WARN("Python headers not found - python bindings will not be made") -- fi --fi -+python_found="yes" -+AC_MSG_NOTICE(Python bindings will be built) - fi - AM_CONDITIONAL(HAVE_PYTHON, test ${python_found} = "yes") - --- -2.7.4 - diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb index aff6259db..6e6de4549 100644 --- a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb @@ -1,30 +1,10 @@ -SUMMARY = "An alternate posix capabilities library" -DESCRIPTION = "The libcap-ng library is intended to make programming \ -with POSIX capabilities much easier than the traditional libcap library." -HOMEPAGE = "http://freecode.com/projects/libcap-ng" -SECTION = "base" -LICENSE = "GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" +require libcap-ng.inc -SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ - file://python.patch" +inherit lib_package autotools -inherit lib_package autotools python3native +EXTRA_OECONF += "--without-python --without-python3" -SRC_URI[md5sum] = "2398d695508fab9ce33668c53a89b0e9" -SRC_URI[sha256sum] = "4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328" - -DEPENDS += "swig-native python3" - -EXTRA_OECONF += "--with-python --with-python3" -EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'" - -PACKAGES += "${PN}-python" - -FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" - -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" do_install_append() { # Moving libcap-ng to base_libdir diff --git a/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch b/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch deleted file mode 100644 index b50f50e70..000000000 --- a/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 918cd8764a845a9d25918a444fbaa5070d2be609 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen -Date: Fri, 21 Aug 2015 16:38:05 +0300 -Subject: [PATCH] Remove cmake check for Perl - -We set "CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY" in cmake bbclass to -make sure cmake does not find host programs. In this case we actually -are fine with host perl: remove the check. - -Upstream-Status: Inappropriate [workaround] - -Signed-off-by: Jussi Kukkonen ---- - CMakeLists.txt | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -Index: libical-2.0.0/CMakeLists.txt -=================================================================== ---- libical-2.0.0.orig/CMakeLists.txt -+++ libical-2.0.0/CMakeLists.txt -@@ -116,8 +116,7 @@ if(SHARED_ONLY) - set(LIBRARY_TYPE SHARED) - endif() - --# must have Perl to create the derived stuff --find_package(Perl REQUIRED) -+set(PERL_EXECUTABLE perl) - - # Ensure finding 64bit libs when using 64-bit compilers - if(CMAKE_CL_64) diff --git a/poky/meta/recipes-support/libical/libical_2.0.0.bb b/poky/meta/recipes-support/libical/libical_2.0.0.bb index daa47abcb..7dffdcfb0 100644 --- a/poky/meta/recipes-support/libical/libical_2.0.0.bb +++ b/poky/meta/recipes-support/libical/libical_2.0.0.bb @@ -1,13 +1,12 @@ SUMMARY = "iCal and scheduling (RFC 2445, 2446, 2447) library" HOMEPAGE = "https://github.com/libical/libical" BUGTRACKER = "https://github.com/libical/libical/issues" -LICENSE = "LGPLv2.1 | MPL-1" +LICENSE = "LGPLv2.1 | MPL-1.0" LIC_FILES_CHKSUM = "file://COPYING;md5=d4fc58309d8ed46587ac63bb449d82f8 \ file://LICENSE;md5=d1a0891cd3e582b3e2ec8fe63badbbb6" SECTION = "libs" SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ - file://Remove-cmake-check-for-Perl.patch \ file://0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch \ " DEPENDS = "icu" @@ -18,6 +17,9 @@ UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases" inherit cmake pkgconfig +# No need to use perl-native, the host perl is sufficient. +EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl" + do_install_append_class-target () { # Remove build host references sed -i \ diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb deleted file mode 100644 index 3a0aa5302..000000000 --- a/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb +++ /dev/null @@ -1,61 +0,0 @@ -DESCRIPTION = "There are two major versions of the PCRE library. The \ -newest version is PCRE2, which is a re-working of the original PCRE \ -library to provide an entirely new API. The original, very widely \ -deployed PCRE library's API and feature are stable, future releases \ - will be for bugfixes only. All new future features will be to PCRE2, \ -not the original PCRE 8.x series." -SUMMARY = "Perl Compatible Regular Expressions version 2" -HOMEPAGE = "http://www.pcre.org" -SECTION = "devel" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENCE;md5=cf66d307bf03bae65d413eb7a8e603a0" - -SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \ - file://pcre-cross.patch \ -" - -SRC_URI[md5sum] = "8a096287153fb994970df3570e90fcb5" -SRC_URI[sha256sum] = "f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e" - -CVE_PRODUCT = "pcre2" - -S = "${WORKDIR}/pcre2-${PV}" - -PROVIDES += "pcre2" -DEPENDS += "bzip2 zlib" - -BINCONFIG = "${bindir}/pcre2-config" - -inherit autotools binconfig-disabled - -EXTRA_OECONF = "\ - --enable-newline-is-lf \ - --enable-rebuild-chartables \ - --with-link-size=2 \ - --with-match-limit=10000000 \ - --enable-pcre2-16 \ - --enable-pcre2-32 \ -" -# Set LINK_SIZE in BUILD_CFLAGS given that the autotools bbclass use it to -# set CFLAGS_FOR_BUILD, required for the libpcre build. -BUILD_CFLAGS =+ "-DLINK_SIZE=2 -I${B}/src" -CFLAGS += "-D_REENTRANT" -CXXFLAGS_append_powerpc = " -lstdc++" - -export CCLD_FOR_BUILD ="${BUILD_CCLD}" - -PACKAGES =+ "libpcre2-16 libpcre2-32 pcre2grep pcre2grep-doc pcre2test pcre2test-doc" - -SUMMARY_pcre2grep = "grep utility that uses perl 5 compatible regexes" -SUMMARY_pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs" -SUMMARY_pcre2test = "program for testing Perl-comatible regular expressions" -SUMMARY_pcre2test-doc = "program for testing Perl-comatible regular expressions - docs" - -FILES_libpcre2-16 = "${libdir}/libpcre2-16.so.*" -FILES_libpcre2-32 = "${libdir}/libpcre2-32.so.*" -FILES_pcre2grep = "${bindir}/pcre2grep" -FILES_pcre2grep-doc = "${mandir}/man1/pcre2grep.1" -FILES_pcre2test = "${bindir}/pcre2test" -FILES_pcre2test-doc = "${mandir}/man1/pcre2test.1" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.33.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.33.bb new file mode 100644 index 000000000..50b26753b --- /dev/null +++ b/poky/meta/recipes-support/libpcre/libpcre2_10.33.bb @@ -0,0 +1,61 @@ +DESCRIPTION = "There are two major versions of the PCRE library. The \ +newest version is PCRE2, which is a re-working of the original PCRE \ +library to provide an entirely new API. The original, very widely \ +deployed PCRE library's API and feature are stable, future releases \ + will be for bugfixes only. All new future features will be to PCRE2, \ +not the original PCRE 8.x series." +SUMMARY = "Perl Compatible Regular Expressions version 2" +HOMEPAGE = "http://www.pcre.org" +SECTION = "devel" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENCE;md5=b1588d3bb4cb0e1f5a597d908f8c5b37" + +SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \ + file://pcre-cross.patch \ +" + +SRC_URI[md5sum] = "80b355f2dce909a2e2424f5c79eddb44" +SRC_URI[sha256sum] = "35514dff0ccdf02b55bd2e9fa586a1b9d01f62332c3356e379eabb75f789d8aa" + +CVE_PRODUCT = "pcre2" + +S = "${WORKDIR}/pcre2-${PV}" + +PROVIDES += "pcre2" +DEPENDS += "bzip2 zlib" + +BINCONFIG = "${bindir}/pcre2-config" + +inherit autotools binconfig-disabled + +EXTRA_OECONF = "\ + --enable-newline-is-lf \ + --enable-rebuild-chartables \ + --with-link-size=2 \ + --with-match-limit=10000000 \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ +" +# Set LINK_SIZE in BUILD_CFLAGS given that the autotools bbclass use it to +# set CFLAGS_FOR_BUILD, required for the libpcre build. +BUILD_CFLAGS =+ "-DLINK_SIZE=2 -I${B}/src" +CFLAGS += "-D_REENTRANT" +CXXFLAGS_append_powerpc = " -lstdc++" + +export CCLD_FOR_BUILD ="${BUILD_CCLD}" + +PACKAGES =+ "libpcre2-16 libpcre2-32 pcre2grep pcre2grep-doc pcre2test pcre2test-doc" + +SUMMARY_pcre2grep = "grep utility that uses perl 5 compatible regexes" +SUMMARY_pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs" +SUMMARY_pcre2test = "program for testing Perl-comatible regular expressions" +SUMMARY_pcre2test-doc = "program for testing Perl-comatible regular expressions - docs" + +FILES_libpcre2-16 = "${libdir}/libpcre2-16.so.*" +FILES_libpcre2-32 = "${libdir}/libpcre2-32.so.*" +FILES_pcre2grep = "${bindir}/pcre2grep" +FILES_pcre2grep-doc = "${mandir}/man1/pcre2grep.1" +FILES_pcre2test = "${bindir}/pcre2test" +FILES_pcre2test-doc = "${mandir}/man1/pcre2test.1" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libpcre/libpcre_8.43.bb b/poky/meta/recipes-support/libpcre/libpcre_8.43.bb index 08314efb9..b97af08b2 100644 --- a/poky/meta/recipes-support/libpcre/libpcre_8.43.bb +++ b/poky/meta/recipes-support/libpcre/libpcre_8.43.bb @@ -72,3 +72,5 @@ do_install_ptest() { # locale so the test fails if fr_FR is UTF-8 locale. sed -i -e 's:do3=yes:do3=no:g' ${D}${PTEST_PATH}/RunTest } + +RDEPENDS_${PN}-ptest += "make" diff --git a/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch b/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch new file mode 100644 index 000000000..2331a766a --- /dev/null +++ b/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch @@ -0,0 +1,28 @@ +From 8691105e1808ec9b031b6c25f70204a0908ae9c1 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sat, 1 Jun 2019 13:09:41 +0200 +Subject: [PATCH] gtk-doc: do not include tree_index.sgml + +gtk-doc 1.30 no longer generates the file if the object tree is empty + +Upstream-Status: Submitted [https://github.com/rockdaboot/libpsl/pull/137] +Signed-off-by: Alexander Kanavin +--- + docs/libpsl/libpsl-docs.sgml | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/docs/libpsl/libpsl-docs.sgml b/docs/libpsl/libpsl-docs.sgml +index 1eca9a2..1c38dbc 100644 +--- a/docs/libpsl/libpsl-docs.sgml ++++ b/docs/libpsl/libpsl-docs.sgml +@@ -22,10 +22,6 @@ + + + +- +- Object Hierarchy +- +- + + API Index + diff --git a/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb index f545ba076..fc2417fc2 100644 --- a/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb +++ b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb @@ -4,7 +4,9 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=5437030d9e4fbe7267ced058ddb8a7f5 \ file://COPYING;md5=f41d10997a12da5ee3c24ceeb0148d18" -SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz" +SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz \ + file://0001-gtk-doc-do-not-include-tree_index.sgml.patch \ + " SRC_URI[md5sum] = "171e96d887709e36a57f4ee627bf82d2" SRC_URI[sha256sum] = "41bd1c75a375b85c337b59783f5deb93dbb443fb0a52d257f403df7bd653ee12" diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb deleted file mode 100644 index f0043f80b..000000000 --- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "An HTTP library implementation in C" -HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "x11/gnome/libs" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native libpsl" - -SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" - -SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ - file://0001-Do-not-enforce-no-introspection-when-cross-building.patch \ - " -SRC_URI[md5sum] = "5f04c09a06f6dbe4c4d3f003992145ce" -SRC_URI[sha256sum] = "4a2cb6c1174540af13661636035992c2b179dfcb39f4d3fa7bee3c7e355c43ff" - -S = "${WORKDIR}/libsoup-${PV}" - -inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc - -# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default. -PACKAGECONFIG ??= "" -PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false" -PACKAGECONFIG[gssapi] = "-Dgssapi=true,-Dgssapi=false,krb5" - -EXTRA_OEMESON_append = " -Dvapi=false" - -GTKDOC_MESON_OPTION = "doc" - -# When built without gnome support, libsoup-2.4 will contain only one shared lib -# and will therefore become subject to renaming by debian.bbclass. Prevent -# renaming in order to keep the package name consistent regardless of whether -# gnome support is enabled or disabled. -DEBIAN_NOAUTONAME_${PN} = "1" - -# glib-networking is needed for SSL, proxies, etc. -RRECOMMENDS_${PN} = "glib-networking" diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb new file mode 100644 index 000000000..c4715a041 --- /dev/null +++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb @@ -0,0 +1,38 @@ +SUMMARY = "An HTTP library implementation in C" +HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/gnome/libs" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native libpsl" + +SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" + +SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ + file://0001-Do-not-enforce-no-introspection-when-cross-building.patch \ + " +SRC_URI[md5sum] = "66c2ae89d6031b01337d78a2c57c75d5" +SRC_URI[sha256sum] = "bd2ea602eba642509672812f3c99b77cbec2f3de02ba1cc8cb7206bf7de0ae2a" + +S = "${WORKDIR}/libsoup-${PV}" + +inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc + +# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default. +PACKAGECONFIG ??= "" +PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false" +PACKAGECONFIG[gssapi] = "-Dgssapi=true,-Dgssapi=false,krb5" + +EXTRA_OEMESON_append = " -Dvapi=false" + +GTKDOC_MESON_OPTION = "doc" + +# When built without gnome support, libsoup-2.4 will contain only one shared lib +# and will therefore become subject to renaming by debian.bbclass. Prevent +# renaming in order to keep the package name consistent regardless of whether +# gnome support is enabled or disabled. +DEBIAN_NOAUTONAME_${PN} = "1" + +# glib-networking is needed for SSL, proxies, etc. +RRECOMMENDS_${PN} = "glib-networking" diff --git a/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch b/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch deleted file mode 100644 index b026782bd..000000000 --- a/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch +++ /dev/null @@ -1,157 +0,0 @@ -From fdfad81006c2c964781b616f0a75578507be809c Mon Sep 17 00:00:00 2001 -From: Michael Jeanson -Date: Wed, 21 Mar 2018 17:38:41 -0400 -Subject: [PATCH] Add support for the RISC-V architecture - -Tested in QEMU 2.12.0-rc0, requires --disable-compiler-tls to go -through the benchmarks reliably. - -Signed-off-by: Michael Jeanson -Signed-off-by: Mathieu Desnoyers -Upstream-Status: Backport ---- - configure.ac | 1 + - include/Makefile.am | 2 ++ - include/urcu/arch/riscv.h | 49 ++++++++++++++++++++++++++++++++++++++++++++ - include/urcu/uatomic/riscv.h | 44 +++++++++++++++++++++++++++++++++++++++ - 4 files changed, 96 insertions(+) - create mode 100644 include/urcu/arch/riscv.h - create mode 100644 include/urcu/uatomic/riscv.h - -diff --git a/configure.ac b/configure.ac -index d0b4a9ac..9145081a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -151,6 +151,7 @@ AS_CASE([$host_cpu], - [tile*], [ARCHTYPE="tile"], - [hppa*], [ARCHTYPE="hppa"], - [m68k], [ARCHTYPE="m68k"], -+ [riscv*], [ARCHTYPE="riscv"], - [ARCHTYPE="unknown"] - ) - -diff --git a/include/Makefile.am b/include/Makefile.am -index dcdf304b..36667b43 100644 ---- a/include/Makefile.am -+++ b/include/Makefile.am -@@ -27,6 +27,7 @@ EXTRA_DIST = urcu/arch/aarch64.h \ - urcu/arch/mips.h \ - urcu/arch/nios2.h \ - urcu/arch/ppc.h \ -+ urcu/arch/riscv.h \ - urcu/arch/s390.h \ - urcu/arch/sparc64.h \ - urcu/arch/tile.h \ -@@ -43,6 +44,7 @@ EXTRA_DIST = urcu/arch/aarch64.h \ - urcu/uatomic/mips.h \ - urcu/uatomic/nios2.h \ - urcu/uatomic/ppc.h \ -+ urcu/uatomic/riscv.h \ - urcu/uatomic/s390.h \ - urcu/uatomic/sparc64.h \ - urcu/uatomic/tile.h \ -diff --git a/include/urcu/arch/riscv.h b/include/urcu/arch/riscv.h -new file mode 100644 -index 00000000..1fd7d62b ---- /dev/null -+++ b/include/urcu/arch/riscv.h -@@ -0,0 +1,49 @@ -+#ifndef _URCU_ARCH_RISCV_H -+#define _URCU_ARCH_RISCV_H -+ -+/* -+ * arch/riscv.h: definitions for the RISC-V architecture -+ * -+ * Copyright (c) 2018 Michael Jeanson -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#include -+#include -+#include -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+#include -+ -+/* -+ * On Linux, define the membarrier system call number if not yet available in -+ * the system headers. -+ */ -+#if (defined(__linux__) && !defined(__NR_membarrier)) -+#define __NR_membarrier 283 -+#endif -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#include -+ -+#endif /* _URCU_ARCH_RISCV_H */ -diff --git a/include/urcu/uatomic/riscv.h b/include/urcu/uatomic/riscv.h -new file mode 100644 -index 00000000..a6700e17 ---- /dev/null -+++ b/include/urcu/uatomic/riscv.h -@@ -0,0 +1,44 @@ -+/* -+ * Atomic exchange operations for the RISC-V architecture. Let GCC do it. -+ * -+ * Copyright (c) 2018 Michael Jeanson -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a copy -+ * of this software and associated documentation files (the "Software"), to -+ * deal in the Software without restriction, including without limitation the -+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the Software is -+ * furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -+ * IN THE SOFTWARE. -+ */ -+ -+#ifndef _URCU_ARCH_UATOMIC_RISCV_H -+#define _URCU_ARCH_UATOMIC_RISCV_H -+ -+#include -+#include -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#define UATOMIC_HAS_ATOMIC_BYTE -+#define UATOMIC_HAS_ATOMIC_SHORT -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#include -+ -+#endif /* _URCU_ARCH_UATOMIC_RISCV_H */ diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb b/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb deleted file mode 100644 index b4b6e2323..000000000 --- a/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Userspace RCU (read-copy-update) library" -HOMEPAGE = "http://lttng.org/urcu" -BUGTRACKER = "http://lttng.org/project/issues" - -LICENSE = "LGPLv2.1+ & MIT-style" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \ - file://src/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \ - file://include/urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b" - -SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2 \ - file://Add-support-for-the-RISC-V-architecture.patch \ - " - -SRC_URI[md5sum] = "7c424c5183ec009d87e0f70c23e92f1b" -SRC_URI[sha256sum] = "b3f6888daf6fe02c1f8097f4a0898e41b5fe9975e121dc792b9ddef4b17261cc" - -S = "${WORKDIR}/userspace-rcu-${PV}" -inherit autotools multilib_header - -CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT" - -do_install_append() { - oe_multilib_header urcu/config.h -} diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb b/poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb new file mode 100644 index 000000000..6a517e6f2 --- /dev/null +++ b/poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Userspace RCU (read-copy-update) library" +HOMEPAGE = "http://lttng.org/urcu" +BUGTRACKER = "http://lttng.org/project/issues" + +LICENSE = "LGPLv2.1+ & MIT-style" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \ + file://include/urcu/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \ + file://include/urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b" + +SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2" + +SRC_URI[md5sum] = "91c75d5902127f94ab556ce039b369ca" +SRC_URI[sha256sum] = "92b9971bf3f1c443edd6c09e7bf5ff3b43531e778841f16377a812c8feeb3350" + +S = "${WORKDIR}/userspace-rcu-${PV}" +inherit autotools multilib_header + +CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT" + +do_install_append() { + oe_multilib_header urcu/config.h +} diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb index 28d404ca7..462eccf52 100644 --- a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb +++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb @@ -21,8 +21,9 @@ BINCONFIG = "${bindir}/xslt-config" inherit autotools pkgconfig binconfig-disabled lib_package -# We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header do_configure_prepend () { + # We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header. + # This can be removed when upgrading to 1.1.34. sed -i -e 's/ansidecl.h//' ${S}/configure.ac # The timestamps in the 1.1.28 tarball are messed up causing this file to diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.0.bb b/poky/meta/recipes-support/lz4/lz4_1.9.0.bb deleted file mode 100644 index 744a1bf47..000000000 --- a/poky/meta/recipes-support/lz4/lz4_1.9.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Extremely Fast Compression algorithm" -DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems." - -LICENSE = "BSD | BSD-2-Clause | GPL-2.0" -LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \ - file://programs/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE;md5=d57c0d21cb917fb4e0af2454aa48b956 \ - " - -PE = "1" - -SRCREV = "131896ab9d4fc9b8c606616327ed223d5d86472b" - -SRC_URI = "git://github.com/lz4/lz4.git \ - file://run-ptest \ - " -UPSTREAM_CHECK_GITTAGREGEX = "v(?P.*)" - -S = "${WORKDIR}/git" - -EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}" - -do_install() { - oe_runmake install -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.1.bb b/poky/meta/recipes-support/lz4/lz4_1.9.1.bb new file mode 100644 index 000000000..de1f97024 --- /dev/null +++ b/poky/meta/recipes-support/lz4/lz4_1.9.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "Extremely Fast Compression algorithm" +DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems." + +LICENSE = "BSD | BSD-2-Clause | GPL-2.0" +LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \ + file://programs/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE;md5=d57c0d21cb917fb4e0af2454aa48b956 \ + " + +PE = "1" + +SRCREV = "398e36c756a3067de8e2b35dd380baef040dfe0d" + +SRC_URI = "git://github.com/lz4/lz4.git \ + file://run-ptest \ + " +UPSTREAM_CHECK_GITTAGREGEX = "v(?P.*)" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}" + +do_install() { + oe_runmake install +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch b/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch deleted file mode 100644 index 82f25743a..000000000 --- a/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch +++ /dev/null @@ -1,53 +0,0 @@ -From d1345871b992f9a055c968963967e728da1a7ffb Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 30 Jan 2016 20:29:06 +0000 -Subject: [PATCH] nss-myhostname: Check for nss.h presense before use - -We do not have nss.h on musl e.g. and configury is already checking for -nss.h presence, use this to define needed data structures if nss.h is -missing on a given libc implementation on a platform - -include stdint.h for uint32_h definition - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - nss-myhostname.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/nss-myhostname.c b/nss-myhostname.c -index 293166c..6f287f5 100644 ---- a/nss-myhostname.c -+++ b/nss-myhostname.c -@@ -21,7 +21,27 @@ - ***/ - - #include -+#include -+#ifdef HAVE_NSS_H - #include -+#else -+enum nss_status { -+ NSS_STATUS_TRYAGAIN = -2, -+ NSS_STATUS_UNAVAIL, -+ NSS_STATUS_NOTFOUND, -+ NSS_STATUS_SUCCESS, -+ NSS_STATUS_RETURN -+}; -+/* Data structure used for the 'gethostbyname4_r' function. */ -+struct gaih_addrtuple -+ { -+ struct gaih_addrtuple *next; -+ char *name; -+ int family; -+ uint32_t addr[4]; -+ uint32_t scopeid; -+ }; -+#endif - #include - #include - #include --- -2.7.0 - diff --git a/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb b/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb index de5b7cf59..244d9e204 100644 --- a/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb +++ b/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb @@ -7,7 +7,6 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" SRC_URI = "http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-${PV}.tar.gz \ - file://0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch \ " SRC_URI[md5sum] = "d4ab9ac36c053ab8fb836db1cbd4a48f" @@ -15,6 +14,8 @@ SRC_URI[sha256sum] = "2ba744ea8d578d1c57c85884e94a3042ee17843a5294434d3a7f6c4d67 inherit autotools distro_features_check +COMPATIBLE_HOST_libc-musl = 'null' + # The systemd has its own copy of nss-myhostname CONFLICT_DISTRO_FEATURES = "systemd" diff --git a/poky/meta/recipes-support/nss/nss_3.43.bb b/poky/meta/recipes-support/nss/nss_3.43.bb deleted file mode 100644 index f8cf5a46a..000000000 --- a/poky/meta/recipes-support/nss/nss_3.43.bb +++ /dev/null @@ -1,267 +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://nss-fix-nsinstall-build.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 \ - " - -SRC_URI[md5sum] = "67c8fa282c32cb56117fdd530dd77001" -SRC_URI[sha256sum] = "f30bc1b7330887b75de9fec37dbc173001758dc43fb095ffbc45dac4093fe2ca" - -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" - -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} - 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 CROSS_COMPILE=1 - export NATIVE_CC="${BUILD_CC}" - export NATIVE_FLAGS="${BUILD_CFLAGS}" - 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 - - 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}" -} - -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/poky/meta/recipes-support/nss/nss_3.44.bb b/poky/meta/recipes-support/nss/nss_3.44.bb new file mode 100644 index 000000000..4205d7948 --- /dev/null +++ b/poky/meta/recipes-support/nss/nss_3.44.bb @@ -0,0 +1,267 @@ +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://nss-fix-nsinstall-build.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 \ + " + +SRC_URI[md5sum] = "e9222b9573452b9f4e6ff4915d6407c2" +SRC_URI[sha256sum] = "a5620e59b6eeedfd5a12c9298b50ad92e9898b223e214eb675e36f4ffb5b6aff" + +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" + +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} + 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 CROSS_COMPILE=1 + export NATIVE_CC="${BUILD_CC}" + export NATIVE_FLAGS="${BUILD_CFLAGS}" + 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 + + 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}" +} + +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/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb deleted file mode 100644 index 59e675b54..000000000 --- a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Provides a way to load and enumerate PKCS#11 modules" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50" - -inherit autotools gettext pkgconfig gtk-doc - -DEPENDS = "libtasn1 libffi" - -SRC_URI = "git://github.com/p11-glue/p11-kit \ - file://0001-LINGUAS-drop-the-languages-for-which-upstream-does-n.patch \ - " -SRCREV = "1ba80c67c492f25581ed97c8c31ffb5f20636d06" -S = "${WORKDIR}/git" - -AUTOTOOLS_AUXDIR = "${S}/build/litter" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[trust-paths] = "--with-trust-paths=/etc/ssl/certs/ca-certificates.crt,--without-trust-paths,,ca-certificates" - -# This recipe does not use the standard gtk-doc m4 macros, and so the ./configure flags -# that control gtk-doc build are non-standard -EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-doc --enable-doc-html --disable-doc-pdf', \ - '--disable-doc', d)} " - -# When building native recipes, disable gtkdoc, as it is not necessary, -# pulls in additional dependencies, and makes build times longer -EXTRA_OECONF_prepend_class-native = "--disable-doc " -EXTRA_OECONF_prepend_class-nativesdk = "--disable-doc " - -UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-gtk-doc-html --disable-gtk-doc-pdf --enable-gtk-doc --disable-gtk-doc" - -# p11-kit relies on these two being copied from source tree -# instead of being regenerated by gtkdoc-scan, but doesn't setup -# dependencies correctly when there is a parallel build. Let's pre-copy -# them instead. -do_compile_prepend () { - cp ${S}/doc/manual/p11-kit-overrides.txt ${S}/doc/manual/p11-kit-sections.txt ${B}/doc/manual/ -} - -FILES_${PN} += " \ - ${libdir}/p11-kit-proxy.so \ - ${libdir}/pkcs11/*.so \ - ${libdir}/pkcs11/*.la" - -# PN contains p11-kit-proxy.so, a symlink to a loadable module -INSANE_SKIP_${PN} = "dev-so" diff --git a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb new file mode 100644 index 000000000..54455da1b --- /dev/null +++ b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb @@ -0,0 +1,46 @@ +SUMMARY = "Provides a way to load and enumerate PKCS#11 modules" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50" + +inherit autotools gettext pkgconfig gtk-doc + +DEPENDS = "libtasn1 libffi" + +SRC_URI = "git://github.com/p11-glue/p11-kit \ + file://0001-LINGUAS-drop-the-languages-for-which-upstream-does-n.patch \ + " +SRCREV = "c689917b393379d288b868f70b2f7b7f6aafe430" +S = "${WORKDIR}/git" + +AUTOTOOLS_AUXDIR = "${S}/build/litter" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[trust-paths] = "--with-trust-paths=/etc/ssl/certs/ca-certificates.crt,--without-trust-paths,,ca-certificates" + +# This recipe does not use the standard gtk-doc m4 macros, and so the ./configure flags +# that control gtk-doc build are non-standard +EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-doc --enable-doc-html --disable-doc-pdf', \ + '--disable-doc', d)} " + +# When building native recipes, disable gtkdoc, as it is not necessary, +# pulls in additional dependencies, and makes build times longer +EXTRA_OECONF_prepend_class-native = "--disable-doc " +EXTRA_OECONF_prepend_class-nativesdk = "--disable-doc " + +UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-gtk-doc-html --disable-gtk-doc-pdf --enable-gtk-doc --disable-gtk-doc" + +# p11-kit relies on these two being copied from source tree +# instead of being regenerated by gtkdoc-scan, but doesn't setup +# dependencies correctly when there is a parallel build. Let's pre-copy +# them instead. +do_compile_prepend () { + cp ${S}/doc/manual/p11-kit-overrides.txt ${S}/doc/manual/p11-kit-sections.txt ${B}/doc/manual/ +} + +FILES_${PN} += " \ + ${libdir}/p11-kit-proxy.so \ + ${libdir}/pkcs11/*.so \ + ${libdir}/pkcs11/*.la" + +# PN contains p11-kit-proxy.so, a symlink to a loadable module +INSANE_SKIP_${PN} = "dev-so" diff --git a/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb b/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb index 4116efc76..fb529d25d 100644 --- a/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb +++ b/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb @@ -25,7 +25,7 @@ PACKAGECONFIG ??= "ncurses libcap" PACKAGECONFIG[ncurses] = "--enable-ncurses --with-ncurses-include-dir=${STAGING_INCDIR}, --disable-ncurses, ncurses" PACKAGECONFIG[libcap] = "--with-libcap, --without-libcap, libcap" -PACKAGECONFIG[qt] = "--enable-pinentry-qt, --disable-pinentry-qt, qt4-x11" +PACKAGECONFIG[qt] = "--enable-pinentry-qt, --disable-pinentry-qt, qtbase-native qtbase" PACKAGECONFIG[gtk2] = "--enable-pinentry-gtk2, --disable-pinentry-gtk2, gtk+ glib-2.0" #To use libsecret, add meta-gnome @@ -33,7 +33,6 @@ PACKAGECONFIG[secret] = "--enable-libsecret, --disable-libsecret, libsecret" EXTRA_OECONF = " \ --disable-rpath \ - --disable-pinentry-qt5 \ " BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/popt/popt_1.16.bb b/poky/meta/recipes-support/popt/popt_1.16.bb index 478288f9b..27e49c2ca 100644 --- a/poky/meta/recipes-support/popt/popt_1.16.bb +++ b/poky/meta/recipes-support/popt/popt_1.16.bb @@ -8,7 +8,7 @@ PR = "r3" DEPENDS = "virtual/libiconv" -SRC_URI = "http://rpm5.org/files/popt/popt-${PV}.tar.gz \ +SRC_URI = "http://anduin.linuxfromscratch.org/BLFS/popt/popt-${PV}.tar.gz \ file://pkgconfig_fix.patch \ file://popt_fix_for_automake-1.12.patch \ file://disable_tests.patch \ diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch new file mode 100644 index 000000000..13b4cbc7f --- /dev/null +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch @@ -0,0 +1,212 @@ +From 79698d3205dedba887e0d2492de945d3079de029 Mon Sep 17 00:00:00 2001 +From: Randy MacLeod +Date: Thu, 6 Jun 2019 17:03:50 -0400 +Subject: [PATCH] utils: ensure child can be session leader + +When running the run-execscript bash ptest as a user rather than root, a warning: + bash: cannot set terminal process group (16036): Inappropriate ioctl for device + bash: no job control in this shell +contaminates the bash log files causing the test to fail. This happens only +when run under ptest-runner and not when interactively testing! + +The changes made to fix this include: +1. Get the process group id (pgid) before forking, +2. Set the pgid in both the parent and child to avoid a race, +3. Find, open and set permission on the child tty, and +4. Allow the child to attach to controlling tty. + +Also add '-lutil' to Makefile. This lib is from libc and provides openpty. + +Upstream-Status: Submitted [yocto@yoctoproject.org] + +Signed-off-by: Sakib Sajal +Signed-off-by: Randy MacLeod +--- + Makefile | 2 +- + utils.c | 102 +++++++++++++++++++++++++++++++++++++++++++++++++------ + 2 files changed, 92 insertions(+), 12 deletions(-) + +diff --git a/Makefile b/Makefile +index 1bde7be..439eb79 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,7 +29,7 @@ TEST_DATA=$(shell echo `pwd`/tests/data) + all: $(SOURCES) $(EXECUTABLE) + + $(EXECUTABLE): $(OBJECTS) +- $(CC) $(LDFLAGS) $(OBJECTS) -o $@ ++ $(CC) $(LDFLAGS) $(OBJECTS) -lutil -o $@ + + tests: $(TEST_SOURCES) $(TEST_EXECUTABLE) + +diff --git a/utils.c b/utils.c +index ad737c2..f11ce39 100644 +--- a/utils.c ++++ b/utils.c +@@ -1,5 +1,6 @@ + /** + * Copyright (c) 2016 Intel Corporation ++ * Copyright (C) 2019 Wind River Systems, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License +@@ -22,23 +23,27 @@ + */ + + #define _GNU_SOURCE ++ + #include + ++#include ++#include ++#include ++#include + #include +-#include + #include +-#include ++#include ++#include ++#include ++#include + #include +-#include ++#include ++ ++#include + #include ++#include + #include + #include +-#include +-#include +-#include +-#include +- +-#include + + #include "ptest_list.h" + #include "utils.h" +@@ -346,6 +351,53 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, + return status; + } + ++/* Returns an integer file descriptor. ++ * If it returns < 0, an error has occurred. ++ * Otherwise, it has returned the slave pty file descriptor. ++ * fp should be writable, likely stdout/err. ++ */ ++static int ++setup_slave_pty(FILE *fp) { ++ int pty_master = -1; ++ int pty_slave = -1; ++ char pty_name[256]; ++ struct group *gptr; ++ gid_t gid; ++ int slave = -1; ++ ++ if (openpty(&pty_master, &pty_slave, pty_name, NULL, NULL) < 0) { ++ fprintf(fp, "ERROR: openpty() failed with: %s.\n", strerror(errno)); ++ return -1; ++ } ++ ++ if ((gptr = getgrnam(pty_name)) != 0) { ++ gid = gptr->gr_gid; ++ } else { ++ /* If the tty group does not exist, don't change the ++ * group on the slave pty, only the owner ++ */ ++ gid = -1; ++ } ++ ++ /* chown/chmod the corresponding pty, if possible. ++ * This will only work if the process has root permissions. ++ */ ++ if (chown(pty_name, getuid(), gid) != 0) { ++ fprintf(fp, "ERROR; chown() failed with: %s.\n", strerror(errno)); ++ } ++ ++ /* Makes the slave read/writeable for the user. */ ++ if (chmod(pty_name, S_IRUSR|S_IWUSR) != 0) { ++ fprintf(fp, "ERROR: chmod() failed with: %s.\n", strerror(errno)); ++ } ++ ++ if ((slave = open(pty_name, O_RDWR)) == -1) { ++ fprintf(fp, "ERROR: open() failed with: %s.\n", strerror(errno)); ++ } ++ return (slave); ++} ++ ++ + int + run_ptests(struct ptest_list *head, const struct ptest_options opts, + const char *progname, FILE *fp, FILE *fp_stderr) +@@ -362,6 +414,8 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + int timeouted; + time_t sttime, entime; + int duration; ++ int slave; ++ int pgid = -1; + + if (opts.xml_filename) { + xh = xml_create(ptest_list_length(head), opts.xml_filename); +@@ -379,7 +433,6 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + close(pipefd_stdout[1]); + break; + } +- + fprintf(fp, "START: %s\n", progname); + PTEST_LIST_ITERATE_START(head, p); + char *ptest_dir = strdup(p->run_ptest); +@@ -388,6 +441,13 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + break; + } + dirname(ptest_dir); ++ if (ioctl(0, TIOCNOTTY) == -1) { ++ fprintf(fp, "ERROR: Unable to detach from controlling tty, %s\n", strerror(errno)); ++ } ++ ++ if ((pgid = getpgid(0)) == -1) { ++ fprintf(fp, "ERROR: getpgid() failed, %s\n", strerror(errno)); ++ } + + child = fork(); + if (child == -1) { +@@ -395,13 +455,33 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + rc = -1; + break; + } else if (child == 0) { +- setsid(); ++ close(0); ++ if ((slave = setup_slave_pty(fp)) < 0) { ++ fprintf(fp, "ERROR: could not setup pty (%d).", slave); ++ } ++ if (setpgid(0,pgid) == -1) { ++ fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno)); ++ } ++ ++ if (setsid() == -1) { ++ fprintf(fp, "ERROR: setsid() failed, %s\n", strerror(errno)); ++ } ++ ++ if (ioctl(0, TIOCSCTTY, NULL) == -1) { ++ fprintf(fp, "ERROR: Unable to attach to controlling tty, %s\n", strerror(errno)); ++ } ++ + run_child(p->run_ptest, pipefd_stdout[1], pipefd_stderr[1]); ++ + } else { + int status; + int fds[2]; fds[0] = pipefd_stdout[0]; fds[1] = pipefd_stderr[0]; + FILE *fps[2]; fps[0] = fp; fps[1] = fp_stderr; + ++ if (setpgid(child, pgid) == -1) { ++ fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno)); ++ } ++ + sttime = time(NULL); + fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, sttime)); + fprintf(fp, "BEGIN: %s\n", ptest_dir); +-- +2.17.0 + diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb index e2eb258d0..dec60fcc9 100644 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb @@ -7,13 +7,15 @@ HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" -SRCREV = "05b112bda7ac2adba8e9b0f088d6e5843b148a38" +SRCREV = "63d097cc46142157931682fed076b5407757a0bd" PV = "2.3.1+git${SRCPV}" SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \ file://0001-utils-Ensure-stdout-stderr-are-flushed.patch \ file://0002-use-process-groups-when-spawning.patch \ - file://0003-utils-Ensure-pipes-are-read-after-exit.patch" + file://0003-utils-Ensure-pipes-are-read-after-exit.patch \ + file://0004-utils-ensure-child-can-be-session-leader.patch \ +" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/default b/poky/meta/recipes-support/rng-tools/rng-tools/default index ab7cd9327..b9f8e0363 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools/default +++ b/poky/meta/recipes-support/rng-tools/rng-tools/default @@ -1,2 +1 @@ -# Specify rng device -RNG_DEVICE=/dev/hwrng +EXTRA_ARGS="-r /dev/hwrng" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/init b/poky/meta/recipes-support/rng-tools/rng-tools/init index 7cf78393a..13f0ecd37 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools/init +++ b/poky/meta/recipes-support/rng-tools/rng-tools/init @@ -1,26 +1,19 @@ -#! /bin/sh +#!/bin/sh # # This is an init script for openembedded -# Copy it to /etc/init.d/rng-tools and type +# Copy it to @SYSCONFDIR@/init.d/rng-tools and type # > update-rc.d rng-tools defaults 60 # -rngd=/usr/sbin/rngd +rngd=@SBINDIR@/rngd test -x "$rngd" || exit 1 -if [ -e /etc/default/rng-tools ]; then - . /etc/default/rng-tools -fi - -if [ -n "$RNG_DEVICE" ]; then - EXTRA_ARGS="-- -r $RNG_DEVICE" -fi - +[ -r @SYSCONFDIR@/default/rng-tools ] && . "@SYSCONFDIR@/default/rng-tools" case "$1" in start) echo -n "Starting random number generator daemon" - start-stop-daemon -S -q -x $rngd $EXTRA_ARGS + start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS echo "." ;; stop) @@ -38,11 +31,11 @@ case "$1" in start-stop-daemon -K -q -n rngd echo "." echo -n "Starting random number generator daemon" - start-stop-daemon -S -q -x $rngd $EXTRA_ARGS + start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS echo "." ;; *) - echo "Usage: /etc/init.d/rng-tools {start|stop|reload|restart|force-reload}" + echo "Usage: @SYSCONFDIR@/init.d/rng-tools {start|stop|reload|restart|force-reload}" exit 1 esac diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service index f0355db14..b1a78527b 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service +++ b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service @@ -5,8 +5,8 @@ After=systemd-udev-settle.service Before=sysinit.target [Service] -ExecStart=@SBINDIR@/rngd -f -r /dev/hwrng -SuccessExitStatus=66 +EnvironmentFile=-@SYSCONFDIR@/default/rng-tools +ExecStart=@SBINDIR@/rngd -f $EXTRA_ARGS [Install] WantedBy=multi-user.target diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb index 6796c9be9..b0afa4b0e 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb +++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb @@ -1,58 +1,56 @@ SUMMARY = "Random number generator daemon" +DESCRIPTION = "Check and feed random data from hardware device to kernel" +AUTHOR = "Philipp Rumpf, Jeff Garzik , \ + Henrique de Moraes Holschuh " +HOMEPAGE = "https://github.com/nhorman/rng-tools" +BUGTRACKER = "https://github.com/nhorman/rng-tools/issues" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/nhorman/rng-tools.git \ - file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \ - file://0002-Add-argument-to-control-the-libargp-dependency.patch \ - file://underquote.patch \ - file://rng-tools-5-fix-textrels-on-PIC-x86.patch \ - file://0001-configure.ac-fix-typo.patch \ - file://init \ - file://default \ - file://rngd.service \ +DEPENDS = "sysfsutils" + +SRC_URI = "\ + git://github.com/nhorman/rng-tools.git \ + file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \ + file://0002-Add-argument-to-control-the-libargp-dependency.patch \ + file://underquote.patch \ + file://rng-tools-5-fix-textrels-on-PIC-x86.patch \ + file://0001-configure.ac-fix-typo.patch \ + file://init \ + file://default \ + file://rngd.service \ " SRCREV = "4ebc21d6f387bb7b4b3f6badc429e27b21c0a6ee" + S = "${WORKDIR}/git" inherit autotools update-rc.d systemd pkgconfig -DEPENDS = " \ - sysfsutils \ - " - PACKAGECONFIG ??= "libgcrypt libjitterentropy" PACKAGECONFIG_libc-musl = "libargp libjitterentropy" + PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt," PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl" +INITSCRIPT_NAME = "rng-tools" +INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." + +SYSTEMD_SERVICE_${PN} = "rngd.service" + # Refer autogen.sh in rng-tools do_configure_prepend() { cp ${S}/README.md ${S}/README } do_install_append() { - # Only install the init script when 'sysvinit' is in DISTRO_FEATURES. - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d "${D}${sysconfdir}/init.d" - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools - sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \ - ${D}${sysconfdir}/init.d/rng-tools - - install -d "${D}${sysconfdir}/default" - install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 644 ${WORKDIR}/rngd.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/rngd.service - fi + install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools + install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools + install -Dm 0644 ${WORKDIR}/rngd.service \ + ${D}${systemd_system_unitdir}/rngd.service + sed -i \ + -e 's,@SYSCONFDIR@,${sysconfdir},' \ + -e 's,@SBINDIR@,${sbindir},' \ + ${D}${sysconfdir}/init.d/rng-tools \ + ${D}${systemd_system_unitdir}/rngd.service } - -INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." - -SYSTEMD_SERVICE_${PN} = "rngd.service" diff --git a/poky/meta/recipes-support/serf/serf_1.3.9.bb b/poky/meta/recipes-support/serf/serf_1.3.9.bb index 65a8114bb..92cd5ca06 100644 --- a/poky/meta/recipes-support/serf/serf_1.3.9.bb +++ b/poky/meta/recipes-support/serf/serf_1.3.9.bb @@ -14,18 +14,19 @@ SRC_URI[sha256sum] = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -DEPENDS = "python-scons-native openssl apr apr-util util-linux expat" +inherit scons -do_compile() { - ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} \ - CC="${CC}" \ - APR=`which apr-1-config` APU=`which apu-1-config` \ - CFLAGS="${CFLAGS}" LINKFLAGS="${LDFLAGS}" \ - OPENSSL="${STAGING_EXECPREFIXDIR}" -} +DEPENDS += " openssl apr apr-util util-linux expat" -do_install() { - ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} LIBDIR=${D}${libdir} install -} +EXTRA_OESCONS = " \ + LIBDIR=${libdir} \ + --install-sandbox=${D} \ + CC="${CC}" \ + CFLAGS="${CFLAGS}" \ + LINKFLAGS="${LDFLAGS}" \ + APR=`which apr-1-config` \ + APU=`which apu-1-config` \ + OPENSSL="${STAGING_EXECPREFIXDIR}" \ + " BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch b/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch deleted file mode 100644 index b0aa5d173..000000000 --- a/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9aa01fd5f9d8b2b98c34684dc8f68115750ef41c Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 12 Jul 2016 17:15:13 +0300 -Subject: [PATCH] source-highlight.pc.in: do not add Boost's libraries and - includes - -This breaks when compiling in sysroots; a proper way is to use Depends - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - source-highlight.pc.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/source-highlight.pc.in b/source-highlight.pc.in -index 79ab63e..64114a7 100644 ---- a/source-highlight.pc.in -+++ b/source-highlight.pc.in -@@ -7,6 +7,6 @@ Name: libsource-highlight - Description: GNU Source-highlight library. - URL: http://www.gnu.org/software/src-highlite/ - Version: @VERSION@ --Libs: -L${libdir} -lsource-highlight @BOOST_LDFLAGS@ @BOOST_REGEX_LIB@ --Cflags: -I${includedir} @BOOST_CPPFLAGS@ -+Libs: -L${libdir} -lsource-highlight -+Cflags: -I${includedir} - --- -2.8.1 - diff --git a/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb b/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb deleted file mode 100644 index 85923e475..000000000 --- a/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Syntax highlight utility" -DESCRIPTION = "Source-highlight converts source code to formatted text with syntax highlighting." -HOMEPAGE = "https://www.gnu.org/software/src-highlite/" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=ff95bfe019feaf92f524b73dd79e76eb" - -SRC_URI = "${GNU_MIRROR}/src-highlite/${BPN}-${PV}.tar.gz \ - file://0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch" -SRC_URI[md5sum] = "3243470706ef5fefdc3e43b5306a4e41" -SRC_URI[sha256sum] = "01336a7ea1d1ccc374201f7b81ffa94d0aecb33afc7d6903ebf9fbf33a55ada3" - -inherit autotools - -DEPENDS_append = " boost" - -DEPENDS_append_class-target = " source-highlight-native" - -EXTRA_OECONF = "--with-boost=yes --with-boost-libdir=${STAGING_DIR_TARGET}${libdir}" - -BBCLASSEXTEND = "native" - -# source-highlight is using its own binary from the build tree to make documentation -# let's substitute the native binary instead -do_configure_prepend_class-target () { - sed -i -e 's,^SRCHILITEEXE = $(top_builddir).*,SRCHILITEEXE = source-highlight,' ${S}/doc/Makefile.am -} - -RDEPENDS_source-highlight += "bash" diff --git a/poky/meta/recipes-support/taglib/taglib_1.11.1.bb b/poky/meta/recipes-support/taglib/taglib_1.11.1.bb index 01dcf66d1..f4e288295 100644 --- a/poky/meta/recipes-support/taglib/taglib_1.11.1.bb +++ b/poky/meta/recipes-support/taglib/taglib_1.11.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Library for reading and editing the meta-data of popular audio formats" SECTION = "libs/multimedia" HOMEPAGE = "http://taglib.github.io/" -LICENSE = "LGPLv2.1 | MPL-1" +LICENSE = "LGPLv2.1 | MPL-1.1" LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \ file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee" diff --git a/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb b/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb deleted file mode 100644 index 74464833a..000000000 --- a/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb +++ /dev/null @@ -1,15 +0,0 @@ -require vim_${PV}.bb - -SUMMARY += " (with tiny features)" - -PROVIDES_remove = "xxd" -ALTERNATIVE_${PN}_remove = "xxd" - -PACKAGECONFIG += "tiny" - -do_install() { - install -D -m 0755 ${S}/src/vim ${D}/${bindir}/vim.tiny -} - -ALTERNATIVE_PRIORITY = "90" -ALTERNATIVE_TARGET = "${bindir}/vim.tiny" diff --git a/poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb b/poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb new file mode 100644 index 000000000..e4c26d23f --- /dev/null +++ b/poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb @@ -0,0 +1,12 @@ +require vim.inc + +SUMMARY += " (with tiny features)" + +PACKAGECONFIG += "tiny" + +do_install() { + install -D -m 0755 ${S}/src/vim ${D}/${bindir}/vim.tiny +} + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_TARGET = "${bindir}/vim.tiny" diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc new file mode 100644 index 000000000..0a31e68cb --- /dev/null +++ b/poky/meta/recipes-support/vim/vim.inc @@ -0,0 +1,135 @@ +SUMMARY = "Vi IMproved - enhanced vi editor" +SECTION = "console/utils" + +DEPENDS = "ncurses gettext-native" +# vimdiff doesn't like busybox diff +RSUGGESTS_${PN} = "diffutils" +LICENSE = "vim" +LIC_FILES_CHKSUM = "file://runtime/doc/uganda.txt;endline=287;md5=f1f82b42360005c70b8c19b0ef493f72" + +SRC_URI = "git://github.com/vim/vim.git \ + file://disable_acl_header_check.patch \ + file://vim-add-knob-whether-elf.h-are-checked.patch \ + file://0001-src-Makefile-improve-reproducibility.patch \ +" +SRCREV = "202d982b36d87cf91d992bd7e30d3223bdc72cd9" + +S = "${WORKDIR}/git" + +VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}" + +inherit autotools-brokensep update-alternatives + +CLEANBROKEN = "1" + +# vim configure.in contains functions which got 'dropped' by autotools.bbclass +do_configure () { + cd src + rm -f auto/* + touch auto/config.mk + aclocal + autoconf + cd .. + oe_runconf + touch src/auto/configure + touch src/auto/config.mk src/auto/config.h +} + +do_compile() { + # We do not support fully / correctly the following locales. Attempting + # to use these with msgfmt in order to update the ".desktop" files exposes + # this problem and leads to the compile failing. + for LOCALE in cs fr ko pl sk zh_CN zh_TW;do + echo -n > src/po/${LOCALE}.po + done + autotools_do_compile +} + +#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny +PACKAGECONFIG ??= "" +PACKAGECONFIG += " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \ +" + +PACKAGECONFIG[gtkgui] = "--enable-gui=gtk3,--enable-gui=no,gtk+3" +PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," +PACKAGECONFIG[x11] = "--with-x,--without-x,xt," +PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,," +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux," +PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils," + +EXTRA_OECONF = " \ + --disable-gpm \ + --disable-gtktest \ + --disable-xim \ + --disable-netbeans \ + --with-tlib=ncurses \ + ac_cv_small_wchar_t=no \ + vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=no \ + vim_cv_terminfo=yes \ + vim_cv_tgetent=non-zero \ + vim_cv_toupper_broken=no \ + vim_cv_tty_group=world \ + STRIP=/bin/true \ +" + +do_install() { + autotools_do_install + + # Work around file-rdeps picking up csh, awk, perl or python as a dep + chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132 + chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk + chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl + chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py + + # Install example vimrc from runtime files + install -m 0644 runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc + + # we use --with-features=big as default + mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN} + + if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'true', 'false', d)}; then + # The mouse being autoenabled is just annoying in xfce4-terminal (mouse + # drag make vim go into visual mode and there is no right click menu), + # delete the block. + sed -i '/the mouse works just fine/,+4d' ${D}/${datadir}/${BPN}/vimrc + fi +} + +PARALLEL_MAKEINST = "" + +PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools" +FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax" +FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc" +FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor" +FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc" +FILES_${PN}-data = "${datadir}/${BPN}" +FILES_${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools" +FILES_${PN}-common = " \ + ${datadir}/${BPN}/${VIMDIR}/*.vim \ + ${datadir}/${BPN}/${VIMDIR}/autoload \ + ${datadir}/${BPN}/${VIMDIR}/colors \ + ${datadir}/${BPN}/${VIMDIR}/compiler \ + ${datadir}/${BPN}/${VIMDIR}/ftplugin \ + ${datadir}/${BPN}/${VIMDIR}/indent \ + ${datadir}/${BPN}/${VIMDIR}/keymap \ + ${datadir}/${BPN}/${VIMDIR}/lang \ + ${datadir}/${BPN}/${VIMDIR}/macros \ + ${datadir}/${BPN}/${VIMDIR}/plugin \ + ${datadir}/${BPN}/${VIMDIR}/print \ + ${datadir}/${BPN}/${VIMDIR}/spell \ + ${datadir}/icons \ +" + +RDEPENDS_${BPN} = "ncurses-terminfo-base" +# Recommend that runtime data is installed along with vim +RRECOMMENDS_${BPN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common" + +ALTERNATIVE_${PN} = "vi vim" +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}" +ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi" +ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim" diff --git a/poky/meta/recipes-support/vim/vim_8.1.1240.bb b/poky/meta/recipes-support/vim/vim_8.1.1240.bb deleted file mode 100644 index f5c74684b..000000000 --- a/poky/meta/recipes-support/vim/vim_8.1.1240.bb +++ /dev/null @@ -1,141 +0,0 @@ -SUMMARY = "Vi IMproved - enhanced vi editor" -SECTION = "console/utils" - -PROVIDES = "xxd" -DEPENDS = "ncurses gettext-native" -# vimdiff doesn't like busybox diff -RSUGGESTS_${PN} = "diffutils" -LICENSE = "vim" -LIC_FILES_CHKSUM = "file://runtime/doc/uganda.txt;endline=287;md5=f1f82b42360005c70b8c19b0ef493f72" - -SRC_URI = "git://github.com/vim/vim.git \ - file://disable_acl_header_check.patch \ - file://vim-add-knob-whether-elf.h-are-checked.patch \ - file://0001-src-Makefile-improve-reproducibility.patch \ -" -SRCREV = "d96dbd6f95ea22f609042cc9c6272f14a21ff1a5" - -S = "${WORKDIR}/git" - -VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}" - -inherit autotools-brokensep update-alternatives - -CLEANBROKEN = "1" - -# vim configure.in contains functions which got 'dropped' by autotools.bbclass -do_configure () { - cd src - rm -f auto/* - touch auto/config.mk - aclocal - autoconf - cd .. - oe_runconf - touch src/auto/configure - touch src/auto/config.mk src/auto/config.h -} - -do_compile() { - # We do not support fully / correctly the following locales. Attempting - # to use these with msgfmt in order to update the ".desktop" files exposes - # this problem and leads to the compile failing. - for LOCALE in cs fr ko pl sk zh_CN zh_TW;do - echo -n > src/po/${LOCALE}.po - done - autotools_do_compile -} - -#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny -PACKAGECONFIG ??= "" -PACKAGECONFIG += " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \ -" -PACKAGECONFIG_class-native = "" - -PACKAGECONFIG[gtkgui] = "--enable-gui=gtk2,--enable-gui=no,gtk+," -PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," -PACKAGECONFIG[x11] = "--with-x,--without-x,xt," -PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,," -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux," -PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils," - -EXTRA_OECONF = " \ - --disable-gpm \ - --disable-gtktest \ - --disable-xim \ - --disable-netbeans \ - --with-tlib=ncurses \ - ac_cv_small_wchar_t=no \ - vim_cv_getcwd_broken=no \ - vim_cv_memmove_handles_overlap=yes \ - vim_cv_stat_ignores_slash=no \ - vim_cv_terminfo=yes \ - vim_cv_tgetent=non-zero \ - vim_cv_toupper_broken=no \ - vim_cv_tty_group=world \ - STRIP=/bin/true \ -" - -do_install() { - autotools_do_install - - # Work around file-rdeps picking up csh, awk, perl or python as a dep - chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132 - chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk - chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl - chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py - - # Install example vimrc from runtime files - install -m 0644 runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc - - # we use --with-features=big as default - mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN} - - if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'true', 'false', d)}; then - # The mouse being autoenabled is just annoying in xfce4-terminal (mouse - # drag make vim go into visual mode and there is no right click menu), - # delete the block. - sed -i '/the mouse works just fine/,+4d' ${D}/${datadir}/${BPN}/vimrc - fi -} - -PARALLEL_MAKEINST = "" - -PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools" -FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax" -FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc" -FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor" -FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc" -FILES_${PN}-data = "${datadir}/${BPN}" -FILES_${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools" -FILES_${PN}-common = " \ - ${datadir}/${BPN}/${VIMDIR}/*.vim \ - ${datadir}/${BPN}/${VIMDIR}/autoload \ - ${datadir}/${BPN}/${VIMDIR}/colors \ - ${datadir}/${BPN}/${VIMDIR}/compiler \ - ${datadir}/${BPN}/${VIMDIR}/ftplugin \ - ${datadir}/${BPN}/${VIMDIR}/indent \ - ${datadir}/${BPN}/${VIMDIR}/keymap \ - ${datadir}/${BPN}/${VIMDIR}/lang \ - ${datadir}/${BPN}/${VIMDIR}/macros \ - ${datadir}/${BPN}/${VIMDIR}/plugin \ - ${datadir}/${BPN}/${VIMDIR}/print \ - ${datadir}/${BPN}/${VIMDIR}/spell \ - ${datadir}/icons \ -" - -RDEPENDS_${BPN} = "ncurses-terminfo-base" -# Recommend that runtime data is installed along with vim -RRECOMMENDS_${BPN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common" - -ALTERNATIVE_${PN} = "vi vim xxd" -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}" -ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi" -ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim" -ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd" -ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/vim/vim_8.1.1518.bb b/poky/meta/recipes-support/vim/vim_8.1.1518.bb new file mode 100644 index 000000000..60946a181 --- /dev/null +++ b/poky/meta/recipes-support/vim/vim_8.1.1518.bb @@ -0,0 +1,10 @@ +require vim.inc + +PROVIDES = "xxd" + +PACKAGECONFIG_class-native = "" +BBCLASSEXTEND = "native" + +ALTERNATIVE_${PN}_append = " xxd" +ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd" +ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd" diff --git a/poky/meta/recipes-support/vte/vte_0.56.1.bb b/poky/meta/recipes-support/vte/vte_0.56.1.bb index 3585e9ce5..702436b36 100644 --- a/poky/meta/recipes-support/vte/vte_0.56.1.bb +++ b/poky/meta/recipes-support/vte/vte_0.56.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Virtual terminal emulator GTK+ widget library" BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" -LICENSE = "GPLv3 & LGPLv2.1+" -LICENSE_libvte = "LGPLv2.1+" +LICENSE = "GPLv3 & LGPLv3+ & LGPLv2.1+" +LICENSE_libvte = "LGPLv3+" LIC_FILES_CHKSUM = " \ file://COPYING.GPL3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \ -- cgit v1.2.3 From f3fd288e7961708569de104ef3335274f35bd1b8 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Fri, 21 Jun 2019 08:06:37 -0400 Subject: subtree updates meta-raspberrypi: 40283f583b..ca11a291ee: Martin Schuessler (1): omxplayer: remove hardcoded tune and arch from Makefile poky: 111b7173fe..50d272863d: Adrian Bunk (3): wireless-regdb: Add recipe go: Upgrade 1.12.5 -> 1.12.6 libxslt: Fix CVE-2019-11068 Alexander Kanavin (7): vala: upgrade 0.44.3 -> 0.44.5 libnewt: merge libnewt-python recipe into the main recipe epiphany: update to 3.32.3 btrfs-tools: update to 5.1.1 createrepo-c: upgrade 0.14.0 -> 0.14.2 librepo: upgrade 1.10.2 -> 1.10.3 libmodulemd: upgrade 2.4.0 -> 2.5.0 Alistair Francis (6): libffi: Add RISC-V support opensbi: Initial commit of OpenSBI qemuriscv64: Add the QEMU RISC-V 64-bit machine linux-yocto: Mark qemuriscv64 as compatible qemuriscv: Build uImage for RISC-V machines qemuriscv64: Fix QB_OPT_APPEND overwrite Anuj Mittal (1): runtime/cases/logrotate: make test more reliable Ayoub Zaki (1): kernel-fitimage: introduce FIT_HASH_ALG Changqing Li (1): gcc-runtime: fix C++ header mapping for n32/x32 tune Chee Yang Lee (1): wic/bootimg-efi: allow multiple initrd Chen Qi (2): manifest.py: fix test_SDK_manifest_entries target-sdk-provides-dummy: add libperl.so.5 to DUMMY_PROVIDES Chris PeBenito (1): volatile-binds: Change cp to use -a instead of -p. Denys Dmytriyenko (2): mtd-utils: upgrade 2.0.2 -> 2.1.0+ mtd-utils: add "jffs" and "ubifs" PACKAGECONFIG options He Zhe (1): kernel: qemuarmv5: Update machine overrides of KERNEL_DEVICETREE Joe Slater (1): parted: change device manager check in ptest Joshua Watt (1): python3: Disable PGO for reproducible builds Kai Kang (3): systemd-conf: not configure network for nfs root rng-tools: 6.6 -> 6.7 qemu: disable capstone for 32-bit mips with multilib Lei Maohui (1): openssl: Fix a build bug on aarch64BE. Martin Jansa (4): buildhistory: show time spent writting buildhistory base.bbclass: define PACKAGECONFIG_CONFARGS before only sometimes appending to it serf: stop scons trying to create directories in hosts rootfs bitbake: tests/utils.py: add one more test cases for bb.utils.vercmp_string Matt Madison (1): apt: fix permissions on apt-daily script for systemd Mingli Yu (1): bitbake: add iconv to HOSTTOOLS Pierre Le Magourou (4): cve-update-db: New recipe to update CVE database cve-check: Remove dependency to cve-check-tool-native cve-check: Manage CVE_PRODUCT with more than one name cve-check: Consider CVE that affects versions with less than operator Ricardo Ribalda Delgado (4): dpkg: Use less as pager meson: Fix native patch to python3 rootfs: Fix dependency for every dpkg run python3: python3: Fix build error x86->x86 Richard Purdie (7): libxcrypt: Switch to disable obsolete APIs libxcrypt-compat: Add recipe to build the obsolete APIs uninative-tarball: Add libxcrypt-compat openssh: Add missing DEPENDS on virtual/crypt lttng-tools: Filter ptest output to remove random tmp directories cmake: Clarify comment in cmake toolchain file uninative: Update to 2.6 release Robert Yang (2): linux-dummy: Add do_compile_kernelmodules make-mod-scripts: Depends on bison-native Ross Burton (7): insane: improve buildpath warning messages insane: remove empty test that does nothing binconfig: don't try to fix up .la files libsdl2: use binconfig-disabled glib-2.0: fix host path appearing in gsocketclient-slow test script oeqa/logparser: ignore test failure commentary python: make 'python' install everything instead of just the interpretter Stefano Babic (1): systat: systemd never enables the service Tim Orling (4): perl-rdepends.txt: more ptest dependencies fixes libxml-sax-perl: upgrade 1.00 -> 1.02 libmodule-build-perl: move from meta-perl libmodule-build-perl: upgrade 0.4224 -> 0.4229; enable ptest Yi Zhao (2): shadow: fix configure error with dash less: upgrade 550 -> 551 Zang Ruochen (9): lighttpd: Upgrade 1.4.53 -> 1.4.54 libevent:upgrade 2.1.8 -> 2.1.10 libevdev:upgrade 1.6.0 -> 1.7.0 gnutls:upgrade 3.6.7 -> 3.6.8 gnupg:upgrade 2.2.15 -> 2.2.16 curl:upgrade 7.64.1 -> 7.65.1 lttng-ust:upgrade 2.10.3 -> 2.10.4 xkeyboard:upgrade 2.26 -> 2.27 gobject-introspection:upgrade 1.60.1 -> 1.60.2 Change-Id: I3df401c6822e1c5c2ee9cff57c7264fe31c6d22d Signed-off-by: Brad Bishop --- .../0007-Remove-Makefile-hardcoded-arch-tune.patch | 8 + .../recipes-multimedia/omxplayer/omxplayer_git.bb | 1 + poky/bitbake/lib/bb/tests/utils.py | 4 + poky/meta/classes/base.bbclass | 2 + poky/meta/classes/binconfig.bbclass | 9 - poky/meta/classes/buildhistory.bbclass | 4 + poky/meta/classes/cmake.bbclass | 2 +- poky/meta/classes/cve-check.bbclass | 90 ++- poky/meta/classes/insane.bbclass | 10 +- poky/meta/classes/kernel-fitimage.bbclass | 13 +- poky/meta/conf/bitbake.conf | 2 +- poky/meta/conf/distro/include/maintainers.inc | 5 + poky/meta/conf/distro/include/yocto-uninative.inc | 8 +- .../meta/conf/machine/include/riscv/arch-riscv.inc | 10 + poky/meta/conf/machine/include/riscv/qemuriscv.inc | 50 ++ .../meta/conf/machine/include/riscv/tune-riscv.inc | 19 + poky/meta/conf/machine/qemuriscv64.conf | 11 + poky/meta/lib/oe/rootfs.py | 1 + poky/meta/lib/oeqa/runtime/cases/logrotate.py | 4 +- poky/meta/lib/oeqa/selftest/cases/manifest.py | 7 +- poky/meta/lib/oeqa/utils/logparser.py | 4 +- ...0001-Makefile-Don-t-specify-mabi-or-march.patch | 38 + .../0002-lib-Create-a-sbi_ipi_data-structure.patch | 128 ++++ poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc | 37 + poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb | 49 ++ .../recipes-connectivity/openssh/openssh_8.0p1.bb | 2 +- ...01-Fix-build-error-for-aarch64-big-endian.patch | 43 ++ .../recipes-connectivity/openssl/openssl_1.1.1c.bb | 1 + .../glib-2.0/glib-2.0/glib-meson.cross | 3 + poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb | 2 +- .../libxcrypt/libxcrypt-compat_4.4.6.bb | 18 + .../meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb | 3 + poky/meta/recipes-core/meta/cve-update-db.bb | 121 +++ .../recipes-core/meta/target-sdk-provides-dummy.bb | 1 + poky/meta/recipes-core/meta/uninative-tarball.bb | 1 + .../packagegroups/packagegroup-base.bb | 1 + .../systemd/systemd-conf/wired.network | 1 + .../volatile-binds/files/mount-copybind | 4 +- poky/meta/recipes-devtools/apt/apt-package.inc | 2 +- ...Add-LDFLAGS-when-building-libbtrfsutil.so.patch | 26 - ...s-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch | 43 -- .../btrfs-tools/btrfs-tools_5.1.1.bb | 46 ++ .../btrfs-tools/btrfs-tools_5.1.bb | 48 -- .../createrepo-c/createrepo-c_0.14.0.bb | 34 - .../createrepo-c/createrepo-c_0.14.2.bb | 34 + poky/meta/recipes-devtools/dpkg/dpkg/pager.patch | 21 + poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb | 1 + poky/meta/recipes-devtools/gcc/gcc-runtime.inc | 29 +- poky/meta/recipes-devtools/go/go-1.12.inc | 6 +- .../libmodulemd/libmodulemd_git.bb | 4 +- .../recipes-devtools/librepo/librepo_1.10.2.bb | 21 - .../recipes-devtools/librepo/librepo_1.10.3.bb | 21 + .../meson/meson/0003-native_bindir.patch | 2 +- ...rn-correct-error-number-in-ubi_get_vol_in.patch | 92 --- poky/meta/recipes-devtools/mtd/mtd-utils_git.bb | 14 +- .../recipes-devtools/perl/files/perl-rdepends.txt | 48 ++ .../perl/libmodule-build-perl/run-ptest | 16 + .../perl/libmodule-build-perl_0.4229.bb | 103 +++ .../python/python3/crosspythonpath.patch | 25 + poky/meta/recipes-devtools/python/python3_3.7.3.bb | 12 +- poky/meta/recipes-devtools/python/python_2.7.16.bb | 2 +- poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb | 1 + poky/meta/recipes-devtools/vala/vala_0.44.3.bb | 8 - poky/meta/recipes-devtools/vala/vala_0.44.5.bb | 8 + poky/meta/recipes-extended/less/less_550.bb | 43 -- poky/meta/recipes-extended/less/less_551.bb | 43 ++ .../recipes-extended/lighttpd/lighttpd_1.4.53.bb | 84 --- .../recipes-extended/lighttpd/lighttpd_1.4.54.bb | 84 +++ .../newt/libnewt-python_0.52.20.bb | 28 - poky/meta/recipes-extended/newt/libnewt_0.52.20.bb | 13 +- .../recipes-extended/parted/files/dm_check.patch | 22 + poky/meta/recipes-extended/parted/parted_3.2.bb | 1 + .../recipes-extended/perl/libxml-sax-perl_1.00.bb | 35 - .../recipes-extended/perl/libxml-sax-perl_1.02.bb | 42 ++ ...onfigure.ac-fix-configure-error-with-dash.patch | 36 + poky/meta/recipes-extended/shadow/shadow.inc | 1 + poky/meta/recipes-extended/sysstat/sysstat.inc | 11 +- .../meta/recipes-gnome/epiphany/epiphany_3.32.2.bb | 21 - .../meta/recipes-gnome/epiphany/epiphany_3.32.3.bb | 20 + ...tils-Clean-up-ephy_web_application_create.patch | 79 -- .../gobject-introspection_1.60.1.bb | 206 ----- .../gobject-introspection_1.60.2.bb | 206 +++++ .../meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb | 4 +- .../xorg-lib/xkeyboard-config_2.26.bb | 32 - .../xorg-lib/xkeyboard-config_2.27.bb | 32 + poky/meta/recipes-kernel/linux/linux-dummy.bb | 5 + poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- .../recipes-kernel/linux/linux-yocto-rt_4.19.bb | 2 +- .../recipes-kernel/linux/linux-yocto-rt_5.0.bb | 2 +- .../recipes-kernel/linux/linux-yocto-tiny_4.19.bb | 2 +- .../recipes-kernel/linux/linux-yocto-tiny_5.0.bb | 2 +- poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb | 2 +- poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb | 5 +- .../recipes-kernel/lttng/lttng-tools/run-ptest | 2 +- .../recipes-kernel/lttng/lttng-tools_2.10.6.bb | 2 +- ...-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch | 109 --- poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb | 49 -- poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb | 48 ++ .../make-mod-scripts/make-mod-scripts_1.0.bb | 2 +- .../wireless-regdb/wireless-regdb_2019.06.03.bb | 44 ++ poky/meta/recipes-support/curl/curl_7.64.1.bb | 80 -- poky/meta/recipes-support/curl/curl_7.65.1.bb | 80 ++ poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb | 56 -- poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb | 56 ++ poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb | 64 -- poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb | 64 ++ .../recipes-support/libevdev/libevdev_1.6.0.bb | 14 - .../recipes-support/libevdev/libevdev_1.7.0.bb | 14 + .../0001-test-fix-32bit-linux-regress.patch | 48 -- .../recipes-support/libevent/libevent_2.1.10.bb | 46 ++ .../recipes-support/libevent/libevent_2.1.8.bb | 47 -- .../libffi/libffi/0001-New-RISC-V-port-281.patch | 827 +++++++++++++++++++++ poky/meta/recipes-support/libffi/libffi_3.2.1.bb | 5 +- .../files/0001-Fix-security-framework-bypass.patch | 124 +++ .../meta/recipes-support/libxslt/libxslt_1.1.33.bb | 4 +- ...1-If-the-libc-is-lacking-argp-use-libargp.patch | 60 -- .../rng-tools/0001-configure.ac-fix-typo.patch | 27 - ...rgument-to-control-the-libargp-dependency.patch | 95 --- .../rng-tools/fix-rngd-fail-to-stop.patch | 25 + .../rng-tools-5-fix-textrels-on-PIC-x86.patch | 114 --- .../rng-tools/rng-tools/underquote.patch | 46 -- .../recipes-support/rng-tools/rng-tools_6.6.bb | 56 -- .../recipes-support/rng-tools/rng-tools_6.7.bb | 53 ++ ...irectories.without.sandbox-install.prefix.patch | 71 ++ poky/meta/recipes-support/serf/serf_1.3.9.bb | 1 + poky/scripts/lib/wic/plugins/source/bootimg-efi.py | 22 +- 126 files changed, 2995 insertions(+), 1809 deletions(-) create mode 100644 meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch create mode 100644 poky/meta/conf/machine/include/riscv/arch-riscv.inc create mode 100644 poky/meta/conf/machine/include/riscv/qemuriscv.inc create mode 100644 poky/meta/conf/machine/include/riscv/tune-riscv.inc create mode 100644 poky/meta/conf/machine/qemuriscv64.conf create mode 100644 poky/meta/recipes-bsp/opensbi/files/0001-Makefile-Don-t-specify-mabi-or-march.patch create mode 100644 poky/meta/recipes-bsp/opensbi/files/0002-lib-Create-a-sbi_ipi_data-structure.patch create mode 100644 poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc create mode 100644 poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb create mode 100644 poky/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb create mode 100644 poky/meta/recipes-core/meta/cve-update-db.bb delete mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch delete mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch create mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb delete mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb delete mode 100644 poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.0.bb create mode 100644 poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb create mode 100644 poky/meta/recipes-devtools/dpkg/dpkg/pager.patch delete mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.10.2.bb create mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb delete mode 100644 poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch create mode 100644 poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest create mode 100644 poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb create mode 100644 poky/meta/recipes-devtools/python/python3/crosspythonpath.patch delete mode 100644 poky/meta/recipes-devtools/vala/vala_0.44.3.bb create mode 100644 poky/meta/recipes-devtools/vala/vala_0.44.5.bb delete mode 100644 poky/meta/recipes-extended/less/less_550.bb create mode 100644 poky/meta/recipes-extended/less/less_551.bb delete mode 100644 poky/meta/recipes-extended/lighttpd/lighttpd_1.4.53.bb create mode 100644 poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb delete mode 100644 poky/meta/recipes-extended/newt/libnewt-python_0.52.20.bb create mode 100644 poky/meta/recipes-extended/parted/files/dm_check.patch delete mode 100644 poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb create mode 100644 poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb create mode 100644 poky/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch delete mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_3.32.2.bb create mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb delete mode 100644 poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch delete mode 100644 poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb create mode 100644 poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.2.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb create mode 100644 poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2019.06.03.bb delete mode 100644 poky/meta/recipes-support/curl/curl_7.64.1.bb create mode 100644 poky/meta/recipes-support/curl/curl_7.65.1.bb delete mode 100644 poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb create mode 100644 poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb delete mode 100644 poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb create mode 100644 poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb delete mode 100644 poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb create mode 100644 poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb delete mode 100644 poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch create mode 100644 poky/meta/recipes-support/libevent/libevent_2.1.10.bb delete mode 100644 poky/meta/recipes-support/libevent/libevent_2.1.8.bb create mode 100644 poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch create mode 100644 poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch delete mode 100644 poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch delete mode 100644 poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch delete mode 100644 poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch create mode 100644 poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch delete mode 100644 poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch delete mode 100644 poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch delete mode 100644 poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb create mode 100644 poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb create mode 100644 poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch (limited to 'poky/meta') diff --git a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch new file mode 100644 index 000000000..03319739b --- /dev/null +++ b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch @@ -0,0 +1,8 @@ +--- a/Makefile 2019-06-20 15:04:53.390282996 +0200 ++++ b/Makefile 2019-06-20 15:03:45.538763872 +0200 +@@ -1,4 +1,4 @@ +-CFLAGS=-pipe -mfloat-abi=hard -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog ++CFLAGS+= -fomit-frame-pointer -mabi=aapcs-linux -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog + CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST + + LDFLAGS=-L$(SDKSTAGE)/opt/vc/lib/ diff --git a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb index aad2fed04..831a91be6 100644 --- a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb +++ b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb @@ -33,6 +33,7 @@ SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master file://0006-Prevent-ffmpeg-configure-compile-race-condition.patch \ file://0001-Specify-cc-cxx-and-ld-variables-from-environment.patch \ file://cross-crompile-ffmpeg.patch \ + file://0007-Remove-Makefile-hardcoded-arch-tune.patch \ " SRC_URI_append = "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", " file://0001-Fix-build-with-vc4-driver.patch ", "", d)}" diff --git a/poky/bitbake/lib/bb/tests/utils.py b/poky/bitbake/lib/bb/tests/utils.py index 4d788281a..f4adf1d44 100644 --- a/poky/bitbake/lib/bb/tests/utils.py +++ b/poky/bitbake/lib/bb/tests/utils.py @@ -29,6 +29,10 @@ class VerCmpString(unittest.TestCase): self.assertTrue(result < 0) result = bb.utils.vercmp_string('1.1', '1.0+1.1-beta1') self.assertTrue(result > 0) + result = bb.utils.vercmp_string('1a', '1a1') + self.assertTrue(result < 0) + result = bb.utils.vercmp_string('1a1', '1a') + self.assertTrue(result > 0) result = bb.utils.vercmp_string('1.', '1.1') self.assertTrue(result < 0) result = bb.utils.vercmp_string('1.1', '1.') diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass index 90af8ba72..0c8a4b286 100644 --- a/poky/meta/classes/base.bbclass +++ b/poky/meta/classes/base.bbclass @@ -15,6 +15,8 @@ OE_EXTRA_IMPORTS ?= "" OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license ${OE_EXTRA_IMPORTS}" OE_IMPORTS[type] = "list" +PACKAGECONFIG_CONFARGS ??= "" + def oe_import(d): import sys diff --git a/poky/meta/classes/binconfig.bbclass b/poky/meta/classes/binconfig.bbclass index 133b9537c..9112ed460 100644 --- a/poky/meta/classes/binconfig.bbclass +++ b/poky/meta/classes/binconfig.bbclass @@ -40,15 +40,6 @@ binconfig_package_preprocess () { -e 's:${STAGING_DIR_HOST}${prefix}:${prefix}:' \ $config done - for lafile in `find ${PKGD} -type f -name "*.la"` ; do - sed -i \ - -e 's:${STAGING_BASELIBDIR}:${base_libdir}:g;' \ - -e 's:${STAGING_LIBDIR}:${libdir}:g;' \ - -e 's:${STAGING_INCDIR}:${includedir}:g;' \ - -e 's:${STAGING_DATADIR}:${datadir}:' \ - -e 's:${STAGING_DIR_HOST}${prefix}:${prefix}:' \ - $lafile - done } SYSROOT_PREPROCESS_FUNCS += "binconfig_sysroot_preprocess" diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass index 796f68cf8..2e501df24 100644 --- a/poky/meta/classes/buildhistory.bbclass +++ b/poky/meta/classes/buildhistory.bbclass @@ -839,11 +839,15 @@ python buildhistory_eventhandler() { if e.data.getVar("BUILDHISTORY_COMMIT") == "1": bb.note("Writing buildhistory") bb.build.exec_func("buildhistory_write_sigs", d) + import time + start=time.time() localdata = bb.data.createCopy(e.data) localdata.setVar('BUILDHISTORY_BUILD_FAILURES', str(e._failures)) interrupted = getattr(e, '_interrupted', 0) localdata.setVar('BUILDHISTORY_BUILD_INTERRUPTED', str(interrupted)) bb.build.exec_func("buildhistory_commit", localdata) + stop=time.time() + bb.note("Writing buildhistory took: %s seconds" % round(stop-start)) else: bb.note("No commit since BUILDHISTORY_COMMIT != '1'") } diff --git a/poky/meta/classes/cmake.bbclass b/poky/meta/classes/cmake.bbclass index f80a7e2f1..2b317c832 100644 --- a/poky/meta/classes/cmake.bbclass +++ b/poky/meta/classes/cmake.bbclass @@ -119,7 +119,7 @@ set( ENV{QT_CONF_PATH} ${WORKDIR}/qt.conf ) # directory as rpath by default set( CMAKE_INSTALL_RPATH ${OECMAKE_RPATH} ) -# Use native cmake modules +# Use our cmake modules list(APPEND CMAKE_MODULE_PATH "${STAGING_DATADIR}/cmake/Modules/") # add for non /usr/lib libdir, e.g. /usr/lib64 diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass index 743bc08a4..379f7121c 100644 --- a/poky/meta/classes/cve-check.bbclass +++ b/poky/meta/classes/cve-check.bbclass @@ -26,7 +26,7 @@ CVE_PRODUCT ??= "${BPN}" CVE_VERSION ??= "${PV}" CVE_CHECK_DB_DIR ?= "${DL_DIR}/CVE_CHECK" -CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvd.db" +CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvd-json.db" CVE_CHECK_LOG ?= "${T}/cve.log" CVE_CHECK_TMP_FILE ?= "${TMPDIR}/cve_check" @@ -62,7 +62,7 @@ python do_cve_check () { } addtask cve_check after do_unpack before do_build -do_cve_check[depends] = "cve-check-tool-native:do_populate_sysroot cve-check-tool-native:do_populate_cve_db" +do_cve_check[depends] = "cve-update-db:do_populate_cve_db" do_cve_check[nostamp] = "1" python cve_check_cleanup () { @@ -163,61 +163,55 @@ def get_patches_cves(d): def check_cves(d, patched_cves): """ - Run cve-check-tool looking for patched and unpatched CVEs. + Connect to the NVD database and find unpatched cves. """ - import ast, csv, tempfile, subprocess, io + from distutils.version import LooseVersion - cves_patched = [] cves_unpatched = [] - bpn = d.getVar("CVE_PRODUCT") + # CVE_PRODUCT can contain more than one product (eg. curl/libcurl) + bpn = d.getVar("CVE_PRODUCT").split() # If this has been unset then we're not scanning for CVEs here (for example, image recipes) - if not bpn: + if len(bpn) == 0: return ([], []) pv = d.getVar("CVE_VERSION").split("+git")[0] - cves = " ".join(patched_cves) - cve_db_dir = d.getVar("CVE_CHECK_DB_DIR") cve_whitelist = ast.literal_eval(d.getVar("CVE_CHECK_CVE_WHITELIST")) - cve_cmd = "cve-check-tool" - cmd = [cve_cmd, "--no-html", "--skip-update", "--csv", "--not-affected", "-t", "faux", "-d", cve_db_dir] # If the recipe has been whitlisted we return empty lists if d.getVar("PN") in d.getVar("CVE_CHECK_PN_WHITELIST").split(): bb.note("Recipe has been whitelisted, skipping check") return ([], []) - try: - # Write the faux CSV file to be used with cve-check-tool - fd, faux = tempfile.mkstemp(prefix="cve-faux-") - with os.fdopen(fd, "w") as f: - for pn in bpn.split(): - f.write("%s,%s,%s,\n" % (pn, pv, cves)) - cmd.append(faux) - - output = subprocess.check_output(cmd).decode("utf-8") - bb.debug(2, "Output of command %s:\n%s" % ("\n".join(cmd), output)) - except subprocess.CalledProcessError as e: - bb.warn("Couldn't check for CVEs: %s (output %s)" % (e, e.output)) - finally: - os.remove(faux) - - for row in csv.reader(io.StringIO(output)): - # Third row has the unpatched CVEs - if row[2]: - for cve in row[2].split(): - # Skip if the CVE has been whitlisted for the current version - if pv in cve_whitelist.get(cve,[]): - bb.note("%s-%s has been whitelisted for %s" % (bpn, pv, cve)) - else: - cves_unpatched.append(cve) - bb.debug(2, "%s-%s is not patched for %s" % (bpn, pv, cve)) - # Fourth row has patched CVEs - if row[3]: - for cve in row[3].split(): - cves_patched.append(cve) - bb.debug(2, "%s-%s is patched for %s" % (bpn, pv, cve)) - - return (cves_patched, cves_unpatched) + import sqlite3 + db_file = d.getVar("CVE_CHECK_DB_FILE") + conn = sqlite3.connect(db_file) + c = conn.cursor() + + query = """SELECT * FROM PRODUCTS WHERE + (PRODUCT IS '{0}' AND VERSION = '{1}' AND OPERATOR IS '=') OR + (PRODUCT IS '{0}' AND OPERATOR IS '<=');""" + for idx in range(len(bpn)): + for row in c.execute(query.format(bpn[idx],pv)): + cve = row[1] + version = row[4] + + try: + discardVersion = LooseVersion(version) < LooseVersion(pv) + except: + discardVersion = True + + if pv in cve_whitelist.get(cve,[]): + bb.note("%s-%s has been whitelisted for %s" % (bpn[idx], pv, cve)) + elif cve in patched_cves: + bb.note("%s has been patched" % (cve)) + elif discardVersion: + bb.debug(2, "Do not consider version %s " % (version)) + else: + cves_unpatched.append(cve) + bb.debug(2, "%s-%s is not patched for %s" % (bpn[idx], pv, cve)) + conn.close() + + return (list(patched_cves), cves_unpatched) def get_cve_info(d, cves): """ @@ -241,9 +235,10 @@ def get_cve_info(d, cves): for row in cur.execute(query, tuple(cves)): cve_data[row[0]] = {} cve_data[row[0]]["summary"] = row[1] - cve_data[row[0]]["score"] = row[2] - cve_data[row[0]]["modified"] = row[3] - cve_data[row[0]]["vector"] = row[4] + cve_data[row[0]]["scorev2"] = row[2] + cve_data[row[0]]["scorev3"] = row[3] + cve_data[row[0]]["modified"] = row[4] + cve_data[row[0]]["vector"] = row[5] conn.close() return cve_data @@ -270,7 +265,8 @@ def cve_write_data(d, patched, unpatched, cve_data): unpatched_cves.append(cve) write_string += "CVE STATUS: Unpatched\n" write_string += "CVE SUMMARY: %s\n" % cve_data[cve]["summary"] - write_string += "CVSS v2 BASE SCORE: %s\n" % cve_data[cve]["score"] + write_string += "CVSS v2 BASE SCORE: %s\n" % cve_data[cve]["scorev2"] + write_string += "CVSS v3 BASE SCORE: %s\n" % cve_data[cve]["scorev3"] write_string += "VECTOR: %s\n" % cve_data[cve]["vector"] write_string += "MORE INFORMATION: %s%s\n\n" % (nvd_link, cve) diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index fdc20c41a..0695a0443 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -259,13 +259,6 @@ def package_qa_check_dbg(path, name, d, elf, messages): package_qa_add_message(messages, "debug-files", "non debug package contains .debug directory: %s path %s" % \ (name, package_qa_clean_path(path,d))) -QAPATHTEST[perms] = "package_qa_check_perm" -def package_qa_check_perm(path,name,d, elf, messages): - """ - Check the permission of files - """ - return - QAPATHTEST[arch] = "package_qa_check_arch" def package_qa_check_arch(path,name,d, elf, messages): """ @@ -408,7 +401,8 @@ def package_qa_check_buildpaths(path, name, d, elf, messages): with open(path, 'rb') as f: file_content = f.read() if tmpdir in file_content: - package_qa_add_message(messages, "buildpaths", "File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d)) + trimmed = path.replace(os.path.join (d.getVar("PKGDEST"), name), "") + package_qa_add_message(messages, "buildpaths", "File %s in package %s contains reference to TMPDIR" % (trimmed, name)) QAPATHTEST[xorg-driver-abi] = "package_qa_check_xorg_driver_abi" diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass index 9e224daf0..b51882dce 100644 --- a/poky/meta/classes/kernel-fitimage.bbclass +++ b/poky/meta/classes/kernel-fitimage.bbclass @@ -50,6 +50,9 @@ python __anonymous () { # Options for the device tree compiler passed to mkimage '-D' feature: UBOOT_MKIMAGE_DTCOPTS ??= "" +# fitImage Hash Algo +FIT_HASH_ALG ?= "sha256" + # # Emit the fitImage ITS header # @@ -109,7 +112,7 @@ EOF # $4 ... Compression type fitimage_emit_section_kernel() { - kernel_csum="sha1" + kernel_csum="${FIT_HASH_ALG}" ENTRYPOINT="${UBOOT_ENTRYPOINT}" if [ -n "${UBOOT_ENTRYSYMBOL}" ]; then @@ -142,7 +145,7 @@ EOF # $3 ... Path to DTB image fitimage_emit_section_dtb() { - dtb_csum="sha1" + dtb_csum="${FIT_HASH_ALG}" dtb_loadline="" dtb_ext=${DTB##*.} @@ -176,7 +179,7 @@ EOF # $3 ... Path to setup image fitimage_emit_section_setup() { - setup_csum="sha1" + setup_csum="${FIT_HASH_ALG}" cat << EOF >> ${1} setup@${2} { @@ -203,7 +206,7 @@ EOF # $3 ... Path to ramdisk image fitimage_emit_section_ramdisk() { - ramdisk_csum="sha1" + ramdisk_csum="${FIT_HASH_ALG}" ramdisk_ctype="none" ramdisk_loadline="" ramdisk_entryline="" @@ -261,7 +264,7 @@ EOF # $6 ... default flag fitimage_emit_section_config() { - conf_csum="sha1" + conf_csum="${FIT_HASH_ALG}" if [ -n "${UBOOT_SIGN_ENABLE}" ] ; then conf_sign_keyname="${UBOOT_SIGN_KEYNAME}" fi diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index c5313ccd1..4b907d682 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -492,7 +492,7 @@ HOSTTOOLS += " \ [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \ cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \ fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \ - head hostname id install ld ldd ln ls make makeinfo md5sum mkdir mknod \ + head hostname iconv id install ld ldd ln ls make makeinfo md5sum mkdir mknod \ mktemp mv nm objcopy objdump od patch perl pod2man pr printf pwd python2 \ python2.7 python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh sha256sum \ sleep sort split stat strings strip tail tar tee test touch tr true uname \ diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index 1923ae6bb..64856e105 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -136,6 +136,7 @@ RECIPE_MAINTAINER_pn-cryptodev-tests = "Robert Yang " RECIPE_MAINTAINER_pn-cups = "Chen Qi " RECIPE_MAINTAINER_pn-curl = "Armin Kuster " RECIPE_MAINTAINER_pn-cve-check-tool = "Ross Burton " +RECIPE_MAINTAINER_pn-cve-update-db = "Ross Burton " RECIPE_MAINTAINER_pn-cwautomacros = "Ross Burton " RECIPE_MAINTAINER_pn-db = "Mark Hatle " RECIPE_MAINTAINER_pn-dbus = "Chen Qi " @@ -355,6 +356,7 @@ RECIPE_MAINTAINER_pn-libksba = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libmatchbox = "Ross Burton " RECIPE_MAINTAINER_pn-libmnl = "Khem Raj " RECIPE_MAINTAINER_pn-libmpc = "Khem Raj " +RECIPE_MAINTAINER_pn-libmodule-build-perl = "Tim Orling " RECIPE_MAINTAINER_pn-libmodulemd = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libnewt = "Hongxu Jia " RECIPE_MAINTAINER_pn-libnewt-python = "Hongxu Jia " @@ -409,6 +411,7 @@ RECIPE_MAINTAINER_pn-libxcb = "Armin Kuster " RECIPE_MAINTAINER_pn-libxcomposite = "Armin Kuster " RECIPE_MAINTAINER_pn-libxcursor = "Armin Kuster " RECIPE_MAINTAINER_pn-libxcrypt = "Khem Raj " +RECIPE_MAINTAINER_pn-libxcrypt-compat = "Khem Raj " RECIPE_MAINTAINER_pn-libxdamage = "Armin Kuster " RECIPE_MAINTAINER_pn-libxdmcp = "Armin Kuster " RECIPE_MAINTAINER_pn-libxext = "Armin Kuster " @@ -538,6 +541,7 @@ RECIPE_MAINTAINER_pn-nspr = "Armin Kuster " RECIPE_MAINTAINER_pn-nss = "Armin Kuster " RECIPE_MAINTAINER_pn-nss-myhostname = "Anuj Mittal " RECIPE_MAINTAINER_pn-ofono = "Ross Burton " +RECIPE_MAINTAINER_pn-opensbi = "Alistair Francis " RECIPE_MAINTAINER_pn-openssh = "Armin Kuster " RECIPE_MAINTAINER_pn-openssl = "Alexander Kanavin " RECIPE_MAINTAINER_pn-opkg = "Alejandro del Castillo " @@ -727,6 +731,7 @@ RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko " RECIPE_MAINTAINER_pn-wget = "Yi Zhao " RECIPE_MAINTAINER_pn-which = "Anuj Mittal " RECIPE_MAINTAINER_pn-wic-tools = "Anuj Mittal " +RECIPE_MAINTAINER_pn-wireless-regdb = "Adrian Bunk " RECIPE_MAINTAINER_pn-wpa-supplicant = "Changhyeok Bae " RECIPE_MAINTAINER_pn-x11perf = "Armin Kuster " RECIPE_MAINTAINER_pn-x264 = "Anuj Mittal " diff --git a/poky/meta/conf/distro/include/yocto-uninative.inc b/poky/meta/conf/distro/include/yocto-uninative.inc index 0bb8f7af1..df2434685 100644 --- a/poky/meta/conf/distro/include/yocto-uninative.inc +++ b/poky/meta/conf/distro/include/yocto-uninative.inc @@ -8,7 +8,7 @@ UNINATIVE_MAXGLIBCVERSION = "2.29" -UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.5/" -UNINATIVE_CHECKSUM[aarch64] ?= "ca977ff95c77f983570141908d451ff7d78add2864471605af404302bb36a1fa" -UNINATIVE_CHECKSUM[i686] ?= "7b5822891c293795faf8a4a80586b36f8cde405387524916a24f9055ea82f7ca" -UNINATIVE_CHECKSUM[x86_64] ?= "ed0ac07c710b711925cb976685dd855fb1d442dd840d00194751c18bf480c4ed" +UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.6/" +UNINATIVE_CHECKSUM[aarch64] ?= "a37118fc8b423f48146120707b81dd15017512c3e8ef9e6ca2cb3a033f4f4046" +UNINATIVE_CHECKSUM[i686] ?= "3234fc3ded810225071f23a0e9a99f4f8c2480059945a848eff076ce78122ade" +UNINATIVE_CHECKSUM[x86_64] ?= "133387753a9acf3e1b788103c59fac91e968e2ee331d7a4b9498e926ada7be57" diff --git a/poky/meta/conf/machine/include/riscv/arch-riscv.inc b/poky/meta/conf/machine/include/riscv/arch-riscv.inc new file mode 100644 index 000000000..19f8f3e21 --- /dev/null +++ b/poky/meta/conf/machine/include/riscv/arch-riscv.inc @@ -0,0 +1,10 @@ +# RISCV Architecture definition + +DEFAULTTUNE ?= "riscv64" + +TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}" +TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" +TUNE_CCARGS .= "" + +# QEMU usermode fails with invalid instruction error (For riscv32) +MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32', ' qemu-usermode', '', d)}" diff --git a/poky/meta/conf/machine/include/riscv/qemuriscv.inc b/poky/meta/conf/machine/include/riscv/qemuriscv.inc new file mode 100644 index 000000000..84d09fa78 --- /dev/null +++ b/poky/meta/conf/machine/include/riscv/qemuriscv.inc @@ -0,0 +1,50 @@ +PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" + +require conf/machine/include/qemu.inc +require conf/machine/include/riscv/tune-riscv.inc + +MACHINE_FEATURES = "screen keyboard ext2 ext3 serial" + +KERNEL_IMAGETYPE = "Image" +KERNEL_IMAGETYPES += "uImage" +KEEPUIMAGE = "no" + +SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0" + +IMAGE_FSTYPES_append = " ext4" + +MACHINE_EXTRA_RRECOMMENDS += " kernel-modules" + +EXTRA_IMAGEDEPENDS += "opensbi" +RISCV_SBI_PLAT ?= "qemu/virt" +RISCV_SBI_PAYLOAD ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin" + +UBOOT_ENTRYPOINT_riscv32 = "0x80400000" +UBOOT_ENTRYPOINT_riscv64 = "0x80200000" + +# qemuboot options +QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi" +QB_MEM = "-m 512" +QB_MACHINE = "-machine virt" +QB_DEFAULT_KERNEL = "fw_jump.elf" +QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" +QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" +QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" +QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" +QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" +# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy +QB_OPT_APPEND = " -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0" + +BAD_RECOMMENDATIONS += "\ + libcxx-dev \ + libcxx-staticdev \ + compiler-rt-dev \ + compiler-rt-staticdev \ +" + +ASSUME_PROVIDED += "\ + libcxx-dev \ + libcxx-staticdev \ + compiler-rt-dev \ + compiler-rt-staticdev \ +" diff --git a/poky/meta/conf/machine/include/riscv/tune-riscv.inc b/poky/meta/conf/machine/include/riscv/tune-riscv.inc new file mode 100644 index 000000000..1e3a1081e --- /dev/null +++ b/poky/meta/conf/machine/include/riscv/tune-riscv.inc @@ -0,0 +1,19 @@ +require conf/machine/include/riscv/arch-riscv.inc + +TUNEVALID[riscv64] = "Enable 64-bit RISC-V optimizations" +TUNEVALID[riscv32] = "Enable 32-bit RISC-V optimizations" + +TUNEVALID[littleendian] = "Little endian mode" + +AVAILTUNES += "riscv64 riscv32" + +TUNE_FEATURES_tune-riscv64 = "riscv64 littleendian" +TUNE_ARCH_tune-riscv64 = "riscv64" +TUNE_PKGARCH_tune-riscv64 = "riscv64" +PACKAGE_EXTRA_ARCHS_tune-riscv64 = "riscv64" + +TUNE_FEATURES_tune-riscv32 = "riscv32 littleendian" +TUNE_ARCH_tune-riscv32 = "riscv32" +TUNE_PKGARCH_tune-riscv32 = "riscv32" +PACKAGE_EXTRA_ARCHS_tune-riscv32 = "riscv32" + diff --git a/poky/meta/conf/machine/qemuriscv64.conf b/poky/meta/conf/machine/qemuriscv64.conf new file mode 100644 index 000000000..dba8f09e9 --- /dev/null +++ b/poky/meta/conf/machine/qemuriscv64.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: generic riscv64 machine +#@DESCRIPTION: Machine configuration for running a generic riscv64 + +require conf/machine/include/riscv/qemuriscv.inc + +QB_OPT_APPEND += "-show-cursor -monitor null -device loader,file=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE},addr=0x80200000" + +EXTRA_IMAGEDEPENDS += "u-boot" +UBOOT_MACHINE = "qemu-riscv64_defconfig" +UBOOT_ELF = "u-boot" diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py index 9358f562c..c62fa5f54 100644 --- a/poky/meta/lib/oe/rootfs.py +++ b/poky/meta/lib/oe/rootfs.py @@ -647,6 +647,7 @@ class DpkgRootfs(DpkgOpkgRootfs): if pkg_type in pkgs_to_install: self.pm.install(pkgs_to_install[pkg_type], [False, True][pkg_type == Manifest.PKG_TYPE_ATTEMPT_ONLY]) + self.pm.fix_broken_dependencies() if self.progress_reporter: # Don't support attemptonly, so skip that diff --git a/poky/meta/lib/oeqa/runtime/cases/logrotate.py b/poky/meta/lib/oeqa/runtime/cases/logrotate.py index 8358793a2..bfa57c534 100644 --- a/poky/meta/lib/oeqa/runtime/cases/logrotate.py +++ b/poky/meta/lib/oeqa/runtime/cases/logrotate.py @@ -35,7 +35,9 @@ class LogrotateTest(OERuntimeTestCase): @OETestDepends(['logrotate.LogrotateTest.test_1_logrotate_setup']) def test_2_logrotate(self): - status, output = self.target.run('logrotate -f /etc/logrotate.conf') + status, output = self.target.run('echo "create \n include /etc/logrotate.d" > /tmp/logrotate-test.conf') + status, output = self.target.run('logrotate -f /tmp/logrotate-test.conf') + msg = ('logrotate service could not be reloaded. Status and output: ' '%s and %s' % (status, output)) self.assertEqual(status, 0, msg = msg) diff --git a/poky/meta/lib/oeqa/selftest/cases/manifest.py b/poky/meta/lib/oeqa/selftest/cases/manifest.py index c0b25ab5d..5d13f3546 100644 --- a/poky/meta/lib/oeqa/selftest/cases/manifest.py +++ b/poky/meta/lib/oeqa/selftest/cases/manifest.py @@ -86,11 +86,8 @@ class VerifyManifest(OESelftestTestCase): try: mdir = self.get_dir_from_bb_var('SDK_DEPLOY', self.buildtarget) for k in d_target.keys(): - bb_vars = get_bb_vars(['SDK_NAME', 'SDK_VERSION'], self.buildtarget) - mfilename[k] = "{}-toolchain-{}.{}.manifest".format( - bb_vars['SDK_NAME'], - bb_vars['SDK_VERSION'], - k) + toolchain_outputname = get_bb_var('TOOLCHAIN_OUTPUTNAME', self.buildtarget) + mfilename[k] = "{}.{}.manifest".format(toolchain_outputname, k) mpath[k] = os.path.join(mdir, mfilename[k]) if not os.path.isfile(mpath[k]): self.logger.debug("{}: {} does not exist".format( diff --git a/poky/meta/lib/oeqa/utils/logparser.py b/poky/meta/lib/oeqa/utils/logparser.py index cc6d18d94..b31214b1c 100644 --- a/poky/meta/lib/oeqa/utils/logparser.py +++ b/poky/meta/lib/oeqa/utils/logparser.py @@ -16,7 +16,7 @@ class PtestParser(object): def parse(self, logfile): test_regex = {} test_regex['PASSED'] = re.compile(r"^PASS:(.+)") - test_regex['FAILED'] = re.compile(r"^FAIL:(.+)") + test_regex['FAILED'] = re.compile(r"^FAIL:([^(]+)") test_regex['SKIPPED'] = re.compile(r"^SKIP:(.+)") section_regex = {} @@ -69,7 +69,7 @@ class PtestParser(object): if result: if current_section['name'] not in self.results: self.results[current_section['name']] = {} - self.results[current_section['name']][result.group(1)] = t + self.results[current_section['name']][result.group(1).strip()] = t return self.results, self.sections diff --git a/poky/meta/recipes-bsp/opensbi/files/0001-Makefile-Don-t-specify-mabi-or-march.patch b/poky/meta/recipes-bsp/opensbi/files/0001-Makefile-Don-t-specify-mabi-or-march.patch new file mode 100644 index 000000000..9c2d0eb47 --- /dev/null +++ b/poky/meta/recipes-bsp/opensbi/files/0001-Makefile-Don-t-specify-mabi-or-march.patch @@ -0,0 +1,38 @@ +From f5871e1f3650d6c8a032928cb5d8ca00c275c377 Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Fri, 15 Feb 2019 14:57:41 -0800 +Subject: [PATCH] Makefile: Don't specify mabi or march + +To avoid + can't link double-float modules with soft-float modules +errors when building 32-bit openSBI don't specify mabi or march. + +Upstream-Status: Inappropriate [Fixes a 32-bit Yocto flow bug] +Signed-off-by: Alistair Francis +--- + Makefile | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/Makefile b/Makefile +index ae68f55..10851fc 100644 +--- a/Makefile ++++ b/Makefile +@@ -145,7 +145,6 @@ GENFLAGS += $(firmware-genflags-y) + CFLAGS = -g -Wall -Werror -nostdlib -fno-strict-aliasing -O2 + CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls + CFLAGS += -mno-save-restore -mstrict-align +-CFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA) + CFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL) + CFLAGS += $(GENFLAGS) + CFLAGS += $(platform-cflags-y) +@@ -158,7 +157,6 @@ CPPFLAGS += $(firmware-cppflags-y) + ASFLAGS = -g -Wall -nostdlib -D__ASSEMBLY__ + ASFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls + ASFLAGS += -mno-save-restore -mstrict-align +-ASFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA) + ASFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL) + ASFLAGS += $(GENFLAGS) + ASFLAGS += $(platform-asflags-y) +-- +2.20.1 + diff --git a/poky/meta/recipes-bsp/opensbi/files/0002-lib-Create-a-sbi_ipi_data-structure.patch b/poky/meta/recipes-bsp/opensbi/files/0002-lib-Create-a-sbi_ipi_data-structure.patch new file mode 100644 index 000000000..3c846bde6 --- /dev/null +++ b/poky/meta/recipes-bsp/opensbi/files/0002-lib-Create-a-sbi_ipi_data-structure.patch @@ -0,0 +1,128 @@ +From 508a27204cbbca0a9430236e56681e5e0d343fb9 Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Fri, 8 Mar 2019 11:22:22 -0800 +Subject: [PATCH] lib: Create a sbi_ipi_data structure + +Create a sbi_ipi_data structure that holds unpacked IPI information. At +the same time remove ipi_type from the sbi_scratch struct and use a +fixed offset to access it. + +This structure fits in behind the sbi_scratch structure. + +This fixes https://github.com/riscv/opensbi/issues/81 + +Upstream-Status: Backport [https://github.com/riscv/opensbi/commit/508a27204cbbca0a9430236e56681e5e0d343fb9] +Signed-off-by: Alistair Francis +--- + firmware/fw_base.S | 1 - + include/sbi/sbi_scratch.h | 23 ++++++++++++++++------- + lib/sbi_ipi.c | 8 +++++--- + 3 files changed, 21 insertions(+), 11 deletions(-) + +diff --git a/firmware/fw_base.S b/firmware/fw_base.S +index cf2c6a0..69cfc90 100644 +--- a/firmware/fw_base.S ++++ b/firmware/fw_base.S +@@ -183,7 +183,6 @@ _start_warm: + REG_S a4, SBI_SCRATCH_PLATFORM_ADDR_OFFSET(tp) + la a4, _hartid_to_scratch + REG_S a4, SBI_SCRATCH_HARTID_TO_SCRATCH_OFFSET(tp) +- REG_S zero, SBI_SCRATCH_IPI_TYPE_OFFSET(tp) + REG_S zero, SBI_SCRATCH_TMP0_OFFSET(tp) + + /* Setup stack */ +diff --git a/include/sbi/sbi_scratch.h b/include/sbi/sbi_scratch.h +index 8389ef3..70ab384 100644 +--- a/include/sbi/sbi_scratch.h ++++ b/include/sbi/sbi_scratch.h +@@ -28,17 +28,24 @@ + #define SBI_SCRATCH_PLATFORM_ADDR_OFFSET (6 * __SIZEOF_POINTER__) + /** Offset of hartid_to_scratch member in sbi_scratch */ + #define SBI_SCRATCH_HARTID_TO_SCRATCH_OFFSET (7 * __SIZEOF_POINTER__) +-/** Offset of ipi_type member in sbi_scratch */ +-#define SBI_SCRATCH_IPI_TYPE_OFFSET (8 * __SIZEOF_POINTER__) + /** Offset of tmp0 member in sbi_scratch */ +-#define SBI_SCRATCH_TMP0_OFFSET (9 * __SIZEOF_POINTER__) +-/** Maximum size of sbi_scratch */ +-#define SBI_SCRATCH_SIZE 256 ++#define SBI_SCRATCH_TMP0_OFFSET (8 * __SIZEOF_POINTER__) ++ ++/** sbi_ipi_data is located behind sbi_scratch. This struct is not packed. */ ++/** Offset of ipi_type in sbi_ipi_data */ ++#define SBI_IPI_DATA_IPI_TYPE_OFFSET (15 * __SIZEOF_POINTER__) ++ ++/** Maximum size of sbi_scratch and sbi_ipi_data */ ++#define SBI_SCRATCH_SIZE (32 * __SIZEOF_POINTER__) + + #ifndef __ASSEMBLY__ + + #include + ++struct sbi_ipi_data { ++ unsigned long ipi_type; ++}; ++ + /** Representation of per-HART scratch space */ + struct sbi_scratch { + /** Start (or base) address of firmware linked to OpenSBI library */ +@@ -57,8 +64,6 @@ struct sbi_scratch { + unsigned long platform_addr; + /** Address of HART ID to sbi_scratch conversion function */ + unsigned long hartid_to_scratch; +- /** IPI type (or flags) */ +- unsigned long ipi_type; + /** Temporary storage */ + unsigned long tmp0; + } __packed; +@@ -71,6 +76,10 @@ struct sbi_scratch { + #define sbi_scratch_thishart_arg1_ptr() \ + ((void *)(sbi_scratch_thishart_ptr()->next_arg1)) + ++/** Get pointer to sbi_ipi_data from sbi_scratch */ ++#define sbi_ipi_data_ptr(scratch) \ ++((struct sbi_ipi_data *)(void*)scratch + SBI_IPI_DATA_IPI_TYPE_OFFSET) ++ + #endif + + #endif +diff --git a/lib/sbi_ipi.c b/lib/sbi_ipi.c +index 0e371d7..e0f2a19 100644 +--- a/lib/sbi_ipi.c ++++ b/lib/sbi_ipi.c +@@ -31,7 +31,7 @@ static int sbi_ipi_send(struct sbi_scratch *scratch, u32 hartid, u32 event) + * trigger the interrupt + */ + remote_scratch = sbi_hart_id_to_scratch(scratch, hartid); +- atomic_raw_set_bit(event, &remote_scratch->ipi_type); ++ atomic_raw_set_bit(event, &sbi_ipi_data_ptr(remote_scratch)->ipi_type); + mb(); + sbi_platform_ipi_send(plat, hartid); + if (event != SBI_IPI_EVENT_SOFT) +@@ -80,7 +80,7 @@ void sbi_ipi_process(struct sbi_scratch *scratch) + sbi_platform_ipi_clear(plat, hartid); + + do { +- ipi_type = scratch->ipi_type; ++ ipi_type = sbi_ipi_data_ptr(scratch)->ipi_type; + rmb(); + ipi_event = __ffs(ipi_type); + switch (ipi_event) { +@@ -97,12 +97,14 @@ void sbi_ipi_process(struct sbi_scratch *scratch) + sbi_hart_hang(); + break; + }; +- ipi_type = atomic_raw_clear_bit(ipi_event, &scratch->ipi_type); ++ ipi_type = atomic_raw_clear_bit(ipi_event, &sbi_ipi_data_ptr(scratch)->ipi_type); + } while(ipi_type > 0); + } + + int sbi_ipi_init(struct sbi_scratch *scratch, bool cold_boot) + { ++ sbi_ipi_data_ptr(scratch)->ipi_type = 0x00; ++ + /* Enable software interrupts */ + csr_set(CSR_MIE, MIP_MSIP); + +-- +2.22.0 + diff --git a/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc b/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc new file mode 100644 index 000000000..7df168325 --- /dev/null +++ b/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc @@ -0,0 +1,37 @@ +def riscv_get_extra_oemake_image(d): + sbi_payload = d.getVar('RISCV_SBI_PAYLOAD') + deploy_dir = d.getVar('DEPLOY_DIR_IMAGE') + + if sbi_payload is None: + return "" + + if d.getVar('RISCV_SBI_PAYLOAD'): + return "FW_PAYLOAD_PATH=" + deploy_dir + "/" + sbi_payload + + return "" + +def riscv_get_extra_oemake_fdt(d): + sbi_fdt_payload = d.getVar('RISCV_SBI_FDT') + deploy_dir = d.getVar('DEPLOY_DIR_IMAGE') + + if sbi_fdt_payload is None: + return "" + + if d.getVar('RISCV_SBI_PAYLOAD'): + # This is internal to openSBI, not a full path + return "FW_PAYLOAD_FDT=" + sbi_fdt_payload + + return "" + +def riscv_get_do_compile_depends(d): + sbi_payload = d.getVar('RISCV_SBI_PAYLOAD') + + if sbi_payload is None: + return "" + + if 'linux' in sbi_payload or 'Image' in sbi_payload: + return "virtual/kernel:do_deploy" + if 'u-boot' in sbi_payload: + return "virtual/bootloader:do_deploy" + + return "" diff --git a/poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb b/poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb new file mode 100644 index 000000000..2b4fb97df --- /dev/null +++ b/poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb @@ -0,0 +1,49 @@ +SUMMARY = "RISC-V Open Source Supervisor Binary Interface (OpenSBI)" +DESCRIPTION = "OpenSBI aims to provide an open-source and extensible implementation of the RISC-V SBI specification for a platform specific firmware (M-mode) and a general purpose OS, hypervisor or bootloader (S-mode or HS-mode). OpenSBI implementation can be easily extended by RISC-V platform or System-on-Chip vendors to fit a particular hadware configuration." +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=c36118b4f615f9da37635f2a7ac8ccaf" +DEPENDS += "dtc-native" + +require opensbi-payloads.inc + +inherit autotools-brokensep + +SRCREV = "ca20ac0cd4c099006d4eea4d9ac7bd7b58e2ae0f" +SRC_URI = "git://github.com/riscv/opensbi.git \ + file://0001-Makefile-Don-t-specify-mabi-or-march.patch \ + file://0002-lib-Create-a-sbi_ipi_data-structure.patch \ + " + +S = "${WORKDIR}/git" + +SRC_URI[md5sum] = "621f38d8205ef5fb185e4055025e73df" +SRC_URI[sha256sum] = "07f18b73abf3b85aabe5bead19a923716c100d30eb58033459f39c3a224be300" + +EXTRA_OEMAKE += "PLATFORM=${RISCV_SBI_PLAT} I=${D}" +# If RISCV_SBI_PAYLOAD is set then include it as a payload +EXTRA_OEMAKE_append = " ${@riscv_get_extra_oemake_image(d)} ${@riscv_get_extra_oemake_fdt(d)}" + +# Required if specifying a custom payload +do_compile[depends] += "${@riscv_get_do_compile_depends(d)}" + +do_install_append() { + # In the future these might be required as a dependency for other packages. + # At the moment just delete them to avoid warnings + rm -r ${D}/include + rm -r ${D}/platform/${RISCV_SBI_PLAT}/lib + rm -r ${D}/platform/${RISCV_SBI_PLAT}/firmware/payloads +} + +do_deploy () { + install -d ${DEPLOY_DIR_IMAGE} + install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.* ${DEPLOY_DIR_IMAGE}/ + install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.* ${DEPLOY_DIR_IMAGE}/ +} + +addtask deploy after do_install + +FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.*" +FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.*" + +COMPATIBLE_HOST = "(riscv64|riscv32).*" +INHIBIT_PACKAGE_STRIP = "1" diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb index 0a5c2ffae..35cdf71eb 100644 --- a/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb +++ b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb @@ -8,7 +8,7 @@ SECTION = "console/network" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8" -DEPENDS = "zlib openssl" +DEPENDS = "zlib openssl virtual/crypt" DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \ diff --git a/poky/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch b/poky/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch new file mode 100644 index 000000000..9a90a68cf --- /dev/null +++ b/poky/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch @@ -0,0 +1,43 @@ +From 1f8c0f2feea5cdcae0bcd9dfc78198d9e2c4cf09 Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Thu, 13 Jun 2019 12:17:30 +0900 +Subject: [PATCH] Fix build error for aarch64 big endian. + +Modified rev to rev64, because rev only takes integer registers. +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90827 +Otherwise, the following error will occur. + +Error: operand 1 must be an integer register -- `rev v31.16b,v31.16b' + +Upstream-Status: Submitted [https://github.com/openssl/openssl/pull/9151] + +Signed-off-by: Lei Maohui +--- + crypto/sha/asm/keccak1600-armv8.pl | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/crypto/sha/asm/keccak1600-armv8.pl b/crypto/sha/asm/keccak1600-armv8.pl +index dc72f18..6620690 100755 +--- a/crypto/sha/asm/keccak1600-armv8.pl ++++ b/crypto/sha/asm/keccak1600-armv8.pl +@@ -731,7 +731,7 @@ $code.=<<___; + blo .Lprocess_block_ce + ldr d31,[$inp],#8 // *inp++ + #ifdef __AARCH64EB__ +- rev v31.16b,v31.16b ++ rev64 v31.16b,v31.16b + #endif + eor $A[$j/5][$j%5],$A[$j/5][$j%5],v31.16b + beq .Lprocess_block_ce +@@ -740,7 +740,7 @@ ___ + $code.=<<___; + ldr d31,[$inp],#8 // *inp++ + #ifdef __AARCH64EB__ +- rev v31.16b,v31.16b ++ rev64 v31.16b,v31.16b + #endif + eor $A[4][4],$A[4][4],v31.16b + +-- +2.7.4 + diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb index 534be5754..011740731 100644 --- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb +++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb @@ -16,6 +16,7 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \ file://0001-skip-test_symbol_presence.patch \ file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \ file://afalg.patch \ + file://0001-Fix-build-error-for-aarch64-big-endian.patch \ " SRC_URI_append_class-nativesdk = " \ diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross b/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross index 8420f9874..b5df40072 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross @@ -4,3 +4,6 @@ have_c99_snprintf = true have_unix98_printf = true va_val_copy = true growing_stack = false + +[binaries] +env = "/usr/bin/env" diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb index f4ade098e..bb77294e1 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb @@ -16,10 +16,10 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \ file://0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch \ - file://glib-meson.cross \ " SRC_URI_append_class-native = " file://relocate-modules.patch" +SRC_URI_append_class-target = " file://glib-meson.cross" SRC_URI[md5sum] = "112a850caa8d2c21e24d4c9844e8b1fe" SRC_URI[sha256sum] = "04ab0d560d45790d055f50db2d69974eab8b693a77390075462c56e652b760b9" diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb new file mode 100644 index 000000000..ebc4648a1 --- /dev/null +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb @@ -0,0 +1,18 @@ +# +# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular +# + +require libxcrypt_${PV}.bb + +PROVIDES = "" +AUTO_LIBNAME_PKGS = "" +EXCLUDE_FROM_WORLD = "1" + +API = "--enable-obsolete-api" + +do_install_append () { + rm -rf ${D}${includedir} + rm -rf ${D}${libdir}/pkgconfig + rm -rf ${D}${datadir} +} + diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb index 637c0e6ff..893f5e737 100644 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb @@ -29,4 +29,7 @@ BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error=missing-attributes" CPPFLAGS_append_class-nativesdk = " -Wno-error=missing-attributes" +API = "--disable-obsolete-api" +EXTRA_OECONF += "${API}" + BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-core/meta/cve-update-db.bb b/poky/meta/recipes-core/meta/cve-update-db.bb new file mode 100644 index 000000000..522fd2380 --- /dev/null +++ b/poky/meta/recipes-core/meta/cve-update-db.bb @@ -0,0 +1,121 @@ +SUMMARY = "Updates the NVD CVE database" +LICENSE = "MIT" + +INHIBIT_DEFAULT_DEPS = "1" +PACKAGES = "" + +inherit nopackages + +deltask do_fetch +deltask do_unpack +deltask do_patch +deltask do_configure +deltask do_compile +deltask do_install +deltask do_populate_sysroot + +python do_populate_cve_db() { + """ + Update NVD database with json data feed + """ + + import sqlite3, urllib3, shutil, gzip, re + from datetime import date + + BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-" + YEAR_START = 2002 + JSON_TMPFILE = d.getVar("CVE_CHECK_DB_DIR") + '/nvd.json.gz' + + # Connect to database + db_file = d.getVar("CVE_CHECK_DB_FILE") + conn = sqlite3.connect(db_file) + c = conn.cursor() + + initialize_db(c) + + http = urllib3.PoolManager() + + for year in range(YEAR_START, date.today().year + 1): + year_url = BASE_URL + str(year) + meta_url = year_url + ".meta" + json_url = year_url + ".json.gz" + + # Retrieve meta last modified date + with http.request('GET', meta_url, preload_content=False) as r: + date_line = str(r.data.splitlines()[0]) + last_modified = re.search('lastModifiedDate:(.*)', date_line).group(1) + + # Compare with current db last modified date + c.execute("select DATE from META where YEAR = '%d'" % year) + meta = c.fetchone() + if not meta or meta[0] != last_modified: + # Update db with current year json file + with http.request('GET', json_url, preload_content=False) as r, open(JSON_TMPFILE, 'wb') as tmpfile: + shutil.copyfileobj(r, tmpfile) + with gzip.open(JSON_TMPFILE, 'rt') as jsonfile: + update_db(c, jsonfile) + c.execute("insert or replace into META values (?, ?)", + [year, last_modified]) + + conn.commit() + conn.close() + + with open(d.getVar("CVE_CHECK_TMP_FILE"), 'a'): + os.utime(d.getVar("CVE_CHECK_TMP_FILE"), None) +} + +# DJB2 hash algorithm +def hash_djb2(s): + hash = 5381 + for x in s: + hash = (( hash << 5) + hash) + ord(x) + + return hash & 0xFFFFFFFF + +def initialize_db(c): + c.execute("CREATE TABLE IF NOT EXISTS META (YEAR INTEGER UNIQUE, DATE TEXT)") + c.execute("CREATE TABLE IF NOT EXISTS NVD (ID TEXT UNIQUE, SUMMARY TEXT, \ + SCOREV2 TEXT, SCOREV3 TEXT, MODIFIED INTEGER, VECTOR TEXT)") + c.execute("CREATE TABLE IF NOT EXISTS PRODUCTS (HASH INTEGER UNIQUE, ID TEXT, \ + VENDOR TEXT, PRODUCT TEXT, VERSION TEXT, OPERATOR TEXT)") + c.execute("CREATE INDEX IF NOT EXISTS PRODUCT_IDX ON PRODUCTS \ + (PRODUCT, VERSION)") + +def update_db(c, json_filename): + import json + root = json.load(json_filename) + + for elt in root['CVE_Items']: + if not elt['impact']: + continue + + cveId = elt['cve']['CVE_data_meta']['ID'] + cveDesc = elt['cve']['description']['description_data'][0]['value'] + date = elt['lastModifiedDate'] + accessVector = elt['impact']['baseMetricV2']['cvssV2']['accessVector'] + cvssv2 = elt['impact']['baseMetricV2']['cvssV2']['baseScore'] + + try: + cvssv3 = elt['impact']['baseMetricV3']['cvssV3']['baseScore'] + except: + cvssv3 = 0.0 + + c.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?)", + [cveId, cveDesc, cvssv2, cvssv3, date, accessVector]) + + for vendor in elt['cve']['affects']['vendor']['vendor_data']: + for product in vendor['product']['product_data']: + for version in product['version']['version_data']: + product_str = cveId+vendor['vendor_name']+product['product_name']+version['version_value'] + hashstr = hash_djb2(product_str) + c.execute("insert or replace into PRODUCTS values (?, ?, ?, ?, ?, ?)", + [ hashstr, cveId, vendor['vendor_name'], + product['product_name'], version['version_value'], + version['version_affected']]) + + + +addtask do_populate_cve_db before do_cve_check +do_populate_cve_db[nostamp] = "1" + +EXCLUDE_FROM_WORLD = "1" diff --git a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb index 50182decf..b5e8c0f03 100644 --- a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb +++ b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb @@ -46,6 +46,7 @@ DUMMYPROVIDES = "\ /bin/bash \ /usr/bin/env \ /usr/bin/perl \ + libperl.so.5 \ pkgconfig \ pkgconfig-dev \ pkgconfig-src \ diff --git a/poky/meta/recipes-core/meta/uninative-tarball.bb b/poky/meta/recipes-core/meta/uninative-tarball.bb index 25635fc2f..39638eb8c 100644 --- a/poky/meta/recipes-core/meta/uninative-tarball.bb +++ b/poky/meta/recipes-core/meta/uninative-tarball.bb @@ -16,6 +16,7 @@ TOOLCHAIN_HOST_TASK = "\ nativesdk-glibc-gconv-libjis \ nativesdk-patchelf \ nativesdk-libxcrypt \ + nativesdk-libxcrypt-compat \ nativesdk-libnss-nis \ " diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb index cae704aa2..d05403635 100644 --- a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb +++ b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb @@ -271,6 +271,7 @@ RRECOMMENDS_packagegroup-base-ipsec = "\ SUMMARY_packagegroup-base-wifi = "WiFi support" RDEPENDS_packagegroup-base-wifi = "\ iw \ + wireless-regdb-static \ wpa-supplicant" RRECOMMENDS_packagegroup-base-wifi = "\ diff --git a/poky/meta/recipes-core/systemd/systemd-conf/wired.network b/poky/meta/recipes-core/systemd/systemd-conf/wired.network index 253aee938..ff807ba31 100644 --- a/poky/meta/recipes-core/systemd/systemd-conf/wired.network +++ b/poky/meta/recipes-core/systemd/systemd-conf/wired.network @@ -1,5 +1,6 @@ [Match] Name=en* eth* +KernelCommandLine=!nfsroot [Network] DHCP=yes diff --git a/poky/meta/recipes-core/volatile-binds/files/mount-copybind b/poky/meta/recipes-core/volatile-binds/files/mount-copybind index fddf52005..e32e67530 100755 --- a/poky/meta/recipes-core/volatile-binds/files/mount-copybind +++ b/poky/meta/recipes-core/volatile-binds/files/mount-copybind @@ -42,14 +42,14 @@ if [ -d "$mountpoint" ]; then if ! mount -t overlay overlay -olowerdir="$mountpoint",upperdir="$spec",workdir="$overlay_workdir" "$mountpoint" > /dev/null 2>&1; then if [ "$specdir_existed" != "yes" ]; then - cp -pPR "$mountpoint"/. "$spec/" + cp -aPR "$mountpoint"/. "$spec/" fi mount -o "bind$options" "$spec" "$mountpoint" fi elif [ -f "$mountpoint" ]; then if [ ! -f "$spec" ]; then - cp -pP "$mountpoint" "$spec" + cp -aP "$mountpoint" "$spec" fi mount -o "bind$options" "$spec" "$mountpoint" diff --git a/poky/meta/recipes-devtools/apt/apt-package.inc b/poky/meta/recipes-devtools/apt/apt-package.inc index 6a01f99c6..da91451d7 100644 --- a/poky/meta/recipes-devtools/apt/apt-package.inc +++ b/poky/meta/recipes-devtools/apt/apt-package.inc @@ -83,7 +83,7 @@ do_install () { install -m 0644 include/apt-pkg/*.h ${D}${includedir}/apt-pkg/ install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${S}/debian/apt.systemd.daily ${D}${libdir}/apt/ + install -m 0755 ${S}/debian/apt.systemd.daily ${D}${libdir}/apt/ install -m 0644 ${S}/debian/apt-daily.service ${D}${systemd_unitdir}/system/ sed -i 's#/usr/lib/apt/#${libdir}/apt/#g' ${D}${systemd_unitdir}/system/apt-daily.service install -m 0644 ${S}/debian/apt-daily.timer ${D}${systemd_unitdir}/system/ diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch deleted file mode 100644 index e23be3259..000000000 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c384fa875c5128009ac8b6ba11a54a6bd4de575a Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 17 May 2018 12:21:31 +0300 -Subject: [PATCH] Add LDFLAGS when building libbtrfsutil.so and python - bindings. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin - ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index e25e256f..6df00186 100644 ---- a/Makefile -+++ b/Makefile -@@ -424,7 +424,7 @@ libbtrfsutil/%.o: libbtrfsutil/%.c - - libbtrfsutil.so.$(libbtrfsutil_version): $(libbtrfsutil_objects) - @echo " [LD] $@" -- $(Q)$(CC) $(LIBBTRFSUTIL_CFLAGS) $(libbtrfsutil_objects) \ -+ $(Q)$(CC) $(LIBBTRFSUTIL_CFLAGS) $(LDFLAGS) $(libbtrfsutil_objects) \ - -shared -Wl,-soname,libbtrfsutil.so.$(libbtrfsutil_major) -o $@ - - libbtrfsutil.a: $(libbtrfsutil_objects) diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch deleted file mode 100644 index f69507164..000000000 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 730fe2ee2fb9e08cbe885f370afe83fecb18d048 Mon Sep 17 00:00:00 2001 -From: Joshua Watt -Date: Sun, 26 May 2019 21:26:04 -0500 -Subject: [PATCH] btrfs-progs: Pass CFLAGS and LDFLAGS to Python - -Adds Make variables EXTRA_PYTHON_CFLAGS and EXTRA_PYTHON_LDFLAGS which -can be used to pass CFLAGS and LDFLAGS respectively when building the -Python library. - -This is required to support reproducible builds, as there are often -compiler and linker flags that must be passed in order to generate -reproducible output (e.g. -fdebug-prefix-map) - -Signed-off-by: Joshua Watt -Upstream-Status: Accepted [https://github.com/kdave/btrfs-progs/pull/176] ---- - Makefile | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 505bd9c1..814767a8 100644 ---- a/Makefile -+++ b/Makefile -@@ -24,6 +24,10 @@ - # DEBUG_CFLAGS additional compiler flags for debugging build - # EXTRA_CFLAGS additional compiler flags - # EXTRA_LDFLAGS additional linker flags -+# EXTRA_PYTHON_CFLAGS additional compiler flags to pass when building Python -+# library -+# EXTRA_PYTHON_LDFLAGS additional linker flags to pass when building Python -+# library - # - # Testing-specific options (see also tests/README.md): - # TEST=GLOB run test(s) from directories matching GLOB -@@ -439,7 +443,7 @@ ifeq ($(PYTHON_BINDINGS),1) - libbtrfsutil_python: libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so libbtrfsutil/btrfsutil.h - @echo " [PY] libbtrfsutil" - $(Q)cd libbtrfsutil/python; \ -- CFLAGS= LDFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build -+ CFLAGS="$(EXTRA_PYTHON_CFLAGS)" LDFLAGS="$(EXTRA_PYTHON_LDFLAGS)" $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build - - .PHONY: libbtrfsutil_python - endif diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb new file mode 100644 index 000000000..2cd99706b --- /dev/null +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb @@ -0,0 +1,46 @@ +SUMMARY = "Checksumming Copy on Write Filesystem utilities" +DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ +implementing advanced features while focusing on fault tolerance, repair and \ +easy administration. \ +This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ +btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." + +HOMEPAGE = "https://btrfs.wiki.kernel.org" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067" +SECTION = "base" +DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native" +DEPENDS_append_class-target = " udev" +RDEPENDS_${PN} = "libgcc" + +SRCREV = "781e36a784faa58a4f0515eef124af860d59e2c0" +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ + file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + " + +inherit autotools-brokensep pkgconfig manpages distutils3-base + +CLEANBROKEN = "1" + +PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" +EXTRA_OECONF = " --disable-zstd" +EXTRA_OECONF_append_libc-musl = " --disable-backtrace " +EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" +EXTRA_PYTHON_CFLAGS_class-native = "" +EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" +EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" + +do_configure_prepend() { + # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. + mkdir -p ${S}/config + cp -f $(automake --print-libdir)/install-sh ${S}/config/ +} + +S = "${WORKDIR}/git" + +do_install_append() { + oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python +} + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb deleted file mode 100644 index 89cc1bfe2..000000000 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "Checksumming Copy on Write Filesystem utilities" -DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ -implementing advanced features while focusing on fault tolerance, repair and \ -easy administration. \ -This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ -btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." - -HOMEPAGE = "https://btrfs.wiki.kernel.org" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067" -SECTION = "base" -DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native" -DEPENDS_append_class-target = " udev" -RDEPENDS_${PN} = "libgcc" - -SRCREV = "43013422dbce4bcc9ed77cfe65b294caa0985ec8" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ - file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \ - file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ - file://0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch \ - " - -inherit autotools-brokensep pkgconfig manpages distutils3-base - -CLEANBROKEN = "1" - -PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" -EXTRA_OECONF = " --disable-zstd" -EXTRA_OECONF_append_libc-musl = " --disable-backtrace " -EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" -EXTRA_PYTHON_CFLAGS_class-native = "" -EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" -EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" - -do_configure_prepend() { - # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. - mkdir -p ${S}/config - cp -f $(automake --print-libdir)/install-sh ${S}/config/ -} - -S = "${WORKDIR}/git" - -do_install_append() { - oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python -} - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.0.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.0.bb deleted file mode 100644 index 2a3007c38..000000000 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.0.bb +++ /dev/null @@ -1,34 +0,0 @@ -DESCRIPTION = "C implementation of createrepo." -HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ - file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ - " - -SRCREV = "8cffea9751b14366a7f6f3664f5d39fe4f0f9253" - -S = "${WORKDIR}/git" - -DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm libmodulemd" -DEPENDS_append_class-native = " file-replacement-native" - -inherit cmake pkgconfig bash-completion distutils3-base - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF" - -BBCLASSEXTEND = "native nativesdk" - -# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in -do_install_append_class-native() { - create_wrapper ${D}/${bindir}/createrepo_c \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm -} - -do_install_append_class-nativesdk() { - create_wrapper ${D}/${bindir}/createrepo_c \ - RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm - rm -rf ${D}/etc -} diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb new file mode 100644 index 000000000..80c559fef --- /dev/null +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "C implementation of createrepo." +HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ + file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ + " + +SRCREV = "f390af98c8f1bb04010e293ea864eae160f75879" + +S = "${WORKDIR}/git" + +DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm libmodulemd" +DEPENDS_append_class-native = " file-replacement-native" + +inherit cmake pkgconfig bash-completion distutils3-base + +EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF" + +BBCLASSEXTEND = "native nativesdk" + +# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in +do_install_append_class-native() { + create_wrapper ${D}/${bindir}/createrepo_c \ + RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm +} + +do_install_append_class-nativesdk() { + create_wrapper ${D}/${bindir}/createrepo_c \ + RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm + rm -rf ${D}/etc +} diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/pager.patch b/poky/meta/recipes-devtools/dpkg/dpkg/pager.patch new file mode 100644 index 000000000..e56b9d28a --- /dev/null +++ b/poky/meta/recipes-devtools/dpkg/dpkg/pager.patch @@ -0,0 +1,21 @@ +pager: Use less instead of pager + +pager is a Debianism. Istead use directly pager. + +Upstream-Status: Inappropriate [OE-Core integration specific] + +Suggested-by: Burton, Ross +Signed-off-by: Ricardo Ribalda +diff --git a/lib/dpkg/dpkg.h b/lib/dpkg/dpkg.h +index 2bb067a..6cbce80 100644 +--- a/lib/dpkg/dpkg.h ++++ b/lib/dpkg/dpkg.h +@@ -95,7 +95,7 @@ DPKG_BEGIN_DECLS + #define MAXUPDATES 250 + + #define DEFAULTSHELL "sh" +-#define DEFAULTPAGER "pager" ++#define DEFAULTPAGER "less" + + #define MD5HASHLEN 32 + #define MAXTRIGDIRECTIVE 256 diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb index 77fbfb5c9..b83868fec 100644 --- a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb +++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb @@ -12,6 +12,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \ file://0006-add-musleabi-to-known-target-tripets.patch \ file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \ file://0001-dpkg-Support-muslx32-build.patch \ + file://pager.patch \ " SRC_URI_append_class-native = " \ file://tweak-options-require-tar-1.27.patch \ diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc index 3d03d8e57..ba767e1a3 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -86,10 +86,6 @@ do_install () { if [ -d ${D}${infodir} ]; then rmdir --ignore-fail-on-non-empty -p ${D}${infodir} fi - if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then - ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS} - fi - } do_install_append_class-target () { @@ -98,20 +94,29 @@ do_install_append_class-target () { fi if [ "${TARGET_OS}" = "linux-gnun32" ]; then - if [ "${MULTILIBS}" != "" ]; then - mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-pokymllib64-linux - ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-pokymllib64-linux/32 + if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then + mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux + ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux/32 + elif [ "${MULTILIB_VARIANTS}" != "" ]; then + mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux + ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32 else ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux fi - fi - if [ "${TARGET_OS}" = "linux-gnux32" ]; then - if [ "${MULTILIBS}" != "" ]; then - mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-poky-linux - ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-poky-linux/x32 + elif [ "${TARGET_OS}" = "linux-gnux32" ]; then + if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then + mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux + ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux/x32 + elif [ "${MULTILIB_VARIANTS}" != "" ]; then + mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux + ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32 else ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux fi + elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then + mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux + ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits + ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext fi if [ "${TCLIBC}" != "glibc" ]; then diff --git a/poky/meta/recipes-devtools/go/go-1.12.inc b/poky/meta/recipes-devtools/go/go-1.12.inc index 7c4cac1fc..3f23f06f0 100644 --- a/poky/meta/recipes-devtools/go/go-1.12.inc +++ b/poky/meta/recipes-devtools/go/go-1.12.inc @@ -1,7 +1,7 @@ require go-common.inc GO_BASEVERSION = "1.12" -GO_MINOR = ".5" +GO_MINOR = ".6" PV .= "${GO_MINOR}" FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" @@ -19,5 +19,5 @@ SRC_URI += "\ " SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch" -SRC_URI[main.md5sum] = "cb6f594d22dd79af4fff9779607b1b47" -SRC_URI[main.sha256sum] = "2aa5f088cbb332e73fc3def546800616b38d3bfe6b8713b8a6404060f22503e8" +SRC_URI[main.md5sum] = "48a4141fc718dd742d106431294f08bf" +SRC_URI[main.sha256sum] = "c96c5ccc7455638ae1a8b7498a030fe653731c8391c5f8e79590bce72f92b4ca" diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb index d4ffd281b..7e8aea7be 100644 --- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb +++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb @@ -8,8 +8,8 @@ SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \ file://0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch \ " -PV = "2.4.0" -SRCREV = "d0a3eda45e083e8fe8b329a2310a53abdbf1e4d6" +PV = "2.5.0" +SRCREV = "8d9a99ddf037df7c032119cdd3a87238a3cc9090" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.10.2.bb b/poky/meta/recipes-devtools/librepo/librepo_1.10.2.bb deleted file mode 100644 index 43c1967c2..000000000 --- a/poky/meta/recipes-devtools/librepo/librepo_1.10.2.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = " A library providing C and Python (libcURL like) API for downloading linux repository metadata and packages." -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://github.com/rpm-software-management/librepo.git \ - file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \ - file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ - " - -SRCREV = "91ebe846b0320751a264116c36a665a8facf9e0e" - -S = "${WORKDIR}/git" - -DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" - -inherit cmake distutils3-base pkgconfig - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DWITH_ZCHUNK=OFF" - -BBCLASSEXTEND = "native nativesdk" - diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb b/poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb new file mode 100644 index 000000000..d7c83edce --- /dev/null +++ b/poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb @@ -0,0 +1,21 @@ +SUMMARY = " A library providing C and Python (libcURL like) API for downloading linux repository metadata and packages." +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://github.com/rpm-software-management/librepo.git \ + file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \ + file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ + " + +SRCREV = "2eb0a27031956fd98340ca2707f03abb7b780372" + +S = "${WORKDIR}/git" + +DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" + +inherit cmake distutils3-base pkgconfig + +EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DWITH_ZCHUNK=OFF" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch index da477454c..2b22531dd 100644 --- a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch +++ b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch @@ -51,7 +51,7 @@ index 6d3678f..90fdb80 100644 - cmd = self.pkgbin.get_command() + args + def _call_pkgbin_real(self, args, env, use_native=False): + if use_native: -+ cmd = self.pkgbin.get_command() + "-native" + args ++ cmd = [self.pkgbin.get_command()[0] + "-native"] + args + else: + cmd = self.pkgbin.get_command() + args p, out = Popen_safe(cmd, env=env)[0:2] diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch b/poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch deleted file mode 100644 index 4ece56b9c..000000000 --- a/poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 0f833ac73ad631248826386e2918d8571ecf0347 Mon Sep 17 00:00:00 2001 -From: David Oberhollenzer -Date: Sat, 9 Jun 2018 16:45:22 +0200 -Subject: [PATCH] Revert "Return correct error number in ubi_get_vol_info1" - -This reverts commit dede98ffb706676309488d7cc660f569548d5930. - -The original commit tried to fix a descrepancy between the implementation -and the documentation by making the implementation comply. - -When making the change, it was overlooked, that ubinfo and ubirename were -written against the implementation instead of the behaviour specified by -the documentation. So were further internal functions like -ubi_get_vol_info1_nm which further breaks ubirmvol. - -A report with an outline of a resulting problem can be read on -the mailing list: - -http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html - -From the report: - -steps to reproduce: have mtd-utils 2.0.1 or 2.0.2 - -0. make a bunch of ubi volumes in sequential order - -ubimkvol /dev/ubi0 -s 64KiB -N test1 -ubimkvol /dev/ubi0 -s 64KiB -N test2 -ubimkvol /dev/ubi0 -s 64KiB -N test3 -ubimkvol /dev/ubi0 -s 64KiB -N test4 -.. - -1. delete the test1 volume, making a hole in the volume table - -ubirmvol /dev/ubi0 -N test1 - -2. try an affected tool (i.e. "ubirmvol /dev/ubi0 -N test4" ) - - |root at mr24:/# ubirmvol /dev/ubi0 -N test4 - |ubirmvol: error!: cannot find UBI volume "test4" - | error 19 (No such device) - -or "ubinfo -a" - - | root at mr24:/# ubinfo -a - | UBI version: 1 - | Count of UBI devices: 1 - | UBI control device major/minor: 10:59 - | Present UBI devices: ubi0 - | - | ubi0 - | Volumes count: 11 - | Logical eraseblock size: 15872 bytes, 15.5 KiB - | Total amount of logical eraseblocks: 1952 (30982144 bytes, 29.5 MiB) - | Amount of available logical eraseblocks: 75 (1190400 bytes, 1.1 MiB) - | Maximum count of volumes 92 - | Count of bad physical eraseblocks: 0 - | Count of reserved physical eraseblocks: 40 - | Current maximum erase counter value: 984 - | Minimum input/output unit size: 512 bytes - | Character device major/minor: 251:0 - | ubinfo: error!: libubi failed to probe volume 5 on ubi0 - | error 19 (No such device) - | Present volumes: 0, 1, 2, 3, 4root at mr24:/# - -Reported-by: Christian Lamparter -Signed-off-by: David Oberhollenzer -Upstream-Status: Accepted [http://git.infradead.org/mtd-utils.git/commit/0f833ac73ad631248826386e2918d8571ecf0347] ---- - lib/libubi.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/lib/libubi.c b/lib/libubi.c -index b50e68a..978b433 100644 ---- a/lib/libubi.c -+++ b/lib/libubi.c -@@ -1240,11 +1240,8 @@ int ubi_get_vol_info1(libubi_t desc, int dev_num, int vol_id, - info->dev_num = dev_num; - info->vol_id = vol_id; - -- if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) { -- if (errno == ENOENT) -- errno = ENODEV; -+ if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) - return -1; -- } - - ret = vol_read_data(lib->vol_type, dev_num, vol_id, buf, 50); - if (ret < 0) --- -2.14.4 - diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb index 9ffac2ed3..49a650a9e 100644 --- a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb +++ b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb @@ -10,12 +10,11 @@ inherit autotools pkgconfig update-alternatives DEPENDS = "zlib e2fsprogs util-linux" RDEPENDS_mtd-utils-tests += "bash" -PV = "2.0.2+${SRCPV}" +PV = "2.1.0+${SRCPV}" -SRCREV = "bc63d36e39f389c8c17f6a8e9db47f2acc884659" +SRCREV = "b5027be5f470830ac9543db3c52e076b13abd313" SRC_URI = "git://git.infradead.org/mtd-utils.git \ file://add-exclusion-to-mkfs-jffs2-git-2.patch \ - file://0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch \ " S = "${WORKDIR}/git/" @@ -25,9 +24,12 @@ EXTRA_OECONF += "--enable-install-tests" # xattr support creates an additional compile-time dependency on acl because # the sys/acl.h header is needed. libacl is not needed and thus enabling xattr # regardless whether acl is enabled or disabled in the distro should be okay. -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)} lzo" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)} lzo jffs ubifs" PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo" PACKAGECONFIG[xattr] = "--with-xattr,--without-xattr,acl" +PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,openssl" +PACKAGECONFIG[jffs] = "--with-jffs,--without-jffs" +PACKAGECONFIG[ubifs] = "--with-ubifs,--without-ubifs" CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT" @@ -59,7 +61,9 @@ do_install () { oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir} } -PACKAGES =+ "mtd-utils-jffs2 mtd-utils-ubifs mtd-utils-misc mtd-utils-tests" +PACKAGES =+ "mtd-utils-misc mtd-utils-tests" +PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "jffs", "mtd-utils-jffs2", "", d)}" +PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "ubifs", "mtd-utils-ubifs", "", d)}" FILES_mtd-utils-jffs2 = "${sbindir}/mkfs.jffs2 ${sbindir}/jffs2dump ${sbindir}/jffs2reader ${sbindir}/sumtool" FILES_mtd-utils-ubifs = "${sbindir}/mkfs.ubifs ${sbindir}/ubi*" diff --git a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt index 8d3e513ec..331a44d30 100644 --- a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt +++ b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt @@ -451,6 +451,7 @@ RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-ipc-cmd" RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-strict" RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-text-parsewords" RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-warnings" +RDEPENDS_perl-module-extutils-cbuilder += "perl-module-extutils-cbuilder-base" RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-basename" RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-path" RDEPENDS_perl-module-extutils-cbuilder += "perl-module-strict" @@ -797,6 +798,8 @@ RDEPENDS_perl-module-file-path += "perl-module-exporter" RDEPENDS_perl-module-file-path += "perl-module-file-basename" RDEPENDS_perl-module-file-path += "perl-module-strict" RDEPENDS_perl-module-file-path += "perl-module-vars" +RDEPENDS_perl-module-file-spec += "perl-module-constant" +RDEPENDS_perl-module-file-spec += "perl-module-cwd" RDEPENDS_perl-module-file-spec += "perl-module-strict" RDEPENDS_perl-module-file-spec += "perl-module-file-spec-unix" RDEPENDS_perl-module-file-stat += "perl-module-class-struct" @@ -1358,6 +1361,7 @@ RDEPENDS_perl-module-math-complex += "perl-module-warnings" RDEPENDS_perl-module-math-trig += "perl-module-exporter" RDEPENDS_perl-module-math-trig += "perl-module-math-complex" RDEPENDS_perl-module-math-trig += "perl-module-strict" +RDEPENDS_perl-module-metadata += "perl-module-version" RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars" RDEPENDS_perl-module-memoize += "perl-module-config" RDEPENDS_perl-module-memoize += "perl-module-exporter" @@ -1784,6 +1788,7 @@ RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader" RDEPENDS_perl-module-tap-base += "perl-module-base" RDEPENDS_perl-module-tap-base += "perl-module-constant" RDEPENDS_perl-module-tap-base += "perl-module-strict" +RDEPENDS_perl-module-tap-base += "perl-module-tap-object" RDEPENDS_perl-module-tap-base += "perl-module-warnings" RDEPENDS_perl-module-tap-formatter-base += "perl-module-base" RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix" @@ -1823,39 +1828,50 @@ RDEPENDS_perl-module-tap-harness-env += "perl-module-tap-object" RDEPENDS_perl-module-tap-harness-env += "perl-module-text-parsewords" RDEPENDS_perl-module-tap-harness-env += "perl-module-warnings" RDEPENDS_perl-module-tap-harness += "perl-module-base" +RDEPENDS_perl-module-tap-harness += "perl-module-carp" RDEPENDS_perl-module-tap-harness += "perl-module-file-path" +RDEPENDS_perl-module-tap-harness += "perl-module-file-spec" RDEPENDS_perl-module-tap-harness += "perl-module-io-handle" RDEPENDS_perl-module-tap-harness += "perl-module-strict" +RDEPENDS_perl-module-tap-harness += "perl-module-tap-base" RDEPENDS_perl-module-tap-harness += "perl-module-warnings" RDEPENDS_perl-module-tap-object += "perl-module-strict" RDEPENDS_perl-module-tap-object += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-base" RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-benchmark" RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-tap-object" RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-grammar += "perl-module-base" RDEPENDS_perl-module-tap-parser-grammar += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-object" RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-resultfactory" RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-yamlish-reader" RDEPENDS_perl-module-tap-parser-grammar += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-base" RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-tap-parser-iterator" RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-base" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-carp" RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-constant" RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-file-basename" RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-tap-object" RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-iterator += "perl-module-base" RDEPENDS_perl-module-tap-parser-iterator += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator += "perl-module-tap-object" RDEPENDS_perl-module-tap-parser-iterator += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-base" RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-config" RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-io-handle" RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-tap-parser-iterator" RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-base" RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-tap-parser-iterator" RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-base" RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-constant" @@ -1863,6 +1879,7 @@ RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-io-select" RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-strict" RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-warnings" RDEPENDS_perl-module-tap-parser += "perl-module-base" +RDEPENDS_perl-module-tap-parser += "perl-module-carp" RDEPENDS_perl-module-tap-parser += "perl-module-strict" RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-grammar" RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iterator" @@ -1878,12 +1895,15 @@ RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-rawtap" RDEPENDS_perl-module-tap-parser += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-base" RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-tap-parser-result" RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-base" RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-tap-parser-result" RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-base" RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-object" RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-bailout" RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-comment" RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-plan" @@ -1895,31 +1915,41 @@ RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result- RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-result += "perl-module-base" RDEPENDS_perl-module-tap-parser-result += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result += "perl-module-tap-object" RDEPENDS_perl-module-tap-parser-result += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-base" RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-tap-parser-result" RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-base" RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-tap-parser-result" RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-result-test += "perl-module-base" RDEPENDS_perl-module-tap-parser-result-test += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-test += "perl-module-tap-parser-result" RDEPENDS_perl-module-tap-parser-result-test += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-base" RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-tap-parser-result" RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-result-version += "perl-module-base" RDEPENDS_perl-module-tap-parser-result-version += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-version += "perl-module-tap-parser-result" RDEPENDS_perl-module-tap-parser-result-version += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-base" RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-tap-parser-result" RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-carp" RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-strict" RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-carp" RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-strict" RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-job" RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-spinner" RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-warnings" +RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-carp" RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-strict" RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-base" @@ -1927,18 +1957,21 @@ RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-constan RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-strict" RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iteratorfactory" RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iterator-process" +RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-sourcehandler" RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-base" RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-constant" RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-strict" RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iteratorfactory" RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iterator-stream" +RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-sourcehandler" RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-base" RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-constant" RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-strict" RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iteratorfactory" RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iterator-stream" +RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-sourcehandler" RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-base" RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-strict" @@ -1950,23 +1983,28 @@ RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant" RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict" RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory" RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-sourcehandler-executable" RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords" RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base" RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-strict" RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iterator-array" RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iteratorfactory" +RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-sourcehandler" RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-source += "perl-module-base" RDEPENDS_perl-module-tap-parser-source += "perl-module-constant" RDEPENDS_perl-module-tap-parser-source += "perl-module-file-basename" RDEPENDS_perl-module-tap-parser-source += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-source += "perl-module-tap-object" RDEPENDS_perl-module-tap-parser-source += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-base" RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-tap-object" RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-base" RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-strict" +RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-tap-object" RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-warnings" RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter" RDEPENDS_perl-module-term-ansicolor += "perl-module-strict" @@ -2491,9 +2529,11 @@ RDEPENDS_perl-module-cpan += "perl-module-file-copy" RDEPENDS_perl-module-cpan += "perl-module-file-find" RDEPENDS_perl-module-cpan += "perl-module-filehandle" RDEPENDS_perl-module-cpan += "perl-module-file-path" +RDEPENDS_perl-module-cpan += "perl-module-json-pp" RDEPENDS_perl-module-cpan += "perl-module-lib" RDEPENDS_perl-module-cpan += "perl-module-net-ping" RDEPENDS_perl-module-cpan += "perl-module-overload" +RDEPENDS_perl-module-cpan += "perl-module-parse-cpan-meta" RDEPENDS_perl-module-cpan += "perl-module-posix" RDEPENDS_perl-module-cpan += "perl-module-safe" RDEPENDS_perl-module-cpan += "perl-module-strict" @@ -2845,6 +2885,7 @@ RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-confi RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-version" RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-manifest" RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm" +RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm-unix" RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my" RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path" RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict" @@ -3945,6 +3986,8 @@ RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-vars" RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-strict" RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-vars" RDEPENDS_perl-module-pod-simple-transcode += "perl-module-strict" +RDEPENDS_perl-module-pod-simple-transcode += "perl-module-pod-simple-transcodedumb" +RDEPENDS_perl-module-pod-simple-transcode += "perl-module-pod-simple-transcodesmart" RDEPENDS_perl-module-pod-simple-transcode += "perl-module-vars" RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode" RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-pod-simple" @@ -4038,6 +4081,7 @@ RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader" RDEPENDS_perl-module-tap-base += "perl-module-base" RDEPENDS_perl-module-tap-base += "perl-module-constant" RDEPENDS_perl-module-tap-base += "perl-module-strict" +RDEPENDS_perl-module-tap-base += "perl-module-tap-object" RDEPENDS_perl-module-tap-base += "perl-module-warnings" RDEPENDS_perl-module-tap-formatter-base += "perl-module-base" RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix" @@ -4063,7 +4107,9 @@ RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-warnings" RDEPENDS_perl-module-tap-formatter-file += "perl-module-base" RDEPENDS_perl-module-tap-formatter-file += "perl-module-posix" RDEPENDS_perl-module-tap-formatter-file += "perl-module-strict" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-base" RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-file-session" +RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-session" RDEPENDS_perl-module-tap-formatter-file += "perl-module-warnings" RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-base" RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-strict" @@ -4080,6 +4126,7 @@ RDEPENDS_perl-module-tap-harness += "perl-module-base" RDEPENDS_perl-module-tap-harness += "perl-module-file-path" RDEPENDS_perl-module-tap-harness += "perl-module-io-handle" RDEPENDS_perl-module-tap-harness += "perl-module-strict" +RDEPENDS_perl-module-tap-harness += "perl-module-tap-formatter-file" RDEPENDS_perl-module-tap-harness += "perl-module-warnings" RDEPENDS_perl-module-tap-object += "perl-module-strict" RDEPENDS_perl-module-tap-object += "perl-module-warnings" @@ -4204,6 +4251,7 @@ RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant" RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict" RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory" RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process" +RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-sourcehandler-executable" RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords" RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings" RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base" diff --git a/poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest b/poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest new file mode 100644 index 000000000..0d63d1513 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest @@ -0,0 +1,16 @@ +#!/bin/sh + +for case in `find t -type f -name '*.t'`; do + perl -I inc -I blib -Mblib $case >$case.output 2>&1 + ret=$? + cat $case.output + if [ $ret -ne 0 ]; then + echo "FAIL: ${case%.t}" + elif grep -i 'SKIP' $case.output; then + echo "SKIP: ${case%.t}" + else + echo "PASS: ${case%.t}" + fi + + rm -f $case.output +done diff --git a/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb b/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb new file mode 100644 index 000000000..f759f862f --- /dev/null +++ b/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb @@ -0,0 +1,103 @@ +SUMMARY = "Module::Build - Build and install Perl modules" +DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \ +Makefile.PL file to drive distribution configuration, build, test and \ +installation. Traditionally, Build.PL uses Module::Build as the underlying \ +build system. This module provides a simple, lightweight, drop-in replacement. \ +Whereas Module::Build has over 6,700 lines of code; this module has less than \ +120, yet supports the features needed by most distributions." + +SECTION = "libs" + +HOMEPAGE = "https://metacpan.org/release/Module-Build" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://README;beginline=949;endline=954;md5=624c06db56a2af4d70cf9edc29fcae1b" + +SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-${PV}.tar.gz \ + file://run-ptest \ + " +SRC_URI[md5sum] = "1447d9e02e63f7a1643986789a8f1ba9" +SRC_URI[sha256sum] = "1fe491a6cda914b01bc8e592faa2b5404e9f35915ca15322f8f2a8d8f9008c18" + +S = "${WORKDIR}/Module-Build-${PV}" + +inherit cpan_build ptest-perl + +# From: +# https://github.com/rehsack/meta-cpan/blob/master/recipes-devel/module-build-perl/module-build-perl_0.4216.bb +# +do_patch_module_build () { + cd ${S} + sed -i -e 's,my $interpreter = $self->{properties}{perl};,my $interpreter = "${bindir}/perl";,g' lib/Module/Build/Base.pm +} + +do_patch[postfuncs] += "do_patch_module_build" + +do_install_ptest() { + cp -r ${B}/inc ${D}${PTEST_PATH} + cp -r ${B}/blib ${D}${PTEST_PATH} + chown -R root:root ${D}${PTEST_PATH} +} + +RDEPENDS_${PN} += " \ + perl-module-carp \ + perl-module-cpan \ + perl-module-config \ + perl-module-cwd \ + perl-module-data-dumper \ + perl-module-encode \ + perl-module-extutils-cbuilder \ + perl-module-extutils-command \ + perl-module-extutils-install \ + perl-module-extutils-installed \ + perl-module-extutils-mkbootstrap \ + perl-module-extutils-packlist \ + perl-module-extutils-parsexs \ + perl-module-file-basename \ + perl-module-file-compare \ + perl-module-file-copy \ + perl-module-file-find \ + perl-module-file-glob \ + perl-module-file-path \ + perl-module-file-spec \ + perl-module-file-spec-functions \ + perl-module-getopt-long \ + perl-module-metadata \ + perl-module-perl-ostype \ + perl-module-pod-man \ + perl-module-tap-harness \ + perl-module-text-abbrev \ + perl-module-text-parsewords \ + perl-module-utf8 \ +" + +RDEPENDS_${PN}-ptest += " \ + gcc \ + make \ + perl-module-blib \ + perl-module-file-temp \ + perl-module-lib \ + perl-module-perlio \ + perl-module-perlio-encoding \ + perl-module-pod-text \ + perl-module-tap-harness-env \ + perl-module-tap-parser \ + perl-module-tap-parser-scheduler \ + perl-module-test-harness \ + perl-module-test-more \ +" + +RPROVIDES_${PN} += "\ + libmodule-build-base-perl \ + libmodule-build-compat-perl \ + libmodule-build-config-perl \ + libmodule-build-cookbook-perl \ + libmodule-build-dumper-perl \ + libmodule-build-notes-perl \ + libmodule-build-ppmaker-perl \ + libmodule-build-platform-default-perl \ + libmodule-build-platform-unix-perl \ + libmodule-build-podparser-perl \ +" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch b/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch new file mode 100644 index 000000000..d789ab57d --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch @@ -0,0 +1,25 @@ +configure.ac: add CROSSPYTHONPATH into PYTHONPATH for PYTHON_FOR_BUILD + +When building x86->x86 the system will try to execute .so and related items +from the default PYTHONPATH. This will fail if the target CPU contains +instructions that the host CPU does not have, add CROSSPYTHONPATH +into PYTHONPATH so we can prepend the list to find correct libs. + +Upstream-Status: Inappropriate [OE-Core integration specific] + +Credits-to: Mark Hatle +Credits-to: Jackie Huang +Signed-off-by: Ricardo Ribalda +diff --git a/configure.ac b/configure.ac +index 4ab19a6..7036a53 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -76,7 +76,7 @@ if test "$cross_compiling" = yes; then + AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) + fi + AC_MSG_RESULT($interp) +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp ++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH):$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp + fi + elif test "$cross_compiling" = maybe; then + AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) diff --git a/poky/meta/recipes-devtools/python/python3_3.7.3.bb b/poky/meta/recipes-devtools/python/python3_3.7.3.bb index 832ef1b3c..8e77dbe95 100644 --- a/poky/meta/recipes-devtools/python/python3_3.7.3.bb +++ b/poky/meta/recipes-devtools/python/python3_3.7.3.bb @@ -24,6 +24,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \ file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ + file://crosspythonpath.patch \ " SRC_URI_append_class-native = " \ @@ -65,6 +66,7 @@ DEPENDS_append_class-nativesdk = " python3-native" EXTRA_OECONF = " --without-ensurepip --enable-shared" EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}" +export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" EXTRANATIVEPATH += "python3-native" @@ -73,8 +75,16 @@ CACHED_CONFIGUREVARS = " \ ac_cv_file__dev_ptc=no \ ac_cv_working_tzset=yes \ " +python() { + # PGO currently causes builds to not be reproducible, so disable it for + # now. See YOCTO #13407 + if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) and d.getVar('BUILD_REPRODUCIBLE_BINARIES') != '1': + d.setVar('PACKAGECONFIG_PGO', 'pgo') + else: + d.setVar('PACKAGECONFIG_PGO', '') +} -PACKAGECONFIG_class-target ??= "readline ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'pgo', '', d)}" +PACKAGECONFIG_class-target ??= "readline ${PACKAGECONFIG_PGO}" PACKAGECONFIG_class-native ??= "readline" PACKAGECONFIG_class-nativesdk ??= "readline" PACKAGECONFIG[readline] = ",,readline" diff --git a/poky/meta/recipes-devtools/python/python_2.7.16.bb b/poky/meta/recipes-devtools/python/python_2.7.16.bb index d70342fe3..5f387b8af 100644 --- a/poky/meta/recipes-devtools/python/python_2.7.16.bb +++ b/poky/meta/recipes-devtools/python/python_2.7.16.bb @@ -162,7 +162,7 @@ py_package_preprocess () { PACKAGES_remove = "${PN}" # manual dependency additions -RPROVIDES_${PN}-core = "${PN}" +RPROVIDES_${PN}-modules = "${PN}" RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python-modules" RRECOMMENDS_${PN}-crypt = "openssl" diff --git a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb index f119215b2..76776098d 100644 --- a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb @@ -7,6 +7,7 @@ DEPENDS = "glib-2.0 zlib pixman bison-native" RDEPENDS_${PN}_class-target += "bash" EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}" +EXTRA_OECONF_append_class-target_mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" EXTRA_OECONF_append_class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" do_install_append_class-nativesdk() { diff --git a/poky/meta/recipes-devtools/vala/vala_0.44.3.bb b/poky/meta/recipes-devtools/vala/vala_0.44.3.bb deleted file mode 100644 index fe6a5fcdc..000000000 --- a/poky/meta/recipes-devtools/vala/vala_0.44.3.bb +++ /dev/null @@ -1,8 +0,0 @@ -require ${BPN}.inc - -SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \ - file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \ - " - -SRC_URI[md5sum] = "25f97c1b46ae0b60b5cc49cbc044eca2" -SRC_URI[sha256sum] = "8553b422484af88be1685d8b47f7b0df36ae4477c3e77e89ab22276ffed1eae9" diff --git a/poky/meta/recipes-devtools/vala/vala_0.44.5.bb b/poky/meta/recipes-devtools/vala/vala_0.44.5.bb new file mode 100644 index 000000000..518c9ebda --- /dev/null +++ b/poky/meta/recipes-devtools/vala/vala_0.44.5.bb @@ -0,0 +1,8 @@ +require ${BPN}.inc + +SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \ + file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \ + " + +SRC_URI[md5sum] = "1e8b8595168446c529b11236cf75e328" +SRC_URI[sha256sum] = "bb8f8185b805411511786733c4b769c3ee6af8bc879609bffb6c46b8999bc27f" diff --git a/poky/meta/recipes-extended/less/less_550.bb b/poky/meta/recipes-extended/less/less_550.bb deleted file mode 100644 index bb1618f1e..000000000 --- a/poky/meta/recipes-extended/less/less_550.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Text file viewer similar to more" -DESCRIPTION = "Less is a program similar to more, i.e. a terminal \ -based program for viewing text files and the output from other \ -programs. Less offers many features beyond those that more does." -HOMEPAGE = "http://www.greenwoodsoftware.com/" -SECTION = "console/utils" - -# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less -# Including email author giving permissing to use BSD -# -# From: Mark Nudelman -# To: Elizabeth Flanagan = 418)) | less +# Including email author giving permissing to use BSD +# +# From: Mark Nudelman +# To: Elizabeth Flanagan = 2.2 -DEPENDS = "slang popt" +DEPENDS = "slang popt python3" SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \ file://fix_SHAREDDIR.patch \ @@ -30,15 +30,20 @@ SRC_URI[sha256sum] = "8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5ad S = "${WORKDIR}/newt-${PV}" -EXTRA_OECONF = "--without-tcl --without-python" +inherit autotools-brokensep python3native python3-dir -inherit autotools-brokensep +EXTRA_OECONF = "--without-tcl --with-python" + +EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}" CLEANBROKEN = "1" export CPPFLAGS -PACKAGES_prepend = "whiptail " +PACKAGES_prepend = "whiptail ${PN}-python " + +RDEPENDS_${PN}-python += "python3-core" +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*" do_configure_prepend() { sh autogen.sh diff --git a/poky/meta/recipes-extended/parted/files/dm_check.patch b/poky/meta/recipes-extended/parted/files/dm_check.patch new file mode 100644 index 000000000..5f3c4ddae --- /dev/null +++ b/poky/meta/recipes-extended/parted/files/dm_check.patch @@ -0,0 +1,22 @@ +parted: change check for device-manager + +Other ptests use this method. + +Upstream-Status: Submitted [bug-parted@gnu.org] + +Signed-off-by: Joe Slater + + +--- a/tests/t6001-psep.sh ++++ b/tests/t6001-psep.sh +@@ -19,7 +19,9 @@ + . "${srcdir=.}/init.sh"; path_prepend_ ../parted + + require_root_ +-(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed" ++ ++test "x$ENABLE_DEVICE_MAPPER" = xyes \ ++ || skip_ "no device-mapper support" + + # Device maps names - should be random to not conflict with existing ones on + # the system diff --git a/poky/meta/recipes-extended/parted/parted_3.2.bb b/poky/meta/recipes-extended/parted/parted_3.2.bb index 13d7d6676..21a815345 100644 --- a/poky/meta/recipes-extended/parted/parted_3.2.bb +++ b/poky/meta/recipes-extended/parted/parted_3.2.bb @@ -18,6 +18,7 @@ SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \ file://run-ptest \ file://Makefile \ file://0001-libparted-Use-read-only-when-probing-devices-on-linu.patch \ + file://dm_check.patch \ " SRC_URI[md5sum] = "0247b6a7b314f8edeb618159fa95f9cb" diff --git a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb deleted file mode 100644 index 80a1c8e39..000000000 --- a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Perl module for using and building Perl SAX2 XML processors" -HOMEPAGE = "http://search.cpan.org/dist/XML-SAX/" -DESCRIPTION = "XML::SAX consists of several framework classes for using and \ -building Perl SAX2 XML parsers, filters, and drivers. It is designed \ -around the need to be able to "plug in" different SAX parsers to an \ -application without requiring programmer intervention. Those of you \ -familiar with the DBI will be right at home. Some of the designs \ -come from the Java JAXP specification (SAX part), only without the \ -javaness." - -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0+" -DEPENDS += "libxml-namespacesupport-perl-native" -RDEPENDS_${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=65c4cd8f39c24c7135ed70dacbcb09e3" - -SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-SAX-${PV}.tar.gz" - -SRC_URI[md5sum] = "861a454f7bf269990ed2c1c125f4db48" -SRC_URI[sha256sum] = "45ea6564ef8692155d57b2de0862b6442d3c7e29f4a9bc9ede5d7ecdc74c2ae3" - -S = "${WORKDIR}/XML-SAX-${PV}" - -inherit cpan ptest-perl - -do_install_ptest() { - cp -r ${B}/testfiles ${D}${PTEST_PATH} - chown -R root:root ${D}${PTEST_PATH}/testfiles -} - -RDEPENDS_${PN} += "perl-module-encode perl-module-perlio" -RDEPENDS_${PN}-ptest += "perl-module-test perl-module-base perl-module-fatal perl-module-encode-unicode perl-module-encode-byte" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb new file mode 100644 index 000000000..02ee34ee1 --- /dev/null +++ b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb @@ -0,0 +1,42 @@ +SUMMARY = "Perl module for using and building Perl SAX2 XML processors" +HOMEPAGE = "http://search.cpan.org/dist/XML-SAX/" +DESCRIPTION = "XML::SAX consists of several framework classes for using and \ +building Perl SAX2 XML parsers, filters, and drivers. It is designed \ +around the need to be able to "plug in" different SAX parsers to an \ +application without requiring programmer intervention. Those of you \ +familiar with the DBI will be right at home. Some of the designs \ +come from the Java JAXP specification (SAX part), only without the \ +javaness." + +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" +DEPENDS += "libxml-namespacesupport-perl-native" +RDEPENDS_${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=65c4cd8f39c24c7135ed70dacbcb09e3" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-SAX-${PV}.tar.gz" + +SRC_URI[md5sum] = "b62e3754523695c7f5bbcafa3676a38d" +SRC_URI[sha256sum] = "4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a" + +S = "${WORKDIR}/XML-SAX-${PV}" + +inherit cpan ptest-perl + +do_install_ptest() { + cp -r ${B}/testfiles ${D}${PTEST_PATH} + chown -R root:root ${D}${PTEST_PATH}/testfiles +} + +RDEPENDS_${PN} += "perl-module-encode perl-module-perlio" + +RDEPENDS_${PN}-ptest += " \ + perl-module-base \ + perl-module-encode-byte \ + perl-module-encode-unicode \ + perl-module-fatal \ + perl-module-test \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch b/poky/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch new file mode 100644 index 000000000..a74cbb0c0 --- /dev/null +++ b/poky/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch @@ -0,0 +1,36 @@ +From 3c52a84ff8775590e7e9da9c0d4408c23494305e Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Mon, 17 Jun 2019 15:36:34 +0800 +Subject: [PATCH] configure.ac: fix configure error with dash + +A configure error occurs when /bin/sh -> dash: + checking for is_selinux_enabled in -lselinux... yes + checking for semanage_connect in -lsemanage... yes + configure: 16322: test: yesyes: unexpected operator + +Use "=" instead of "==" since dash doesn't support this operator. + +Upstream-Status: Backport +[https://github.com/shadow-maint/shadow/commit/3c52a84ff8775590e7e9da9c0d4408c23494305e] + +Signed-off-by: Yi Zhao +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6762556..1907afb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -500,7 +500,7 @@ if test "$with_selinux" != "no"; then + AC_MSG_ERROR([libsemanage not found]) + fi + +- if test "$selinux_lib$semanage_lib" == "yesyes" ; then ++ if test "$selinux_lib$semanage_lib" = "yesyes" ; then + AC_DEFINE(WITH_SELINUX, 1, + [Build shadow with SELinux support]) + LIBSELINUX="-lselinux" +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc index 831751d6d..7f82d2082 100644 --- a/poky/meta/recipes-extended/shadow/shadow.inc +++ b/poky/meta/recipes-extended/shadow/shadow.inc @@ -13,6 +13,7 @@ SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}. file://shadow-4.1.3-dots-in-usernames.patch \ file://0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch \ file://0002-gettime-Use-secure_getenv-over-getenv.patch \ + file://0001-configure.ac-fix-configure-error-with-dash.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ " diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc index 6b21c6b8c..4e2972166 100644 --- a/poky/meta/recipes-extended/sysstat/sysstat.inc +++ b/poky/meta/recipes-extended/sysstat/sysstat.inc @@ -52,12 +52,11 @@ do_install() { } pkg_postinst_${PN} () { - if [ -n "$D" ]; then - exit 0 - fi - if [ -e /etc/init.d/populate-volatile.sh ]; then - /etc/init.d/populate-volatile.sh update - fi + if [ ! -n "$D" ]; then + if [ -e /etc/init.d/populate-volatile.sh ]; then + /etc/init.d/populate-volatile.sh update + fi + fi } FILES_${PN} += "${libdir}/sa ${systemd_system_unitdir}" diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.2.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.2.bb deleted file mode 100644 index ff0e34f98..000000000 --- a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.2.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "WebKit based web browser for GNOME" -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \ - gsettings-desktop-schemas libxml2-native \ - glib-2.0 glib-2.0-native json-glib libdazzle" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ - file://0002-help-meson.build-disable-the-use-of-yelp.patch \ - file://0001-web-app-utils-Clean-up-ephy_web_application_create.patch \ - " -SRC_URI[archive.md5sum] = "2a6672b22a0fdb869e5f0a415ac2da34" -SRC_URI[archive.sha256sum] = "8ae70d9feaba3754c63ab249deeef9b7a31161a372655b4214f148ea2f440cfa" - -FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" -RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb new file mode 100644 index 000000000..de1b6e2f8 --- /dev/null +++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb @@ -0,0 +1,20 @@ +SUMMARY = "WebKit based web browser for GNOME" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \ + gsettings-desktop-schemas libxml2-native \ + glib-2.0 glib-2.0-native json-glib libdazzle" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0002-help-meson.build-disable-the-use-of-yelp.patch \ + " +SRC_URI[archive.md5sum] = "c4976507bf3de69f27a050ad09531f5a" +SRC_URI[archive.sha256sum] = "3ccb6859a43b839b714aa425cb185056f1e8604adbaab6a1bc179d1ba641a33f" + +FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" +RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch b/poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch deleted file mode 100644 index ea644fb98..000000000 --- a/poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 49f435217873e679b142f64d3e7def919fb642bb Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Wed, 8 May 2019 15:58:32 +0000 -Subject: [PATCH] web-app-utils: Clean up ephy_web_application_create() - -Fixes #764 - -(cherry picked from commit 4e998d45e4cc549a7ca561a33895b0fbcf7ba6bb) -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/epiphany/commit/a6a022c9c498ad5dcf7f2220644a7520df74ca31] - -Signed-off-by: Khem Raj ---- - lib/ephy-web-app-utils.c | 24 ++++++++++-------------- - 1 file changed, 10 insertions(+), 14 deletions(-) - -diff --git a/lib/ephy-web-app-utils.c b/lib/ephy-web-app-utils.c -index 97f3f24..fc68a96 100644 ---- a/lib/ephy-web-app-utils.c -+++ b/lib/ephy-web-app-utils.c -@@ -374,46 +374,42 @@ ephy_web_application_create (const char *id, - const char *name, - GdkPixbuf *icon) - { -- char *profile_dir; -- char *desktop_file_path = NULL; -+ g_autofree char *app_file = NULL; -+ g_autofree char *profile_dir = NULL; -+ g_autofree char *desktop_file_path = NULL; - - /* If there's already a WebApp profile for the contents of this - * view, do nothing. */ - profile_dir = ephy_web_application_get_profile_directory (id); - if (g_file_test (profile_dir, G_FILE_TEST_IS_DIR)) { - g_warning ("Profile directory %s already exists", profile_dir); -- goto out; -+ return NULL; - } - - /* Create the profile directory, populate it. */ - if (g_mkdir_with_parents (profile_dir, 488) == -1) { - g_warning ("Failed to create directory %s", profile_dir); -- goto out; -+ return NULL; - } - - /* Skip migration for new web apps. */ - ephy_profile_utils_set_migration_version_for_profile_dir (EPHY_PROFILE_MIGRATION_VERSION, profile_dir); - - /* Create an .app file. */ -- g_autofree char *app_file = g_build_filename (profile_dir, ".app", NULL); -+ app_file = g_build_filename (profile_dir, ".app", NULL); - int fd = g_open (app_file, O_WRONLY|O_CREAT|O_TRUNC, 0644); - if (fd < 0) { -- LOG ("Failed to create .app file: %s", g_strerror (errno)); -- goto out; -- } else { -- close (fd); -+ g_warning ("Failed to create .app file: %s", g_strerror (errno)); -+ return NULL; - } -+ close (fd); - - /* Create the deskop file. */ - desktop_file_path = create_desktop_file (id, name, address, profile_dir, icon); - if (desktop_file_path) - ephy_web_application_initialize_settings (profile_dir); - -- out: -- if (profile_dir) -- g_free (profile_dir); -- -- return desktop_file_path; -+ return g_steal_pointer (&desktop_file_path); - } - - char * --- -2.21.0 - diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb deleted file mode 100644 index 40beab0c4..000000000 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb +++ /dev/null @@ -1,206 +0,0 @@ -SUMMARY = "Middleware layer between GObject-using C libraries and language bindings" -HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "libs" -LICENSE = "LGPLv2+ & GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ - file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \ - file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \ - file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \ - " - -SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ - file://0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch \ - file://0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch \ - file://0003-giscanner-add-use-binary-wrapper-option.patch \ - file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \ - file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \ - file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \ - file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \ - file://0001-Port-cross-compilation-support-to-meson.patch \ - file://0001-meson.build-disable-tests-when-cross-compiling.patch \ - " - -SRC_URI[md5sum] = "46fc8a98f6563e64947ac3d574632525" -SRC_URI[sha256sum] = "d844d1499ecd36f3ec8a3573616186d36626ec0c9a7981939e99aa02e9c824b3" - -SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" - -inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script - -GTKDOC_MESON_OPTION = "gtk_doc" - -MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner" - -DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive" - -# target build needs qemu to run temporary introspection binaries created -# on the fly by g-ir-scanner and a native version of itself to run -# native versions of its own tools during build. -# Also prelink-rtld is used to find out library dependencies of introspection binaries -# (standard ldd doesn't work when cross-compiling). -DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native" - -# needed for writing out the qemu wrapper script -export STAGING_DIR_HOST -export B - -PACKAGECONFIG ?= "" -PACKAGECONFIG[doctool] = "-Ddoctool=true,-Ddoctool=false,python3-mako," - -# Configure target build to use native tools of itself and to use a qemu wrapper -# and optionally to generate introspection data -EXTRA_OEMESON_class-target = " \ - -Denable-host-gi=true \ - -Denable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \ - -Denable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \ - -Dpkgconfig-sysroot-path=${PKG_CONFIG_SYSROOT_DIR} \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Denable-introspection-data=true', '-Denable-introspection-data=false', d)} \ - ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ -" - -# Need to ensure ld.so.conf exists so prelink-native works -# both before we build and if we install from sstate -do_configure[prefuncs] += "gobject_introspection_preconfigure" -python gobject_introspection_preconfigure () { - oe.utils.write_ld_so_conf(d) -} - -do_configure_prepend_class-native() { - # Tweak the native python scripts so that they don't refer to the - # full path of native python binary (the solution is taken from glib-2.0 recipe) - # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes) - sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in -} - -do_configure_prepend_class-target() { - # Write out a qemu wrapper that will be given to gi-scanner so that it - # can run target helper binaries through that. - qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}" - cat > ${B}/g-ir-scanner-qemuwrapper << EOF -#!/bin/sh -# Use a modules directory which doesn't exist so we don't load random things -# which may then get deleted (or their dependencies) and potentially segfault -export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy - -$qemu_binary "\$@" -if [ \$? -ne 0 ]; then - echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help." - echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )" - exit 1 -fi -EOF - chmod +x ${B}/g-ir-scanner-qemuwrapper - - # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files - # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use - # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory - # from the target sysroot. - cat > ${B}/g-ir-scanner-wrapper << EOF -#!/bin/sh -# This prevents g-ir-scanner from writing cache data to $HOME -export GI_SCANNER_DISABLE_CACHE=1 - -g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 --add-include-path=${STAGING_LIBDIR}/gir-1.0 "\$@" -EOF - chmod +x ${B}/g-ir-scanner-wrapper - - # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu. - # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent. - cat > ${B}/g-ir-compiler-wrapper << EOF -#!/bin/sh -${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@" -EOF - chmod +x ${B}/g-ir-compiler-wrapper - - # Write out a wrapper to use instead of ldd, which does not work when a binary is built - # for a different architecture - cat > ${B}/g-ir-scanner-lddwrapper << EOF -#!/bin/sh -prelink-rtld --root=$STAGING_DIR_HOST "\$@" -EOF - chmod +x ${B}/g-ir-scanner-lddwrapper - - # Also tweak the target python scripts so that they don't refer to the - # native version of python binary (the solution is taken from glib-2.0 recipe) - sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in -} - -do_compile_prepend() { - # This prevents g-ir-scanner from writing cache data to $HOME - export GI_SCANNER_DISABLE_CACHE=1 - - # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise - export GIR_EXTRA_LIBS_PATH=$B/.libs -} - -# Our wrappers need to be available system-wide, because they will be used -# to build introspection files for all other gobject-based packages -do_install_append_class-target() { - install -d ${D}${bindir}/ - install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/ - install ${B}/g-ir-scanner-wrapper ${D}${bindir}/ - install ${B}/g-ir-compiler-wrapper ${D}${bindir}/ - install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/ -} - -# we need target versions of introspection tools in sysroot so that they can be run via qemu -# when building introspection files in other packages -SYSROOT_DIRS_append_class-target = " ${bindir}" - -SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess" -gi_binaries_sysroot_preprocess() { - # Tweak the binary names in the introspection pkgconfig file, so that it - # picks up our wrappers which do the cross-compile and qemu magic. - sed -i \ - -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \ - -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \ - ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc -} - -SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess" -gi_ldsoconf_sysroot_preprocess () { - mkdir -p ${SYSROOT_DESTDIR}${bindir} - dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN} - echo "#!/bin/sh" > $dest - echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest - echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest - echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest - chmod 755 $dest -} - -# Remove wrapper files from the package, only used for cross-compiling -PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess" -gi_package_preprocess() { - rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper - rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper - rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper - rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper -} - -SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}" - -# .typelib files are needed at runtime and so they go to the main package -FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib" - -# .gir files go to dev package, as they're needed for developing (but not for running) -# things that depends on introspection. -FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir" -FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc" - -# These are used by gobject-based packages -# to generate transient introspection binaries -FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \ - ${datadir}/gobject-introspection-1.0/Makefile.introspection" - -# These are used by dependent packages (e.g. pygobject) to build their -# testsuites. -FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \ - ${datadir}/gobject-introspection-1.0/tests/*.h" - -FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/" -FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a" - -RDEPENDS_${PN} = "python3-pickle python3-xml" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.2.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.2.bb new file mode 100644 index 000000000..f46053f44 --- /dev/null +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.2.bb @@ -0,0 +1,206 @@ +SUMMARY = "Middleware layer between GObject-using C libraries and language bindings" +HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "libs" +LICENSE = "LGPLv2+ & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ + file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \ + file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \ + file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \ + " + +SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ + file://0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch \ + file://0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch \ + file://0003-giscanner-add-use-binary-wrapper-option.patch \ + file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \ + file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \ + file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \ + file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \ + file://0001-Port-cross-compilation-support-to-meson.patch \ + file://0001-meson.build-disable-tests-when-cross-compiling.patch \ + " + +SRC_URI[md5sum] = "57c1c5dcf3d0a9aa73d06c2d5e6960d7" +SRC_URI[sha256sum] = "ffdfe2368fb2e34a547898b01aac0520d52d8627fdeb1c306559bcb503ab5e9c" + +SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" + +inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script + +GTKDOC_MESON_OPTION = "gtk_doc" + +MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner" + +DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive" + +# target build needs qemu to run temporary introspection binaries created +# on the fly by g-ir-scanner and a native version of itself to run +# native versions of its own tools during build. +# Also prelink-rtld is used to find out library dependencies of introspection binaries +# (standard ldd doesn't work when cross-compiling). +DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native" + +# needed for writing out the qemu wrapper script +export STAGING_DIR_HOST +export B + +PACKAGECONFIG ?= "" +PACKAGECONFIG[doctool] = "-Ddoctool=true,-Ddoctool=false,python3-mako," + +# Configure target build to use native tools of itself and to use a qemu wrapper +# and optionally to generate introspection data +EXTRA_OEMESON_class-target = " \ + -Denable-host-gi=true \ + -Denable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \ + -Denable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \ + -Dpkgconfig-sysroot-path=${PKG_CONFIG_SYSROOT_DIR} \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Denable-introspection-data=true', '-Denable-introspection-data=false', d)} \ + ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ +" + +# Need to ensure ld.so.conf exists so prelink-native works +# both before we build and if we install from sstate +do_configure[prefuncs] += "gobject_introspection_preconfigure" +python gobject_introspection_preconfigure () { + oe.utils.write_ld_so_conf(d) +} + +do_configure_prepend_class-native() { + # Tweak the native python scripts so that they don't refer to the + # full path of native python binary (the solution is taken from glib-2.0 recipe) + # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes) + sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in +} + +do_configure_prepend_class-target() { + # Write out a qemu wrapper that will be given to gi-scanner so that it + # can run target helper binaries through that. + qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}" + cat > ${B}/g-ir-scanner-qemuwrapper << EOF +#!/bin/sh +# Use a modules directory which doesn't exist so we don't load random things +# which may then get deleted (or their dependencies) and potentially segfault +export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy + +$qemu_binary "\$@" +if [ \$? -ne 0 ]; then + echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help." + echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )" + exit 1 +fi +EOF + chmod +x ${B}/g-ir-scanner-qemuwrapper + + # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files + # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use + # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory + # from the target sysroot. + cat > ${B}/g-ir-scanner-wrapper << EOF +#!/bin/sh +# This prevents g-ir-scanner from writing cache data to $HOME +export GI_SCANNER_DISABLE_CACHE=1 + +g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 --add-include-path=${STAGING_LIBDIR}/gir-1.0 "\$@" +EOF + chmod +x ${B}/g-ir-scanner-wrapper + + # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu. + # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent. + cat > ${B}/g-ir-compiler-wrapper << EOF +#!/bin/sh +${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@" +EOF + chmod +x ${B}/g-ir-compiler-wrapper + + # Write out a wrapper to use instead of ldd, which does not work when a binary is built + # for a different architecture + cat > ${B}/g-ir-scanner-lddwrapper << EOF +#!/bin/sh +prelink-rtld --root=$STAGING_DIR_HOST "\$@" +EOF + chmod +x ${B}/g-ir-scanner-lddwrapper + + # Also tweak the target python scripts so that they don't refer to the + # native version of python binary (the solution is taken from glib-2.0 recipe) + sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in +} + +do_compile_prepend() { + # This prevents g-ir-scanner from writing cache data to $HOME + export GI_SCANNER_DISABLE_CACHE=1 + + # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise + export GIR_EXTRA_LIBS_PATH=$B/.libs +} + +# Our wrappers need to be available system-wide, because they will be used +# to build introspection files for all other gobject-based packages +do_install_append_class-target() { + install -d ${D}${bindir}/ + install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/ + install ${B}/g-ir-scanner-wrapper ${D}${bindir}/ + install ${B}/g-ir-compiler-wrapper ${D}${bindir}/ + install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/ +} + +# we need target versions of introspection tools in sysroot so that they can be run via qemu +# when building introspection files in other packages +SYSROOT_DIRS_append_class-target = " ${bindir}" + +SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess" +gi_binaries_sysroot_preprocess() { + # Tweak the binary names in the introspection pkgconfig file, so that it + # picks up our wrappers which do the cross-compile and qemu magic. + sed -i \ + -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \ + -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \ + ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc +} + +SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess" +gi_ldsoconf_sysroot_preprocess () { + mkdir -p ${SYSROOT_DESTDIR}${bindir} + dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN} + echo "#!/bin/sh" > $dest + echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest + echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest + echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest + chmod 755 $dest +} + +# Remove wrapper files from the package, only used for cross-compiling +PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess" +gi_package_preprocess() { + rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper + rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper + rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper + rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper +} + +SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}" + +# .typelib files are needed at runtime and so they go to the main package +FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib" + +# .gir files go to dev package, as they're needed for developing (but not for running) +# things that depends on introspection. +FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir" +FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc" + +# These are used by gobject-based packages +# to generate transient introspection binaries +FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \ + ${datadir}/gobject-introspection-1.0/Makefile.introspection" + +# These are used by dependent packages (e.g. pygobject) to build their +# testsuites. +FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \ + ${datadir}/gobject-introspection-1.0/tests/*.h" + +FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/" +FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a" + +RDEPENDS_${PN} = "python3-pickle python3-xml" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb index bac91d373..a0a0b1509 100644 --- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb @@ -21,7 +21,9 @@ S = "${WORKDIR}/SDL2-${PV}" SRC_URI[md5sum] = "f2ecfba915c54f7200f504d8b48a5dfe" SRC_URI[sha256sum] = "255186dc676ecd0c1dbf10ec8a2cc5d6869b5079d8a38194c2aecdff54b324b1" -inherit autotools lib_package binconfig pkgconfig +inherit autotools lib_package binconfig-disabled pkgconfig + +BINCONFIG = "${bindir}/sdl2-config" CVE_PRODUCT = "simple_directmedia_layer sdl" diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb deleted file mode 100644 index 5c2328845..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Keyboard configuration database for X Window" - -DESCRIPTION = "The non-arch keyboard configuration database for X \ -Window. The goal is to provide the consistent, well-structured, \ -frequently released open source of X keyboard configuration data for X \ -Window System implementations. The project is targeted to XKB-based \ -systems." - -HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig" -BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config" - -LICENSE = "MIT & MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9" - -SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2" - -SRC_URI[md5sum] = "e2e980629bfeb9f40a7d44488b18ba12" -SRC_URI[sha256sum] = "393718c7460cd06c4e8cb819d943ca54812ea476f32714c4d8975c77031a038e" - -SECTION = "x11/libs" -DEPENDS = "intltool-native util-macros libxslt-native" - -EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps" - -FILES_${PN} += "${datadir}/X11/xkb" - -inherit autotools pkgconfig gettext - -do_install_append () { - install -d ${D}${datadir}/X11/xkb/compiled - cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg -} diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb new file mode 100644 index 000000000..a6b2cc0ee --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb @@ -0,0 +1,32 @@ +SUMMARY = "Keyboard configuration database for X Window" + +DESCRIPTION = "The non-arch keyboard configuration database for X \ +Window. The goal is to provide the consistent, well-structured, \ +frequently released open source of X keyboard configuration data for X \ +Window System implementations. The project is targeted to XKB-based \ +systems." + +HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config" + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9" + +SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2" + +SRC_URI[md5sum] = "316753e35d3906d042c74230612eab9f" +SRC_URI[sha256sum] = "690daec8fea63526c07620c90e6f3f10aae34e94b6db6e30906173480721901f" + +SECTION = "x11/libs" +DEPENDS = "intltool-native util-macros libxslt-native" + +EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps" + +FILES_${PN} += "${datadir}/X11/xkb" + +inherit autotools pkgconfig gettext + +do_install_append () { + install -d ${D}${datadir}/X11/xkb/compiled + cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg +} diff --git a/poky/meta/recipes-kernel/linux/linux-dummy.bb b/poky/meta/recipes-kernel/linux/linux-dummy.bb index e1c7f7676..62cf6f5ea 100644 --- a/poky/meta/recipes-kernel/linux/linux-dummy.bb +++ b/poky/meta/recipes-kernel/linux/linux-dummy.bb @@ -39,6 +39,10 @@ do_compile () { : } +do_compile_kernelmodules() { + : +} + do_shared_workdir () { : } @@ -58,3 +62,4 @@ do_deploy() { addtask bundle_initramfs after do_install before do_deploy addtask deploy after do_install addtask shared_workdir after do_compile before do_install +addtask compile_kernelmodules diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index 3a055c12a..8c83620d3 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -41,7 +41,7 @@ DEPENDS += "openssl-native util-linux-native" COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64)" -KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb index 0836dc7ea..a4facfeb6 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb @@ -33,7 +33,7 @@ LINUX_KERNEL_TYPE = "preempt-rt" COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)" -KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb index b5e415f93..8bd9d7446 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb @@ -33,7 +33,7 @@ LINUX_KERNEL_TYPE = "preempt-rt" COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)" -KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb index 4ca11d769..e668854fa 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb @@ -29,4 +29,4 @@ COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5" # Functionality flags KERNEL_FEATURES = "" -KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb index a9c463cf0..226a90c7f 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb @@ -29,4 +29,4 @@ COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5" # Functionality flags KERNEL_FEATURES = "" -KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb index cda4ecf89..014d6894e 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb @@ -36,7 +36,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb index 8aec31508..7456141c5 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb @@ -7,6 +7,7 @@ KBRANCH_qemuarm ?= "v5.0/standard/arm-versatile-926ejs" KBRANCH_qemuarm64 ?= "v5.0/standard/qemuarm64" KBRANCH_qemumips ?= "v5.0/standard/mti-malta32" KBRANCH_qemuppc ?= "v5.0/standard/qemuppc" +KBRANCH_qemuriscv64 ?= "v5.0/standard/base" KBRANCH_qemux86 ?= "v5.0/standard/base" KBRANCH_qemux86-64 ?= "v5.0/standard/base" KBRANCH_qemumips64 ?= "v5.0/standard/mti-malta64" @@ -15,6 +16,7 @@ SRCREV_machine_qemuarm ?= "9161b2fa2f1cec0ba02976c389c788445858e0de" SRCREV_machine_qemuarm64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" SRCREV_machine_qemumips ?= "7de9b8f0db98e51a666477c8e2b64f1964b45410" SRCREV_machine_qemuppc ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_machine_qemuriscv64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" SRCREV_machine_qemux86 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" SRCREV_machine_qemux86-64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" SRCREV_machine_qemumips64 ?= "5a8b27bcc0b16077ab8edfcd3fb25c80dc2c652e" @@ -38,10 +40,9 @@ PV = "${LINUX_VERSION}+git${SRCPV}" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" -COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64" +COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest index dbb18820a..eaa2e7b29 100755 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest @@ -3,4 +3,4 @@ # test plan to raise ERRORs; this is just noise. makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=$PWD top_builddir=$PWD" make -k -t all >/dev/null 2>&1 -exec make -k -s $makeargs check 2>/dev/null +exec make -k -s $makeargs check 2>/dev/null | sed -e 's#/tmp/tmp\...........#/tmp/tmp.XXXXXXXXXX#g' diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb index 9583ee3ab..58c7864c3 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \ DEPENDS = "liburcu popt libxml2 util-linux" RDEPENDS_${PN} = "libgcc" -RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules" +RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules sed" RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" # babelstats.pl wants getopt-long diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch deleted file mode 100644 index 5c4bd3672..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 5de7c318804a7b1edce8562d4891b4c74aac0677 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson -Date: Wed, 20 Mar 2019 11:07:35 -0400 -Subject: [PATCH] compat: work around broken _SC_NPROCESSORS_CONF on MUSL libc - -On MUSL libc the _SC_NPROCESSORS_CONF sysconf will report the number of -CPUs allocated to the task based on the affinity mask instead of the -total number of CPUs configured on the system. - -Upstream-Status: Accepted [1] [5de7c318804a7b1edce8562d4891b4c74aac0677] -[1] https://lists.lttng.org/pipermail/lttng-dev/2019-March/028616.html - -Signed-off-by: Michael Jeanson -Signed-off-by: Mathieu Desnoyers ---- - libringbuffer/smp.c | 66 +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 66 insertions(+) - -diff --git a/libringbuffer/smp.c b/libringbuffer/smp.c -index 9e7114be..656a75da 100644 ---- a/libringbuffer/smp.c -+++ b/libringbuffer/smp.c -@@ -2,6 +2,7 @@ - * libringbuffer/smp.c - * - * Copyright (C) 2011-2012 Mathieu Desnoyers -+ * Copyright (C) 2019 Michael Jeanson - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public -@@ -26,6 +27,7 @@ - - int __num_possible_cpus; - -+#if (defined(__GLIBC__) || defined( __UCLIBC__)) - void _get_num_possible_cpus(void) - { - int result; -@@ -43,3 +45,67 @@ void _get_num_possible_cpus(void) - return; - __num_possible_cpus = result; - } -+ -+#else -+ -+/* -+ * The MUSL libc implementation of the _SC_NPROCESSORS_CONF sysconf does not -+ * return the number of configured CPUs in the system but relies on the cpu -+ * affinity mask of the current task. -+ * -+ * So instead we use a strategy similar to GLIBC's, counting the cpu -+ * directories in "/sys/devices/system/cpu" and fallback on the value from -+ * sysconf if it fails. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#define __max(a,b) ((a)>(b)?(a):(b)) -+ -+void _get_num_possible_cpus(void) -+{ -+ int result, count = 0; -+ DIR *cpudir; -+ struct dirent *entry; -+ -+ cpudir = opendir("/sys/devices/system/cpu"); -+ if (cpudir == NULL) -+ goto end; -+ -+ /* -+ * Count the number of directories named "cpu" followed by and -+ * integer. This is the same strategy as glibc uses. -+ */ -+ while ((entry = readdir(cpudir))) { -+ if (entry->d_type == DT_DIR && -+ strncmp(entry->d_name, "cpu", 3) == 0) { -+ -+ char *endptr; -+ unsigned long cpu_num; -+ -+ cpu_num = strtoul(entry->d_name + 3, &endptr, 10); -+ if ((cpu_num < ULONG_MAX) && (endptr != entry->d_name + 3) -+ && (*endptr == '\0')) { -+ count++; -+ } -+ } -+ } -+ -+end: -+ /* -+ * Get the sysconf value as a fallback. Keep the highest number. -+ */ -+ result = __max(sysconf(_SC_NPROCESSORS_CONF), count); -+ -+ /* -+ * If both methods failed, don't store the value. -+ */ -+ if (result < 1) -+ return; -+ __num_possible_cpus = result; -+} -+#endif --- -2.17.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb deleted file mode 100644 index d54610412..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Linux Trace Toolkit Userspace Tracer 2.x" -DESCRIPTION = "The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes." -HOMEPAGE = "http://lttng.org/ust" -BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust" - -LICENSE = "LGPLv2.1+ & MIT & GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \ - file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \ - file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44" - -PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ - am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ - PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ -" - -inherit autotools lib_package manpages python3native - -DEPENDS = "liburcu util-linux" -RDEPENDS_${PN}-bin = "python3-core" - -# For backwards compatibility after rename -RPROVIDES_${PN} = "lttng2-ust" -RREPLACES_${PN} = "lttng2-ust" -RCONFLICTS_${PN} = "lttng2-ust" - -PE = "2" - -SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ - file://lttng-ust-doc-examples-disable.patch \ - file://0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch \ - " - -SRC_URI[md5sum] = "ffcfa8c1ba9a52f002d240e936e9afa2" -SRC_URI[sha256sum] = "9e8420f90d5f963f7aa32bc6d44adc1e491136f687c69ffb7a3075d33b40852b" - -CVE_PRODUCT = "ust" - -PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" -PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3" - -FILES_${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*" -FILES_${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a" -FILES_${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la" - -do_install_append() { - # Patch python tools to use Python 3; they should be source compatible, but - # still refer to Python 2 in the shebang - sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp -} diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb new file mode 100644 index 000000000..a8eebb223 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb @@ -0,0 +1,48 @@ +SUMMARY = "Linux Trace Toolkit Userspace Tracer 2.x" +DESCRIPTION = "The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes." +HOMEPAGE = "http://lttng.org/ust" +BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust" + +LICENSE = "LGPLv2.1+ & MIT & GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \ + file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \ + file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44" + +PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ + am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ + PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ +" + +inherit autotools lib_package manpages python3native + +DEPENDS = "liburcu util-linux" +RDEPENDS_${PN}-bin = "python3-core" + +# For backwards compatibility after rename +RPROVIDES_${PN} = "lttng2-ust" +RREPLACES_${PN} = "lttng2-ust" +RCONFLICTS_${PN} = "lttng2-ust" + +PE = "2" + +SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ + file://lttng-ust-doc-examples-disable.patch \ + " + +SRC_URI[md5sum] = "19916ff0dec23c90f985586a8cbd1fd2" +SRC_URI[sha256sum] = "75d5b4bb205c444a343e1297e14cd3a2503fc645a26710531cbd319c72c1a967" + +CVE_PRODUCT = "ust" + +PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" +PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3" + +FILES_${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*" +FILES_${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a" +FILES_${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la" + +do_install_append() { + # Patch python tools to use Python 3; they should be source compatible, but + # still refer to Python 2 in the shebang + sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp +} diff --git a/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb index 97c58c523..460e05a44 100644 --- a/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb +++ b/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb @@ -12,7 +12,7 @@ S = "${WORKDIR}" do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" -DEPENDS += "bc-native" +DEPENDS += "bc-native bison-native" EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"" diff --git a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2019.06.03.bb b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2019.06.03.bb new file mode 100644 index 000000000..9076d9460 --- /dev/null +++ b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2019.06.03.bb @@ -0,0 +1,44 @@ +SUMMARY = "Wireless Central Regulatory Domain Database" +HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA" +SECTION = "net" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" + +SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" +SRC_URI[md5sum] = "4b5ba3f089db7fdb7b9daae6a7c1f2cb" +SRC_URI[sha256sum] = "cd917ed86b63ce8d93947979f1f18948f03a4ac0ad89ec25227b36ac00dc54bf" + +inherit bin_package allarch + +do_install() { + install -d -m0755 ${D}${nonarch_libdir}/crda + install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys + install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin + install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem + + install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db + install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s +} + +# Install static regulatory DB in /lib/firmware for kernel to load. +# This requires Linux kernel >= v4.15. +# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass +# (in meta-networking) in kernel's recipe. +PACKAGES = "${PN}-static ${PN}" +RCONFLICTS_${PN} = "${PN}-static" + +FILES_${PN}-static = " \ + ${nonarch_base_libdir}/firmware/regulatory.db \ + ${nonarch_base_libdir}/firmware/regulatory.db.p7s \ +" + +# Native users might want to use the source of regulatory DB. +# This is for example used by Linux kernel <= v4.14 and +# kernel_wireless_regdb.bbclass in meta-networking. +do_install_append_class-native() { + install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt +} + +RSUGGESTS_${PN} = "crda" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/curl/curl_7.64.1.bb b/poky/meta/recipes-support/curl/curl_7.64.1.bb deleted file mode 100644 index 47c28beff..000000000 --- a/poky/meta/recipes-support/curl/curl_7.64.1.bb +++ /dev/null @@ -1,80 +0,0 @@ -SUMMARY = "Command line tool and library for client-side URL transfers" -HOMEPAGE = "http://curl.haxx.se/" -BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker" -SECTION = "console/network" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=be5d9e1419c4363f4b32037a2d3b7ffa" - -SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ - file://0001-replace-krb5-config-with-pkg-config.patch \ -" - -SRC_URI[md5sum] = "790c101927845208a9d7e8c429ddd1b2" -SRC_URI[sha256sum] = "4cc7c738b35250d0680f29e93e0820c4cb40035f43514ea3ec8d60322d41a45d" - -CVE_PRODUCT = "curl libcurl" -inherit autotools pkgconfig binconfig multilib_header - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib" -PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib" -PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib" - -# 'ares' and 'threaded-resolver' are mutually exclusive -PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares" -PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" -PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" -PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," -PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" -PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," -PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" -PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap," -PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps," -PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" -PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" -PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" -PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" -PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," -PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," -PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" -PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," -PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," -PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," -PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl" -PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" -PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," -PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," -PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver" -PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" -PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" - -EXTRA_OECONF = " \ - --disable-libcurl-option \ - --disable-ntlm-wb \ - --enable-crypto-auth \ - --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ - --without-libmetalink \ - --without-libpsl \ -" - -do_install_append_class-target() { - # cleanup buildpaths from curl-config - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - ${D}${bindir}/curl-config -} - -PACKAGES =+ "lib${BPN}" - -FILES_lib${BPN} = "${libdir}/lib*.so.*" -RRECOMMENDS_lib${BPN} += "ca-certificates" - -FILES_${PN} += "${datadir}/zsh" - -inherit multilib_script -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/curl/curl_7.65.1.bb b/poky/meta/recipes-support/curl/curl_7.65.1.bb new file mode 100644 index 000000000..e7bfe6cc0 --- /dev/null +++ b/poky/meta/recipes-support/curl/curl_7.65.1.bb @@ -0,0 +1,80 @@ +SUMMARY = "Command line tool and library for client-side URL transfers" +HOMEPAGE = "http://curl.haxx.se/" +BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker" +SECTION = "console/network" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=be5d9e1419c4363f4b32037a2d3b7ffa" + +SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ + file://0001-replace-krb5-config-with-pkg-config.patch \ +" + +SRC_URI[md5sum] = "03ca3fa53ac4d791be66e30ba75b56ea" +SRC_URI[sha256sum] = "cbd36df60c49e461011b4f3064cff1184bdc9969a55e9608bf5cadec4686e3f7" + +CVE_PRODUCT = "curl libcurl" +inherit autotools pkgconfig binconfig multilib_header + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib" +PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib" +PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib" + +# 'ares' and 'threaded-resolver' are mutually exclusive +PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares" +PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" +PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" +PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," +PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" +PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," +PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" +PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap," +PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps," +PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" +PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" +PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" +PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" +PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," +PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," +PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" +PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," +PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," +PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," +PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl" +PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" +PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," +PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," +PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver" +PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" +PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" + +EXTRA_OECONF = " \ + --disable-libcurl-option \ + --disable-ntlm-wb \ + --enable-crypto-auth \ + --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ + --without-libmetalink \ + --without-libpsl \ +" + +do_install_append_class-target() { + # cleanup buildpaths from curl-config + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + ${D}${bindir}/curl-config +} + +PACKAGES =+ "lib${BPN}" + +FILES_lib${BPN} = "${libdir}/lib*.so.*" +RRECOMMENDS_lib${BPN} += "ca-certificates" + +FILES_${PN} += "${datadir}/zsh" + +inherit multilib_script +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb deleted file mode 100644 index 06a257333..000000000 --- a/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "GNU Privacy Guard - encryption and signing tools (2.x)" -HOMEPAGE = "http://www.gnupg.org/" -LICENSE = "GPLv3 & LGPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=189af8afca6d6075ba6c9e0aa8077626 \ - file://COPYING.LGPL3;md5=a2b6bf2cb38ee52619e60f30a1fc7257" - -DEPENDS = "npth libassuan libksba zlib bzip2 readline libgcrypt" - -inherit autotools gettext texinfo pkgconfig - -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch \ - file://0002-use-pkgconfig-instead-of-npth-config.patch \ - file://0003-dirmngr-uses-libgpg-error.patch \ - file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \ - file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \ - " -SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \ - file://relocate.patch" - - -SRC_URI[md5sum] = "3ab87e377aa0af2f463649515bf66508" -SRC_URI[sha256sum] = "cb8ce298d7b36558ffc48aec961b14c830ff1783eef7a623411188b5e0f5d454" - -EXTRA_OECONF = "--disable-ldap \ - --disable-ccid-driver \ - --with-zlib=${STAGING_LIBDIR}/.. \ - --with-bzip2=${STAGING_LIBDIR}/.. \ - --with-readline=${STAGING_LIBDIR}/.. \ - --enable-gpg-is-gpg2 \ - " -RRECOMMENDS_${PN} = "pinentry" - -do_configure_prepend () { - # Else these could be used in prefernce to those in aclocal-copy - rm -f ${S}/m4/gpg-error.m4 - rm -f ${S}/m4/libassuan.m4 - rm -f ${S}/m4/ksba.m4 - rm -f ${S}/m4/libgcrypt.m4 -} - -do_install_append() { - ln -sf gpg2 ${D}${bindir}/gpg - ln -sf gpgv2 ${D}${bindir}/gpgv -} - -do_install_append_class-native() { - create_wrapper ${D}${bindir}/gpg2 GNUPG_BINDIR=${STAGING_BINDIR_NATIVE} -} - -PACKAGECONFIG ??= "gnutls" -PACKAGECONFIG[gnutls] = "--enable-gnutls, --disable-gnutls, gnutls" -PACKAGECONFIG[sqlite3] = "--enable-sqlite, --disable-sqlite, sqlite3" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb new file mode 100644 index 000000000..cb7c6c5c6 --- /dev/null +++ b/poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb @@ -0,0 +1,56 @@ +SUMMARY = "GNU Privacy Guard - encryption and signing tools (2.x)" +HOMEPAGE = "http://www.gnupg.org/" +LICENSE = "GPLv3 & LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=189af8afca6d6075ba6c9e0aa8077626 \ + file://COPYING.LGPL3;md5=a2b6bf2cb38ee52619e60f30a1fc7257" + +DEPENDS = "npth libassuan libksba zlib bzip2 readline libgcrypt" + +inherit autotools gettext texinfo pkgconfig + +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" +SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch \ + file://0002-use-pkgconfig-instead-of-npth-config.patch \ + file://0003-dirmngr-uses-libgpg-error.patch \ + file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \ + file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \ + " +SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \ + file://relocate.patch" + + +SRC_URI[md5sum] = "d90e186df1c06845880ea58a318f070b" +SRC_URI[sha256sum] = "6cbe8d454bf5dc204621eed3016d721b66298fa95363395bb8eeceb1d2fd14cb" + +EXTRA_OECONF = "--disable-ldap \ + --disable-ccid-driver \ + --with-zlib=${STAGING_LIBDIR}/.. \ + --with-bzip2=${STAGING_LIBDIR}/.. \ + --with-readline=${STAGING_LIBDIR}/.. \ + --enable-gpg-is-gpg2 \ + " +RRECOMMENDS_${PN} = "pinentry" + +do_configure_prepend () { + # Else these could be used in prefernce to those in aclocal-copy + rm -f ${S}/m4/gpg-error.m4 + rm -f ${S}/m4/libassuan.m4 + rm -f ${S}/m4/ksba.m4 + rm -f ${S}/m4/libgcrypt.m4 +} + +do_install_append() { + ln -sf gpg2 ${D}${bindir}/gpg + ln -sf gpgv2 ${D}${bindir}/gpgv +} + +do_install_append_class-native() { + create_wrapper ${D}${bindir}/gpg2 GNUPG_BINDIR=${STAGING_BINDIR_NATIVE} +} + +PACKAGECONFIG ??= "gnutls" +PACKAGECONFIG[gnutls] = "--enable-gnutls, --disable-gnutls, gnutls" +PACKAGECONFIG[sqlite3] = "--enable-sqlite, --disable-sqlite, sqlite3" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb deleted file mode 100644 index b27526a64..000000000 --- a/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "GNU Transport Layer Security Library" -HOMEPAGE = "http://www.gnu.org/software/gnutls/" -BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls" - -LICENSE = "GPLv3+ & LGPLv2.1+" -LICENSE_${PN} = "LGPLv2.1+" -LICENSE_${PN}-xx = "LGPLv2.1+" -LICENSE_${PN}-bin = "GPLv3+" -LICENSE_${PN}-openssl = "GPLv3+" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \ - file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \ - file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343" - -DEPENDS = "nettle gmp virtual/libiconv libunistring" -DEPENDS_append_libc-musl = " argp-standalone" - -SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" - -SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ - file://arm_eabi.patch \ -" - -SRC_URI[md5sum] = "c4ac669c500df939d4fbfea722367929" -SRC_URI[sha256sum] = "5b3409ad5aaf239808730d1ee12fdcd148c0be00262c7edf157af655a8a188e2" - -inherit autotools texinfo pkgconfig gettext lib_package gtk-doc - -PACKAGECONFIG ??= "libidn" - -# You must also have CONFIG_SECCOMP enabled in the kernel for -# seccomp to work. -PACKAGECONFIG[seccomp] = "ac_cv_libseccomp=yes,ac_cv_libseccomp=no,libseccomp" -PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2" -PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1" -PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit" -PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers" - -EXTRA_OECONF = " \ - --enable-doc \ - --disable-libdane \ - --disable-guile \ - --disable-rpath \ - --enable-local-libopts \ - --enable-openssl-compatibility \ - --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ - --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ -" - -LDFLAGS_append_libc-musl = " -largp" - -do_configure_prepend() { - for dir in . lib; do - rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4 - done -} - -PACKAGES =+ "${PN}-openssl ${PN}-xx" - -FILES_${PN}-dev += "${bindir}/gnutls-cli-debug" -FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*" -FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb new file mode 100644 index 000000000..6c6c520e8 --- /dev/null +++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb @@ -0,0 +1,64 @@ +SUMMARY = "GNU Transport Layer Security Library" +HOMEPAGE = "http://www.gnu.org/software/gnutls/" +BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls" + +LICENSE = "GPLv3+ & LGPLv2.1+" +LICENSE_${PN} = "LGPLv2.1+" +LICENSE_${PN}-xx = "LGPLv2.1+" +LICENSE_${PN}-bin = "GPLv3+" +LICENSE_${PN}-openssl = "GPLv3+" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \ + file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \ + file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343" + +DEPENDS = "nettle gmp virtual/libiconv libunistring" +DEPENDS_append_libc-musl = " argp-standalone" + +SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" + +SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ + file://arm_eabi.patch \ +" + +SRC_URI[md5sum] = "9dcf0aa45d1a42e1b3ca5d39ec7c61a8" +SRC_URI[sha256sum] = "aa81944e5635de981171772857e72be231a7e0f559ae0292d2737de475383e83" + +inherit autotools texinfo pkgconfig gettext lib_package gtk-doc + +PACKAGECONFIG ??= "libidn" + +# You must also have CONFIG_SECCOMP enabled in the kernel for +# seccomp to work. +PACKAGECONFIG[seccomp] = "ac_cv_libseccomp=yes,ac_cv_libseccomp=no,libseccomp" +PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2" +PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1" +PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit" +PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers" + +EXTRA_OECONF = " \ + --enable-doc \ + --disable-libdane \ + --disable-guile \ + --disable-rpath \ + --enable-local-libopts \ + --enable-openssl-compatibility \ + --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ +" + +LDFLAGS_append_libc-musl = " -largp" + +do_configure_prepend() { + for dir in . lib; do + rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4 + done +} + +PACKAGES =+ "${PN}-openssl ${PN}-xx" + +FILES_${PN}-dev += "${bindir}/gnutls-cli-debug" +FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*" +FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb b/poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb deleted file mode 100644 index 12cf5192f..000000000 --- a/poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Wrapper library for evdev devices" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libevdev/" -SECTION = "libs" - -LICENSE = "MIT-X" -LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \ - file://libevdev/libevdev.h;endline=21;md5=7ff4f0b5113252c2f1a828e0bbad98d1" - -SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz" - -SRC_URI[md5sum] = "154b24f01425c4c82fdc3e11f2c13af6" -SRC_URI[sha256sum] = "f5005c865987d980cc1279b9ec6131b06a89fd9892f649f2a68262b8786ef814" - -inherit autotools pkgconfig diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb b/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb new file mode 100644 index 000000000..abd6f386b --- /dev/null +++ b/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Wrapper library for evdev devices" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libevdev/" +SECTION = "libs" + +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \ + file://libevdev/libevdev.h;endline=21;md5=7ff4f0b5113252c2f1a828e0bbad98d1" + +SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz" + +SRC_URI[md5sum] = "fabe87d8d7d7f7cdb4a26e5dc99fc517" +SRC_URI[sha256sum] = "11dbe1f2b1d03a51f3e9a196757a75c3a999042ce34cf1fdc00a2363e5a2e369" + +inherit autotools pkgconfig diff --git a/poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch b/poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch deleted file mode 100644 index 36d08204f..000000000 --- a/poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 69a3813c513c84e02212250c3d5b8a02ecefa698 Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Mon, 15 Jan 2018 08:00:33 +0000 -Subject: [PATCH] test: fix 32bit linux regress - -This patch comes from https://github.com/libevent/libevent.git, -the commit is 63c4bf78d6af3c6ff46d2e8e4b53dd9f577a9ca9 - -Upstream-Status: Backport - -Signed-off-by: Mingli Yu ---- - configure.ac | 1 + - test/regress_util.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 7528d37..e64cb1f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -663,6 +663,7 @@ AC_CHECK_SIZEOF(short) - AC_CHECK_SIZEOF(size_t) - AC_CHECK_SIZEOF(void *) - AC_CHECK_SIZEOF(off_t) -+AC_CHECK_SIZEOF(time_t) - - AC_CHECK_TYPES([struct in6_addr, struct sockaddr_in6, sa_family_t, struct addrinfo, struct sockaddr_storage], , , - [#define _GNU_SOURCE -diff --git a/test/regress_util.c b/test/regress_util.c -index ef6a148..0c7eafb 100644 ---- a/test/regress_util.c -+++ b/test/regress_util.c -@@ -1412,10 +1412,12 @@ static struct date_rfc1123_case { - { 1289433600, "Thu, 11 Nov 2010 00:00:00 GMT"}, - { 1323648000, "Mon, 12 Dec 2011 00:00:00 GMT"}, - #ifndef _WIN32 -+#if EVENT__SIZEOF_TIME_T > 4 - /** In win32 case we have max "23:59:59 January 18, 2038, UTC" for time32 */ - { 4294967296, "Sun, 07 Feb 2106 06:28:16 GMT"} /* 2^32 */, - /** In win32 case we have max "23:59:59, December 31, 3000, UTC" for time64 */ - {253402300799, "Fri, 31 Dec 9999 23:59:59 GMT"} /* long long future no one can imagine */, -+#endif /* time_t != 32bit */ - { 1456704000, "Mon, 29 Feb 2016 00:00:00 GMT"} /* leap year */, - #endif - { 1435708800, "Wed, 01 Jul 2015 00:00:00 GMT"} /* leap second */, --- -2.13.3 - diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.10.bb b/poky/meta/recipes-support/libevent/libevent_2.1.10.bb new file mode 100644 index 000000000..81ceb1cd9 --- /dev/null +++ b/poky/meta/recipes-support/libevent/libevent_2.1.10.bb @@ -0,0 +1,46 @@ +SUMMARY = "An asynchronous event notification library" +HOMEPAGE = "http://libevent.org/" +BUGTRACKER = "https://github.com/libevent/libevent/issues" +SECTION = "libs" + +LICENSE = "BSD & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=17f20574c0b154d12236d5fbe964f549" + +SRC_URI = " \ + https://github.com/libevent/libevent/releases/download/release-${PV}-stable/${BP}-stable.tar.gz \ + file://Makefile-missing-test-dir.patch \ + file://run-ptest \ +" + +SRC_URI[md5sum] = "999caf86f52943af2363bc8077f00167" +SRC_URI[sha256sum] = "e864af41a336bb11dab1a23f32993afe963c1f69618bd9292b89ecf6904845b0" + +UPSTREAM_CHECK_URI = "http://libevent.org/" + +S = "${WORKDIR}/${BPN}-${PV}-stable" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" + +inherit autotools + +# Needed for Debian packaging +LEAD_SONAME = "libevent-2.1.so" + +inherit ptest multilib_header + +DEPENDS = "zlib" + +BBCLASSEXTEND = "native nativesdk" + +do_install_append() { + oe_multilib_header event2/event-config.h +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test + for file in ${B}/test/.libs/regress ${B}/test/.libs/test* + do + install -m 0755 $file ${D}${PTEST_PATH}/test + done +} diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.8.bb b/poky/meta/recipes-support/libevent/libevent_2.1.8.bb deleted file mode 100644 index 0f91e05a6..000000000 --- a/poky/meta/recipes-support/libevent/libevent_2.1.8.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "An asynchronous event notification library" -HOMEPAGE = "http://libevent.org/" -BUGTRACKER = "https://github.com/libevent/libevent/issues" -SECTION = "libs" - -LICENSE = "BSD & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=17f20574c0b154d12236d5fbe964f549" - -SRC_URI = " \ - https://github.com/libevent/libevent/releases/download/release-${PV}-stable/${BP}-stable.tar.gz \ - file://Makefile-missing-test-dir.patch \ - file://0001-test-fix-32bit-linux-regress.patch \ - file://run-ptest \ -" - -SRC_URI[md5sum] = "f3eeaed018542963b7d2416ef1135ecc" -SRC_URI[sha256sum] = "965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2" - -UPSTREAM_CHECK_URI = "http://libevent.org/" - -S = "${WORKDIR}/${BPN}-${PV}-stable" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" - -inherit autotools - -# Needed for Debian packaging -LEAD_SONAME = "libevent-2.1.so" - -inherit ptest multilib_header - -DEPENDS = "zlib" - -BBCLASSEXTEND = "native nativesdk" - -do_install_append() { - oe_multilib_header event2/event-config.h -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/test - for file in ${B}/test/.libs/regress ${B}/test/.libs/test* - do - install -m 0755 $file ${D}${PTEST_PATH}/test - done -} diff --git a/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch b/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch new file mode 100644 index 000000000..589c4d3c4 --- /dev/null +++ b/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch @@ -0,0 +1,827 @@ +From 8ac73103bf12ce4f776940cb17f3ced15a362f23 Mon Sep 17 00:00:00 2001 +From: Stef O'Rear +Date: Sun, 11 Mar 2018 05:55:15 -0700 +Subject: [PATCH] New RISC-V port (#281) + +* Add RISC-V support + +This patch adds support for the RISC-V architecture (https://riscv.org). + +This patch has been tested using QEMU user-mode emulation and GCC 7.2.0 +in the following configurations: + +* -march=rv32imac -mabi=ilp32 +* -march=rv32g -mabi=ilp32d +* -march=rv64imac -mabi=lp64 +* -march=rv64g -mabi=lp64d + +The ABI currently can be found at +https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md . + +* Add RISC-V to README + +* RISC-V: fix configure.host + +Upstream-Status: Backport [https://github.com/libffi/libffi/commit/3840d49aaa831d649b1597518a2903dfed0d57f3] +Signed-off-by: Alistair Francis +--- + Makefile.am | 4 + + configure.ac | 5 + + src/riscv/ffi.c | 445 ++++++++++++++++++++++++++++++++++++++++++ + src/riscv/ffitarget.h | 68 +++++++ + src/riscv/sysv.S | 214 ++++++++++++++++++++ + 5 files changed, 736 insertions(+) + create mode 100644 src/riscv/ffi.c + create mode 100644 src/riscv/ffitarget.h + create mode 100644 src/riscv/sysv.S + +diff --git a/Makefile.am b/Makefile.am +index 0e40451..3837650 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -32,6 +32,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj \ + src/powerpc/asm.h src/powerpc/aix.S src/powerpc/darwin.S \ + src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \ + src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \ ++ src/riscv/ffi.c src/riscv/ffitarget.h src/riscv/sysv.S \ + src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \ + src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h src/sh64/ffi.c \ + src/sh64/sysv.S src/sh64/ffitarget.h src/sparc/v8.S \ +@@ -122,6 +123,9 @@ endif + if MIPS + nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S + endif ++if RISCV ++nodist_libffi_la_SOURCES += src/riscv/ffi.c src/riscv/sysv.S ++endif + if BFIN + nodist_libffi_la_SOURCES += src/bfin/ffi.c src/bfin/sysv.S + endif +diff --git a/configure.ac b/configure.ac +index ce30853..33375aa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -226,6 +226,10 @@ case "$host" in + TARGET=MIPS; TARGETDIR=mips + ;; + ++ riscv*-*-*) ++ TARGET=RISCV; TARGETDIR=riscv ++ ;; ++ + nios2*-linux*) + TARGET=NIOS2; TARGETDIR=nios2 + ;; +@@ -298,6 +302,7 @@ if test $TARGETDIR = unknown; then + fi + + AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS) ++AM_CONDITIONAL(RISCV, test x$TARGET = xRISCV) + AM_CONDITIONAL(BFIN, test x$TARGET = xBFIN) + AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC) + AM_CONDITIONAL(X86, test x$TARGET = xX86) +diff --git a/src/riscv/ffi.c b/src/riscv/ffi.c +new file mode 100644 +index 0000000..b744fdd +--- /dev/null ++++ b/src/riscv/ffi.c +@@ -0,0 +1,445 @@ ++/* ----------------------------------------------------------------------- ++ ffi.c - Copyright (c) 2015 Michael Knyszek ++ 2015 Andrew Waterman ++ 2018 Stef O'Rear ++ Based on MIPS N32/64 port ++ ++ RISC-V Foreign Function Interface ++ ++ Permission is hereby granted, free of charge, to any person obtaining ++ a copy of this software and associated documentation files (the ++ ``Software''), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, sublicense, and/or sell copies of the Software, and to ++ permit persons to whom the Software is furnished to do so, subject to ++ the following conditions: ++ ++ The above copyright notice and this permission notice shall be included ++ in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ++ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ DEALINGS IN THE SOFTWARE. ++ ----------------------------------------------------------------------- */ ++ ++#include ++#include ++ ++#include ++#include ++ ++#if __riscv_float_abi_double ++#define ABI_FLEN 64 ++#define ABI_FLOAT double ++#elif __riscv_float_abi_single ++#define ABI_FLEN 32 ++#define ABI_FLOAT float ++#endif ++ ++#define NARGREG 8 ++#define STKALIGN 16 ++#define MAXCOPYARG (2 * sizeof(double)) ++ ++typedef struct call_context ++{ ++#if ABI_FLEN ++ ABI_FLOAT fa[8]; ++#endif ++ size_t a[8]; ++ /* used by the assembly code to in-place construct its own stack frame */ ++ char frame[16]; ++} call_context; ++ ++typedef struct call_builder ++{ ++ call_context *aregs; ++ int used_integer; ++ int used_float; ++ size_t *used_stack; ++} call_builder; ++ ++/* integer (not pointer) less than ABI XLEN */ ++/* FFI_TYPE_INT does not appear to be used */ ++#if __SIZEOF_POINTER__ == 8 ++#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT64) ++#else ++#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT32) ++#endif ++ ++#if ABI_FLEN ++typedef struct { ++ char as_elements, type1, offset2, type2; ++} float_struct_info; ++ ++#if ABI_FLEN >= 64 ++#define IS_FLOAT(type) ((type) >= FFI_TYPE_FLOAT && (type) <= FFI_TYPE_DOUBLE) ++#else ++#define IS_FLOAT(type) ((type) == FFI_TYPE_FLOAT) ++#endif ++ ++static ffi_type **flatten_struct(ffi_type *in, ffi_type **out, ffi_type **out_end) { ++ int i; ++ if (out == out_end) return out; ++ if (in->type != FFI_TYPE_STRUCT) { ++ *(out++) = in; ++ } else { ++ for (i = 0; in->elements[i]; i++) ++ out = flatten_struct(in->elements[i], out, out_end); ++ } ++ return out; ++} ++ ++/* Structs with at most two fields after flattening, one of which is of ++ floating point type, are passed in multiple registers if sufficient ++ registers are available. */ ++static float_struct_info struct_passed_as_elements(call_builder *cb, ffi_type *top) { ++ float_struct_info ret = {0, 0, 0, 0}; ++ ffi_type *fields[3]; ++ int num_floats, num_ints; ++ int num_fields = flatten_struct(top, fields, fields + 3) - fields; ++ ++ if (num_fields == 1) { ++ if (IS_FLOAT(fields[0]->type)) { ++ ret.as_elements = 1; ++ ret.type1 = fields[0]->type; ++ } ++ } else if (num_fields == 2) { ++ num_floats = IS_FLOAT(fields[0]->type) + IS_FLOAT(fields[1]->type); ++ num_ints = IS_INT(fields[0]->type) + IS_INT(fields[1]->type); ++ if (num_floats == 0 || num_floats + num_ints != 2) ++ return ret; ++ if (cb->used_float + num_floats > NARGREG || cb->used_integer + (2 - num_floats) > NARGREG) ++ return ret; ++ if (!IS_FLOAT(fields[0]->type) && !IS_FLOAT(fields[1]->type)) ++ return ret; ++ ++ ret.type1 = fields[0]->type; ++ ret.type2 = fields[1]->type; ++ ret.offset2 = ALIGN(fields[0]->size, fields[1]->alignment); ++ ret.as_elements = 1; ++ } ++ ++ return ret; ++} ++#endif ++ ++/* allocates a single register, float register, or XLEN-sized stack slot to a datum */ ++static void marshal_atom(call_builder *cb, int type, void *data) { ++ size_t value = 0; ++ switch (type) { ++ case FFI_TYPE_UINT8: value = *(uint8_t *)data; break; ++ case FFI_TYPE_SINT8: value = *(int8_t *)data; break; ++ case FFI_TYPE_UINT16: value = *(uint16_t *)data; break; ++ case FFI_TYPE_SINT16: value = *(int16_t *)data; break; ++ /* 32-bit quantities are always sign-extended in the ABI */ ++ case FFI_TYPE_UINT32: value = *(int32_t *)data; break; ++ case FFI_TYPE_SINT32: value = *(int32_t *)data; break; ++#if __SIZEOF_POINTER__ == 8 ++ case FFI_TYPE_UINT64: value = *(uint64_t *)data; break; ++ case FFI_TYPE_SINT64: value = *(int64_t *)data; break; ++#endif ++ case FFI_TYPE_POINTER: value = *(size_t *)data; break; ++ ++ /* float values may be recoded in an implementation-defined way ++ by hardware conforming to 2.1 or earlier, so use asm to ++ reinterpret floats as doubles */ ++#if ABI_FLEN >= 32 ++ case FFI_TYPE_FLOAT: ++ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(float *)data)); ++ return; ++#endif ++#if ABI_FLEN >= 64 ++ case FFI_TYPE_DOUBLE: ++ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(double *)data)); ++ return; ++#endif ++ default: FFI_ASSERT(0); break; ++ } ++ ++ if (cb->used_integer == NARGREG) { ++ *cb->used_stack++ = value; ++ } else { ++ cb->aregs->a[cb->used_integer++] = value; ++ } ++} ++ ++static void unmarshal_atom(call_builder *cb, int type, void *data) { ++ size_t value; ++ switch (type) { ++#if ABI_FLEN >= 32 ++ case FFI_TYPE_FLOAT: ++ asm("" : "=f"(*(float *)data) : "0"(cb->aregs->fa[cb->used_float++])); ++ return; ++#endif ++#if ABI_FLEN >= 64 ++ case FFI_TYPE_DOUBLE: ++ asm("" : "=f"(*(double *)data) : "0"(cb->aregs->fa[cb->used_float++])); ++ return; ++#endif ++ } ++ ++ if (cb->used_integer == NARGREG) { ++ value = *cb->used_stack++; ++ } else { ++ value = cb->aregs->a[cb->used_integer++]; ++ } ++ ++ switch (type) { ++ case FFI_TYPE_UINT8: *(uint8_t *)data = value; break; ++ case FFI_TYPE_SINT8: *(uint8_t *)data = value; break; ++ case FFI_TYPE_UINT16: *(uint16_t *)data = value; break; ++ case FFI_TYPE_SINT16: *(uint16_t *)data = value; break; ++ case FFI_TYPE_UINT32: *(uint32_t *)data = value; break; ++ case FFI_TYPE_SINT32: *(uint32_t *)data = value; break; ++#if __SIZEOF_POINTER__ == 8 ++ case FFI_TYPE_UINT64: *(uint64_t *)data = value; break; ++ case FFI_TYPE_SINT64: *(uint64_t *)data = value; break; ++#endif ++ case FFI_TYPE_POINTER: *(size_t *)data = value; break; ++ default: FFI_ASSERT(0); break; ++ } ++} ++ ++/* adds an argument to a call, or a not by reference return value */ ++static void marshal(call_builder *cb, ffi_type *type, int var, void *data) { ++ size_t realign[2]; ++ ++#if ABI_FLEN ++ if (!var && type->type == FFI_TYPE_STRUCT) { ++ float_struct_info fsi = struct_passed_as_elements(cb, type); ++ if (fsi.as_elements) { ++ marshal_atom(cb, fsi.type1, data); ++ if (fsi.offset2) ++ marshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2); ++ return; ++ } ++ } ++ ++ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) { ++ marshal_atom(cb, type->type, data); ++ return; ++ } ++#endif ++ ++ if (type->size > 2 * __SIZEOF_POINTER__) { ++ /* pass by reference */ ++ marshal_atom(cb, FFI_TYPE_POINTER, &data); ++ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { ++ marshal_atom(cb, type->type, data); ++ } else { ++ /* overlong integers, soft-float floats, and structs without special ++ float handling are treated identically from this point on */ ++ ++ /* variadics are aligned even in registers */ ++ if (type->alignment > __SIZEOF_POINTER__) { ++ if (var) ++ cb->used_integer = ALIGN(cb->used_integer, 2); ++ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__); ++ } ++ ++ memcpy(realign, data, type->size); ++ if (type->size > 0) ++ marshal_atom(cb, FFI_TYPE_POINTER, realign); ++ if (type->size > __SIZEOF_POINTER__) ++ marshal_atom(cb, FFI_TYPE_POINTER, realign + 1); ++ } ++} ++ ++/* for arguments passed by reference returns the pointer, otherwise the arg is copied (up to MAXCOPYARG bytes) */ ++static void *unmarshal(call_builder *cb, ffi_type *type, int var, void *data) { ++ size_t realign[2]; ++ void *pointer; ++ ++#if ABI_FLEN ++ if (!var && type->type == FFI_TYPE_STRUCT) { ++ float_struct_info fsi = struct_passed_as_elements(cb, type); ++ if (fsi.as_elements) { ++ unmarshal_atom(cb, fsi.type1, data); ++ if (fsi.offset2) ++ unmarshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2); ++ return data; ++ } ++ } ++ ++ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) { ++ unmarshal_atom(cb, type->type, data); ++ return data; ++ } ++#endif ++ ++ if (type->size > 2 * __SIZEOF_POINTER__) { ++ /* pass by reference */ ++ unmarshal_atom(cb, FFI_TYPE_POINTER, (char*)&pointer); ++ return pointer; ++ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { ++ unmarshal_atom(cb, type->type, data); ++ return data; ++ } else { ++ /* overlong integers, soft-float floats, and structs without special ++ float handling are treated identically from this point on */ ++ ++ /* variadics are aligned even in registers */ ++ if (type->alignment > __SIZEOF_POINTER__) { ++ if (var) ++ cb->used_integer = ALIGN(cb->used_integer, 2); ++ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__); ++ } ++ ++ if (type->size > 0) ++ unmarshal_atom(cb, FFI_TYPE_POINTER, realign); ++ if (type->size > __SIZEOF_POINTER__) ++ unmarshal_atom(cb, FFI_TYPE_POINTER, realign + 1); ++ memcpy(data, realign, type->size); ++ return data; ++ } ++} ++ ++static int passed_by_ref(call_builder *cb, ffi_type *type, int var) { ++#if ABI_FLEN ++ if (!var && type->type == FFI_TYPE_STRUCT) { ++ float_struct_info fsi = struct_passed_as_elements(cb, type); ++ if (fsi.as_elements) return 0; ++ } ++#endif ++ ++ return type->size > 2 * __SIZEOF_POINTER__; ++} ++ ++/* Perform machine dependent cif processing */ ++ffi_status ffi_prep_cif_machdep(ffi_cif *cif) { ++ cif->riscv_nfixedargs = cif->nargs; ++ return FFI_OK; ++} ++ ++/* Perform machine dependent cif processing when we have a variadic function */ ++ ++ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs) { ++ cif->riscv_nfixedargs = nfixedargs; ++ return FFI_OK; ++} ++ ++/* Low level routine for calling functions */ ++extern void ffi_call_asm(void *stack, struct call_context *regs, void (*fn)(void)) FFI_HIDDEN; ++ ++void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) ++{ ++ /* this is a conservative estimate, assuming a complex return value and ++ that all remaining arguments are long long / __int128 */ ++ size_t arg_bytes = cif->nargs <= 3 ? 0 : ++ ALIGN(2 * sizeof(size_t) * (cif->nargs - 3), STKALIGN); ++ size_t rval_bytes = 0; ++ if (rvalue == NULL && cif->rtype->size > 2*__SIZEOF_POINTER__) ++ rval_bytes = ALIGN(cif->rtype->size, STKALIGN); ++ size_t alloc_size = arg_bytes + rval_bytes + sizeof(call_context); ++ ++ /* the assembly code will deallocate all stack data at lower addresses ++ than the argument region, so we need to allocate the frame and the ++ return value after the arguments in a single allocation */ ++ size_t alloc_base; ++ /* Argument region must be 16-byte aligned */ ++ if (_Alignof(max_align_t) >= STKALIGN) { ++ /* since sizeof long double is normally 16, the compiler will ++ guarantee alloca alignment to at least that much */ ++ alloc_base = (size_t)alloca(alloc_size); ++ } else { ++ alloc_base = ALIGN(alloca(alloc_size + STKALIGN - 1), STKALIGN); ++ } ++ ++ if (rval_bytes) ++ rvalue = (void*)(alloc_base + arg_bytes); ++ ++ call_builder cb; ++ cb.used_float = cb.used_integer = 0; ++ cb.aregs = (call_context*)(alloc_base + arg_bytes + rval_bytes); ++ cb.used_stack = (void*)alloc_base; ++ ++ int return_by_ref = passed_by_ref(&cb, cif->rtype, 0); ++ if (return_by_ref) ++ marshal(&cb, &ffi_type_pointer, 0, &rvalue); ++ ++ int i; ++ for (i = 0; i < cif->nargs; i++) ++ marshal(&cb, cif->arg_types[i], i >= cif->riscv_nfixedargs, avalue[i]); ++ ++ ffi_call_asm((void*)alloc_base, cb.aregs, fn); ++ ++ cb.used_float = cb.used_integer = 0; ++ if (!return_by_ref && rvalue) ++ unmarshal(&cb, cif->rtype, 0, rvalue); ++} ++ ++extern void ffi_closure_asm(void) FFI_HIDDEN; ++ ++ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data, void *codeloc) ++{ ++ uint32_t *tramp = (uint32_t *) &closure->tramp[0]; ++ uint64_t fn = (uint64_t) (uintptr_t) ffi_closure_asm; ++ ++ if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI) ++ return FFI_BAD_ABI; ++ ++ /* we will call ffi_closure_inner with codeloc, not closure, but as long ++ as the memory is readable it should work */ ++ ++ tramp[0] = 0x00000317; /* auipc t1, 0 (i.e. t0 <- codeloc) */ ++#if __SIZEOF_POINTER__ == 8 ++ tramp[1] = 0x01033383; /* ld t2, 16(t1) */ ++#else ++ tramp[1] = 0x01032383; /* lw t2, 16(t1) */ ++#endif ++ tramp[2] = 0x00038067; /* jr t2 */ ++ tramp[3] = 0x00000013; /* nop */ ++ tramp[4] = fn; ++ tramp[5] = fn >> 32; ++ ++ closure->cif = cif; ++ closure->fun = fun; ++ closure->user_data = user_data; ++ ++ __builtin___clear_cache(codeloc, codeloc + FFI_TRAMPOLINE_SIZE); ++ ++ return FFI_OK; ++} ++ ++/* Called by the assembly code with aregs pointing to saved argument registers ++ and stack pointing to the stacked arguments. Return values passed in ++ registers will be reloaded from aregs. */ ++void FFI_HIDDEN ffi_closure_inner(size_t *stack, call_context *aregs, ffi_closure *closure) { ++ ffi_cif *cif = closure->cif; ++ void **avalue = alloca(cif->nargs * sizeof(void*)); ++ /* storage for arguments which will be copied by unmarshal(). We could ++ theoretically avoid the copies in many cases and use at most 128 bytes ++ of memory, but allocating disjoint storage for each argument is ++ simpler. */ ++ char *astorage = alloca(cif->nargs * MAXCOPYARG); ++ void *rvalue; ++ call_builder cb; ++ int return_by_ref; ++ int i; ++ ++ cb.aregs = aregs; ++ cb.used_integer = cb.used_float = 0; ++ cb.used_stack = stack; ++ ++ return_by_ref = passed_by_ref(&cb, cif->rtype, 0); ++ if (return_by_ref) ++ unmarshal(&cb, &ffi_type_pointer, 0, &rvalue); ++ else ++ rvalue = alloca(cif->rtype->size); ++ ++ for (i = 0; i < cif->nargs; i++) ++ avalue[i] = unmarshal(&cb, cif->arg_types[i], ++ i >= cif->riscv_nfixedargs, astorage + i*MAXCOPYARG); ++ ++ (closure->fun)(cif, rvalue, avalue, closure->user_data); ++ ++ if (!return_by_ref && cif->rtype->type != FFI_TYPE_VOID) { ++ cb.used_integer = cb.used_float = 0; ++ marshal(&cb, cif->rtype, 0, rvalue); ++ } ++} +diff --git a/src/riscv/ffitarget.h b/src/riscv/ffitarget.h +new file mode 100644 +index 0000000..fcaa899 +--- /dev/null ++++ b/src/riscv/ffitarget.h +@@ -0,0 +1,68 @@ ++/* -----------------------------------------------------------------*-C-*- ++ ffitarget.h - 2014 Michael Knyszek ++ ++ Target configuration macros for RISC-V. ++ ++ Permission is hereby granted, free of charge, to any person obtaining ++ a copy of this software and associated documentation files (the ++ ``Software''), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, sublicense, and/or sell copies of the Software, and to ++ permit persons to whom the Software is furnished to do so, subject to ++ the following conditions: ++ ++ The above copyright notice and this permission notice shall be included ++ in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ++ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ DEALINGS IN THE SOFTWARE. ++ ++ ----------------------------------------------------------------------- */ ++ ++#ifndef LIBFFI_TARGET_H ++#define LIBFFI_TARGET_H ++ ++#ifndef LIBFFI_H ++#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." ++#endif ++ ++#ifndef __riscv ++#error "libffi was configured for a RISC-V target but this does not appear to be a RISC-V compiler." ++#endif ++ ++#ifndef LIBFFI_ASM ++ ++typedef unsigned long ffi_arg; ++typedef signed long ffi_sarg; ++ ++/* FFI_UNUSED_NN and riscv_unused are to maintain ABI compatibility with a ++ distributed Berkeley patch from 2014, and can be removed at SONAME bump */ ++typedef enum ffi_abi { ++ FFI_FIRST_ABI = 0, ++ FFI_SYSV, ++ FFI_UNUSED_1, ++ FFI_UNUSED_2, ++ FFI_UNUSED_3, ++ FFI_LAST_ABI, ++ ++ FFI_DEFAULT_ABI = FFI_SYSV ++} ffi_abi; ++ ++#endif /* LIBFFI_ASM */ ++ ++/* ---- Definitions for closures ----------------------------------------- */ ++ ++#define FFI_CLOSURES 1 ++#define FFI_TRAMPOLINE_SIZE 24 ++#define FFI_NATIVE_RAW_API 0 ++#define FFI_EXTRA_CIF_FIELDS unsigned riscv_nfixedargs; unsigned riscv_unused; ++#define FFI_TARGET_SPECIFIC_VARIADIC ++ ++#endif ++ +diff --git a/src/riscv/sysv.S b/src/riscv/sysv.S +new file mode 100644 +index 0000000..2d09865 +--- /dev/null ++++ b/src/riscv/sysv.S +@@ -0,0 +1,214 @@ ++/* ----------------------------------------------------------------------- ++ ffi.c - Copyright (c) 2015 Michael Knyszek ++ 2015 Andrew Waterman ++ 2018 Stef O'Rear ++ ++ RISC-V Foreign Function Interface ++ ++ Permission is hereby granted, free of charge, to any person obtaining ++ a copy of this software and associated documentation files (the ++ ``Software''), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, sublicense, and/or sell copies of the Software, and to ++ permit persons to whom the Software is furnished to do so, subject to ++ the following conditions: ++ ++ The above copyright notice and this permission notice shall be included ++ in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ++ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ DEALINGS IN THE SOFTWARE. ++ ----------------------------------------------------------------------- */ ++ ++#define LIBFFI_ASM ++#include ++#include ++ ++/* Define aliases so that we can handle all ABIs uniformly */ ++ ++#if __SIZEOF_POINTER__ == 8 ++#define PTRS 8 ++#define LARG ld ++#define SARG sd ++#else ++#define PTRS 4 ++#define LARG lw ++#define SARG sw ++#endif ++ ++#if __riscv_float_abi_double ++#define FLTS 8 ++#define FLARG fld ++#define FSARG fsd ++#elif __riscv_float_abi_single ++#define FLTS 4 ++#define FLARG flw ++#define FSARG fsw ++#else ++#define FLTS 0 ++#endif ++ ++#define fp s0 ++ ++ .text ++ .globl ffi_call_asm ++ .type ffi_call_asm, @function ++ .hidden ffi_call_asm ++/* ++ struct call_context { ++ floatreg fa[8]; ++ intreg a[8]; ++ intreg pad[rv32 ? 2 : 0]; ++ intreg save_fp, save_ra; ++ } ++ void ffi_call_asm(size_t *stackargs, struct call_context *regargs, ++ void (*fn)(void)); ++*/ ++ ++#define FRAME_LEN (8 * FLTS + 8 * PTRS + 16) ++ ++ffi_call_asm: ++ .cfi_startproc ++ ++ /* ++ We are NOT going to set up an ordinary stack frame. In order to pass ++ the stacked args to the called function, we adjust our stack pointer to ++ a0, which is in the _caller's_ alloca area. We establish our own stack ++ frame at the end of the call_context. ++ ++ Anything below the arguments will be freed at this point, although we ++ preserve the call_context so that it can be read back in the caller. ++ */ ++ ++ .cfi_def_cfa 11, FRAME_LEN # interim CFA based on a1 ++ SARG fp, FRAME_LEN - 2*PTRS(a1) ++ .cfi_offset 8, -2*PTRS ++ SARG ra, FRAME_LEN - 1*PTRS(a1) ++ .cfi_offset 1, -1*PTRS ++ ++ addi fp, a1, FRAME_LEN ++ mv sp, a0 ++ .cfi_def_cfa 8, 0 # our frame is fully set up ++ ++ # Load arguments ++ mv t1, a2 ++ ++#if FLTS ++ FLARG fa0, -FRAME_LEN+0*FLTS(fp) ++ FLARG fa1, -FRAME_LEN+1*FLTS(fp) ++ FLARG fa2, -FRAME_LEN+2*FLTS(fp) ++ FLARG fa3, -FRAME_LEN+3*FLTS(fp) ++ FLARG fa4, -FRAME_LEN+4*FLTS(fp) ++ FLARG fa5, -FRAME_LEN+5*FLTS(fp) ++ FLARG fa6, -FRAME_LEN+6*FLTS(fp) ++ FLARG fa7, -FRAME_LEN+7*FLTS(fp) ++#endif ++ ++ LARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp) ++ LARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp) ++ LARG a2, -FRAME_LEN+8*FLTS+2*PTRS(fp) ++ LARG a3, -FRAME_LEN+8*FLTS+3*PTRS(fp) ++ LARG a4, -FRAME_LEN+8*FLTS+4*PTRS(fp) ++ LARG a5, -FRAME_LEN+8*FLTS+5*PTRS(fp) ++ LARG a6, -FRAME_LEN+8*FLTS+6*PTRS(fp) ++ LARG a7, -FRAME_LEN+8*FLTS+7*PTRS(fp) ++ ++ /* Call */ ++ jalr t1 ++ ++ /* Save return values - only a0/a1 (fa0/fa1) are used */ ++#if FLTS ++ FSARG fa0, -FRAME_LEN+0*FLTS(fp) ++ FSARG fa1, -FRAME_LEN+1*FLTS(fp) ++#endif ++ ++ SARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp) ++ SARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp) ++ ++ /* Restore and return */ ++ addi sp, fp, -FRAME_LEN ++ .cfi_def_cfa 2, FRAME_LEN ++ LARG ra, -1*PTRS(fp) ++ .cfi_restore 1 ++ LARG fp, -2*PTRS(fp) ++ .cfi_restore 8 ++ ret ++ .cfi_endproc ++ .size ffi_call_asm, .-ffi_call_asm ++ ++ ++/* ++ ffi_closure_asm. Expects address of the passed-in ffi_closure in t1. ++ void ffi_closure_inner(size_t *stackargs, struct call_context *regargs, ++ ffi_closure *closure); ++*/ ++ ++ .globl ffi_closure_asm ++ .hidden ffi_closure_asm ++ .type ffi_closure_asm, @function ++ffi_closure_asm: ++ .cfi_startproc ++ ++ addi sp, sp, -FRAME_LEN ++ .cfi_def_cfa_offset FRAME_LEN ++ ++ /* make a frame */ ++ SARG fp, FRAME_LEN - 2*PTRS(sp) ++ .cfi_offset 8, -2*PTRS ++ SARG ra, FRAME_LEN - 1*PTRS(sp) ++ .cfi_offset 1, -1*PTRS ++ addi fp, sp, FRAME_LEN ++ ++ /* save arguments */ ++#if FLTS ++ FSARG fa0, 0*FLTS(sp) ++ FSARG fa1, 1*FLTS(sp) ++ FSARG fa2, 2*FLTS(sp) ++ FSARG fa3, 3*FLTS(sp) ++ FSARG fa4, 4*FLTS(sp) ++ FSARG fa5, 5*FLTS(sp) ++ FSARG fa6, 6*FLTS(sp) ++ FSARG fa7, 7*FLTS(sp) ++#endif ++ ++ SARG a0, 8*FLTS+0*PTRS(sp) ++ SARG a1, 8*FLTS+1*PTRS(sp) ++ SARG a2, 8*FLTS+2*PTRS(sp) ++ SARG a3, 8*FLTS+3*PTRS(sp) ++ SARG a4, 8*FLTS+4*PTRS(sp) ++ SARG a5, 8*FLTS+5*PTRS(sp) ++ SARG a6, 8*FLTS+6*PTRS(sp) ++ SARG a7, 8*FLTS+7*PTRS(sp) ++ ++ /* enter C */ ++ addi a0, sp, FRAME_LEN ++ mv a1, sp ++ mv a2, t1 ++ ++ call ffi_closure_inner ++ ++ /* return values */ ++#if FLTS ++ FLARG fa0, 0*FLTS(sp) ++ FLARG fa1, 1*FLTS(sp) ++#endif ++ ++ LARG a0, 8*FLTS+0*PTRS(sp) ++ LARG a1, 8*FLTS+1*PTRS(sp) ++ ++ /* restore and return */ ++ LARG ra, FRAME_LEN-1*PTRS(sp) ++ .cfi_restore 1 ++ LARG fp, FRAME_LEN-2*PTRS(sp) ++ .cfi_restore 8 ++ addi sp, sp, FRAME_LEN ++ .cfi_def_cfa_offset 0 ++ ret ++ .cfi_endproc ++ .size ffi_closure_asm, .-ffi_closure_asm diff --git a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb b/poky/meta/recipes-support/libffi/libffi_3.2.1.bb index a0b1fcd16..792a1143b 100644 --- a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/poky/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -12,10 +12,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b" SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ file://not-win32.patch \ - file://0001-mips-Use-compiler-internal-define-for-linux.patch \ + file://0001-mips-Use-compiler-internal-define-for-linux.patch \ file://0001-mips-fix-MIPS-softfloat-build-issue.patch \ file://0001-libffi-Support-musl-x32-build.patch \ - " + file://0001-New-RISC-V-port-281.patch \ + " SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43" SRC_URI[sha256sum] = "d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37" diff --git a/poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch b/poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch new file mode 100644 index 000000000..89b647ddb --- /dev/null +++ b/poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch @@ -0,0 +1,124 @@ +From e03553605b45c88f0b4b2980adfbbb8f6fca2fd6 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Sun, 24 Mar 2019 09:51:39 +0100 +Subject: Fix security framework bypass + +xsltCheckRead and xsltCheckWrite return -1 in case of error but callers +don't check for this condition and allow access. With a specially +crafted URL, xsltCheckRead could be tricked into returning an error +because of a supposedly invalid URL that would still be loaded +succesfully later on. + +Fixes #12. + +Thanks to Felix Wilhelm for the report. + +Signed-off-by: Adrian Bunk +Upstream-Status: Backport +CVE: CVE-2019-11068 +--- + libxslt/documents.c | 18 ++++++++++-------- + libxslt/imports.c | 9 +++++---- + libxslt/transform.c | 9 +++++---- + libxslt/xslt.c | 9 +++++---- + 4 files changed, 25 insertions(+), 20 deletions(-) + +diff --git a/libxslt/documents.c b/libxslt/documents.c +index 3f3a7312..4aad11bb 100644 +--- a/libxslt/documents.c ++++ b/libxslt/documents.c +@@ -296,10 +296,11 @@ xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) { + int res; + + res = xsltCheckRead(ctxt->sec, ctxt, URI); +- if (res == 0) { +- xsltTransformError(ctxt, NULL, NULL, +- "xsltLoadDocument: read rights for %s denied\n", +- URI); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(ctxt, NULL, NULL, ++ "xsltLoadDocument: read rights for %s denied\n", ++ URI); + return(NULL); + } + } +@@ -372,10 +373,11 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) { + int res; + + res = xsltCheckRead(sec, NULL, URI); +- if (res == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsltLoadStyleDocument: read rights for %s denied\n", +- URI); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsltLoadStyleDocument: read rights for %s denied\n", ++ URI); + return(NULL); + } + } +diff --git a/libxslt/imports.c b/libxslt/imports.c +index 874870cc..3783b247 100644 +--- a/libxslt/imports.c ++++ b/libxslt/imports.c +@@ -130,10 +130,11 @@ xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) { + int secres; + + secres = xsltCheckRead(sec, NULL, URI); +- if (secres == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsl:import: read rights for %s denied\n", +- URI); ++ if (secres <= 0) { ++ if (secres == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsl:import: read rights for %s denied\n", ++ URI); + goto error; + } + } +diff --git a/libxslt/transform.c b/libxslt/transform.c +index 13793914..0636dbd0 100644 +--- a/libxslt/transform.c ++++ b/libxslt/transform.c +@@ -3493,10 +3493,11 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node, + */ + if (ctxt->sec != NULL) { + ret = xsltCheckWrite(ctxt->sec, ctxt, filename); +- if (ret == 0) { +- xsltTransformError(ctxt, NULL, inst, +- "xsltDocumentElem: write rights for %s denied\n", +- filename); ++ if (ret <= 0) { ++ if (ret == 0) ++ xsltTransformError(ctxt, NULL, inst, ++ "xsltDocumentElem: write rights for %s denied\n", ++ filename); + xmlFree(URL); + xmlFree(filename); + return; +diff --git a/libxslt/xslt.c b/libxslt/xslt.c +index 780a5ad7..a234eb79 100644 +--- a/libxslt/xslt.c ++++ b/libxslt/xslt.c +@@ -6763,10 +6763,11 @@ xsltParseStylesheetFile(const xmlChar* filename) { + int res; + + res = xsltCheckRead(sec, NULL, filename); +- if (res == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsltParseStylesheetFile: read rights for %s denied\n", +- filename); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsltParseStylesheetFile: read rights for %s denied\n", ++ filename); + return(NULL); + } + } +-- +2.20.1 + diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb index 462eccf52..6320a821d 100644 --- a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb +++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb @@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = "file://Copyright;md5=0cd9a07afbeb24026c9b03aecfeba458" SECTION = "libs" DEPENDS = "libxml2" -SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz" +SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz \ + file://0001-Fix-security-framework-bypass.patch \ +" SRC_URI[md5sum] = "b3bd254a03e46d58f8ad1e4559cd2c2f" SRC_URI[sha256sum] = "8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch deleted file mode 100644 index 06d1d9436..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 06ba71887f667d45dd231a782a2751f36e8fe025 Mon Sep 17 00:00:00 2001 -From: Christopher Larson -Date: Mon, 15 Feb 2016 15:59:58 -0700 -Subject: [PATCH 1/4] If the libc is lacking argp, use libargp - -Patch pulled from Gentoo: - - On glibc systems, argp is provided by libc. However, on - uclibc and other systems which lack argp in their C library, - argp might be provided by a stand alone library, libargp. - This patch adds tests to the build system to find who provides - argp. - - X-Gentoo-Bug: 292191 - X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=292191 - Reported-by: Ed Wildgoose - Signed-off-by: Anthony G. Basile - -Upstream-Status: Pending -Signed-off-by: Christopher Larson ---- - configure.ac | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 4e799dc..c4a5dd8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -135,6 +135,28 @@ AS_IF( - ] - ) - -+dnl First check if we have argp available from libc -+AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM( -+ [#include ], -+ [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;] -+ )], -+ [libc_has_argp="true"], -+ [libc_has_argp="false"] -+) -+ -+dnl If libc doesn't provide argp, then test for libargp -+if test "$libc_has_argp" = "false" ; then -+ AC_MSG_WARN("libc does not have argp") -+ AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"]) -+ -+ if test "$have_argp" = "false"; then -+ AC_MSG_ERROR("no libargp found") -+ else -+ LIBS+=" -largp" -+ fi -+fi -+ - dnl ----------------- - dnl Configure options - dnl ----------------- --- -2.7.4 - diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch deleted file mode 100644 index d4d28a01c..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 99b0efebd765803203686d89bc4f995bcb103e78 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Sat, 10 Nov 2018 09:53:19 +0800 -Subject: [PATCH] configure.ac: fix typo - -Upstream-Status: Submitted [https://github.com/nhorman/rng-tools.git] -Signed-off-by: Hongxu Jia ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 4e799dc..0251928 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -62,7 +62,7 @@ AS_IF([test $target_cpu = powerpc64le], [AC_DEFINE([HAVE_DARN],1,[Enable DARN])] - AM_CONDITIONAL([JITTER], [false]) - - AC_ARG_ENABLE(jitterentropy, -- AS_HELP_STRING([--disable-jitterntropy | --enable-jitterentropy=], -+ AS_HELP_STRING([--disable-jitterentropy | --enable-jitterentropy=], - [Disable jitterentropy source, or specify its location]), - [if [ test -d $enable_jitterentropy ]; then - export LDFLAGS+=-L$enable_jitterentropy; --- -2.7.4 - diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch deleted file mode 100644 index be60fe97f..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 711e2f76890e3c5b08f64859d9fd913ddbec7d50 Mon Sep 17 00:00:00 2001 -From: Christopher Larson -Date: Mon, 22 Oct 2018 15:26:47 +0800 -Subject: [PATCH 2/4] Add argument to control the libargp dependency - -This ensures that the builds are always deterministic. If the argument isn't -passed, the default behavior is to use libargp if the libc doesn't have argp. - -Upstream-Status: Pending -Signed-off-by: Christopher Larson - -Rebase to 6.6 -Signed-off-by: Hongxu Jia ---- - configure.ac | 55 ++++++++++++++++++++++++++++++++++++------------------- - 1 file changed, 36 insertions(+), 19 deletions(-) - -diff --git a/configure.ac b/configure.ac -index c4a5dd8..dd1c30f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -40,6 +40,13 @@ AC_ARG_WITH([nistbeacon], - [with_nistbeacon=check] - ) - -+AC_ARG_WITH([libargp], -+ AS_HELP_STRING([--without-libargp], -+ [Disable libargp support. Systems whose libc lacks argp can use libargp instead. (Default: check if libc lacks argp)]), -+ [with_libargp=$withval], -+ [with_libargp=check] -+) -+ - dnl Make sure anyone changing configure.ac/Makefile.am has a clue - AM_MAINTAINER_MODE - AM_PROG_AS -@@ -135,27 +142,37 @@ AS_IF( - ] - ) - --dnl First check if we have argp available from libc --AC_LINK_IFELSE( -- [AC_LANG_PROGRAM( -- [#include ], -- [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;] -- )], -- [libc_has_argp="true"], -- [libc_has_argp="false"] -+dnl Determine if we need libargp: either user requested, or libc has no argp -+AS_IF( -+ [test "x$with_libargp" != "xyes"], -+ [ -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM( -+ [#include ], -+ [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;] -+ )], -+ [need_libargp=no], -+ [need_libargp=yes -+ if test "x$with_libargp" = "xno"; then -+ AC_MSG_FAILURE([libargp disabled and libc does not have argp]) -+ fi] -+ ) -+ ], -+ [need_libargp=yes], - ) - --dnl If libc doesn't provide argp, then test for libargp --if test "$libc_has_argp" = "false" ; then -- AC_MSG_WARN("libc does not have argp") -- AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"]) -- -- if test "$have_argp" = "false"; then -- AC_MSG_ERROR("no libargp found") -- else -- LIBS+=" -largp" -- fi --fi -+dnl Check for libargp -+AS_IF( -+ [test "x$need_libargp" = "xyes"], -+ [ -+ AC_CHECK_LIB( -+ [argp], -+ [argp_parse], -+ [LIBS="$LIBS -largp"], -+ [AC_MSG_FAILURE([libargp not found])] -+ ) -+ ] -+) - - dnl ----------------- - dnl Configure options --- -2.7.4 - diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch b/poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch new file mode 100644 index 000000000..58cf3f9d5 --- /dev/null +++ b/poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch @@ -0,0 +1,25 @@ +It fails to stop rngd. It just shows warnings when stop rngd such as by: + +$ systemctl stop rngd.service + +but stalls shutdown untill daemon rngd is killed. + +Backport patch to fix the issue. + +Upstream-Status: Backport [https://bugzilla.redhat.com/show_bug.cgi?id=1690364#c8] + +Signed-off-by: Kai Kang +--- +diff --git a/rngd_jitter.c b/rngd_jitter.c +index 54070ae..7a69bf9 100644 +--- a/rngd_jitter.c ++++ b/rngd_jitter.c +@@ -280,7 +280,7 @@ static void *thread_entropy_task(void *data) + + /* Write to pipe */ + written = 0; +- while(written != me->buf_sz) { ++ while(me->active && written != me->buf_sz) { + message(LOG_DAEMON|LOG_DEBUG, "Writing to pipe\n"); + ret = write(me->pipe_fd, &tmpbuf[written], me->buf_sz - written); + message(LOG_DAEMON|LOG_DEBUG, "DONE Writing to pipe with return %ld\n", ret); diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch b/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch deleted file mode 100644 index 614adab27..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch +++ /dev/null @@ -1,114 +0,0 @@ -From d8b1bb8edd99b2898720b4f10d292a67d532db48 Mon Sep 17 00:00:00 2001 -From: "Francisco Blas Izquierdo Riera (klondike)" -Date: Mon, 22 Oct 2018 15:29:36 +0800 -Subject: [PATCH 4/4] Fix assemby textrels on rdrand_asm.S on PIC x86 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch updates the fixes in the assembly in rdrand_asm.S in -sys-apps/rng-tools-5 so it won't generate textrels on PIC systems. -The main fixes are in the use of leal in SETPTR for such systems, the rest is -the usual PIC support stuff. - -This should fix Gentoo bug #469962 and help fix #518210 - -This patch is released under the GPLv2 or a higher version license as is the -original file as long as the author and the tester are credited. - -Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=469962 -Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=518210 -Signed-off-by: Francisco Blas Izquierdo Riera (klondike) -Reported-by: cilly -Reported-by: Manuel Rüger -Tested-by: Anthony Basile - -Upstream-Status: Pending ---- - rdrand_asm.S | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -diff --git a/rdrand_asm.S b/rdrand_asm.S -index b5d260a..7811cf2 100644 ---- a/rdrand_asm.S -+++ b/rdrand_asm.S -@@ -2,6 +2,7 @@ - * Copyright (c) 2011-2014, Intel Corporation - * Authors: Fenghua Yu , - * H. Peter Anvin -+ * PIC code by: Francisco Blas Izquierdo Riera (klondike) - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, -@@ -172,7 +173,19 @@ ENTRY(x86_rdseed_or_rdrand_bytes) - jmp 4b - ENDPROC(x86_rdseed_or_rdrand_bytes) - -+#if defined(__PIC__) -+#define INIT_PIC() \ -+ pushl %ebx ; \ -+ call __x86.get_pc_thunk.bx ; \ -+ addl $_GLOBAL_OFFSET_TABLE_, %ebx -+#define END_PIC() \ -+ popl %ebx -+#define SETPTR(var,ptr) leal (var)@GOTOFF(%ebx),ptr -+#else -+#define INIT_PIC() -+#define END_PIC() - #define SETPTR(var,ptr) movl $(var),ptr -+#endif - #define PTR0 %eax - #define PTR1 %edx - #define PTR2 %ecx -@@ -188,6 +201,7 @@ ENTRY(x86_aes_mangle) - movl 8(%ebp), %eax - movl 12(%ebp), %edx - push %esi -+ INIT_PIC() - #endif - movl $512, CTR3 /* Number of rounds */ - -@@ -278,6 +292,7 @@ offset = offset + 16 - movdqa %xmm7, (7*16)(PTR1) - - #ifdef __i386__ -+ END_PIC() - pop %esi - pop %ebp - #endif -@@ -292,6 +307,7 @@ ENTRY(x86_aes_expand_key) - push %ebp - mov %esp, %ebp - movl 8(%ebp), %eax -+ INIT_PIC() - #endif - - SETPTR(aes_round_keys, PTR1) -@@ -321,6 +337,7 @@ ENTRY(x86_aes_expand_key) - call 1f - - #ifdef __i386__ -+ END_PIC() - pop %ebp - #endif - ret -@@ -341,6 +358,16 @@ ENTRY(x86_aes_expand_key) - - ENDPROC(x86_aes_expand_key) - -+#if defined(__i386__) && defined(__PIC__) -+ .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat -+ .globl __x86.get_pc_thunk.bx -+ .hidden __x86.get_pc_thunk.bx -+ .type __x86.get_pc_thunk.bx, @function -+__x86.get_pc_thunk.bx: -+ movl (%esp), %ebx -+ ret -+#endif -+ - .bss - .balign 64 - aes_round_keys: --- -2.7.4 - diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch b/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch deleted file mode 100644 index aa4bbcb34..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 03fe7efa1bc04a83fb9b6787998e7baa7ee90646 Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Mon, 22 Oct 2018 15:27:41 +0800 -Subject: [PATCH 3/4] Fix underquoted m4 entry. This causes a failure if gcrypt - isn't present: - -| configure: libgcrypt support disabled -| ../rng-tools-5/configure: line 4345: ac_fn_c_try_link: command not found -| configure: error: in `/media/build1/poky/build/tmp/work/i586-poky-linux/rng-tools/5-r0/build': - -RP -2016/2/16 - -Upstream-Status: Pending - -Rebase to 6.6 -Signed-off-by: Hongxu Jia ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index dd1c30f..88d2be3 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -124,7 +124,7 @@ AS_IF( - [test "x$with_libgcrypt" != "xno"], - [ - AC_CHECK_HEADER([gcrypt.h], -- AC_CHECK_LIB( -+ [AC_CHECK_LIB( - [gcrypt], - [gcry_check_version], , - [ -@@ -133,7 +133,7 @@ AS_IF( - AC_MSG_NOTICE([libgcrypt support disabled]) - fi - ] -- ), -+ )], - [if test "x$with_libgcrypt" != "xcheck"; then - AC_MSG_FAILURE([libgcrypt headers not found]); else - AC_MSG_NOTICE([libgcrypt support disabled]) --- -2.7.4 - diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb deleted file mode 100644 index b0afa4b0e..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "Random number generator daemon" -DESCRIPTION = "Check and feed random data from hardware device to kernel" -AUTHOR = "Philipp Rumpf, Jeff Garzik , \ - Henrique de Moraes Holschuh " -HOMEPAGE = "https://github.com/nhorman/rng-tools" -BUGTRACKER = "https://github.com/nhorman/rng-tools/issues" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "sysfsutils" - -SRC_URI = "\ - git://github.com/nhorman/rng-tools.git \ - file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \ - file://0002-Add-argument-to-control-the-libargp-dependency.patch \ - file://underquote.patch \ - file://rng-tools-5-fix-textrels-on-PIC-x86.patch \ - file://0001-configure.ac-fix-typo.patch \ - file://init \ - file://default \ - file://rngd.service \ -" -SRCREV = "4ebc21d6f387bb7b4b3f6badc429e27b21c0a6ee" - -S = "${WORKDIR}/git" - -inherit autotools update-rc.d systemd pkgconfig - -PACKAGECONFIG ??= "libgcrypt libjitterentropy" -PACKAGECONFIG_libc-musl = "libargp libjitterentropy" - -PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," -PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt," -PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" -PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl" - -INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." - -SYSTEMD_SERVICE_${PN} = "rngd.service" - -# Refer autogen.sh in rng-tools -do_configure_prepend() { - cp ${S}/README.md ${S}/README -} - -do_install_append() { - install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools - install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools - install -Dm 0644 ${WORKDIR}/rngd.service \ - ${D}${systemd_system_unitdir}/rngd.service - sed -i \ - -e 's,@SYSCONFDIR@,${sysconfdir},' \ - -e 's,@SBINDIR@,${sbindir},' \ - ${D}${sysconfdir}/init.d/rng-tools \ - ${D}${systemd_system_unitdir}/rngd.service -} diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb new file mode 100644 index 000000000..aeb558b2b --- /dev/null +++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb @@ -0,0 +1,53 @@ +SUMMARY = "Random number generator daemon" +DESCRIPTION = "Check and feed random data from hardware device to kernel" +AUTHOR = "Philipp Rumpf, Jeff Garzik , \ + Henrique de Moraes Holschuh " +HOMEPAGE = "https://github.com/nhorman/rng-tools" +BUGTRACKER = "https://github.com/nhorman/rng-tools/issues" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "sysfsutils" + +SRC_URI = "\ + git://github.com/nhorman/rng-tools.git \ + file://fix-rngd-fail-to-stop.patch \ + file://init \ + file://default \ + file://rngd.service \ +" +SRCREV = "9fc873c5af0e392632e6b736938b811f7ca97251" + +S = "${WORKDIR}/git" + +inherit autotools update-rc.d systemd pkgconfig + +PACKAGECONFIG ??= "libgcrypt libjitterentropy" +PACKAGECONFIG_libc-musl = "libargp libjitterentropy" + +PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," +PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt," +PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" +PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl" +PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl" + +INITSCRIPT_NAME = "rng-tools" +INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." + +SYSTEMD_SERVICE_${PN} = "rngd.service" + +# Refer autogen.sh in rng-tools +do_configure_prepend() { + cp ${S}/README.md ${S}/README +} + +do_install_append() { + install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools + install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools + install -Dm 0644 ${WORKDIR}/rngd.service \ + ${D}${systemd_system_unitdir}/rngd.service + sed -i \ + -e 's,@SYSCONFDIR@,${sysconfdir},' \ + -e 's,@SBINDIR@,${sbindir},' \ + ${D}${sysconfdir}/init.d/rng-tools \ + ${D}${systemd_system_unitdir}/rngd.service +} diff --git a/poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch b/poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch new file mode 100644 index 000000000..91640d604 --- /dev/null +++ b/poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch @@ -0,0 +1,71 @@ +stop scons trying to create directories in hosts rootfs + +* since 1522f09a4d serf: cleanup recipe + serf.do_install fails in builds with multilib enabled (with + libdir=/usr/lib64 on host where /usr/lib64 doesn't exist) + +DEBUG: Executing shell function do_install +scons: Reading SConscript files ... +PermissionError: [Errno 13] Permission denied: '/usr/lib64': + File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/serf-1.3.9/SConstruct", line 158: + ENV = os.environ, + File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Environment.py", line 965: + variables.Update(self) + File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Variables/__init__.py", line 227: + option.validator(option.key, env.subst('${%s}'%option.key), env) + File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/serf-1.3.9/SConstruct", line 60: + return PathVariable.PathIsDirCreate(key, val, env) + File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Variables/PathVariable.py", line 101: + os.makedirs(val) + File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/lib/python3.7/os.py", line 221: + mkdir(name, mode) +ERROR: scons install execution failed. + +* I don't know how exactly --install-sandbox is supposed to work but + in this case it's trying to mkdir /usr/lib64 on the host rootfs + which is clearly wrong and if I set LIBDIR together with + --install-sandbox then the install paths are prefixed with $D twice + in some cases (not for includedir and empty libdir at the end). + So in the end I think it was an issue caused by the custom path + validator in serf's SConstruct, removing that stops touching host + and the installed paths (including the paths inside libserf*.pc) + look correct + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa + +--- serf-1.3.9/SConstruct 2019-06-18 15:49:19.968961108 +0000 ++++ serf-1.3.9b/SConstruct 2019-06-18 18:53:21.412337151 +0000 +@@ -51,17 +51,6 @@ + """ + return (key, '%s' % (help), default, None, lambda val: _converter(val)) + +-# Custom path validator, creates directory when a specified option is set. +-# To be used to ensure a PREFIX directory is only created when installing. +-def createPathIsDirCreateWithTarget(target): +- def my_validator(key, val, env): +- build_targets = (map(str, BUILD_TARGETS)) +- if target in build_targets: +- return PathVariable.PathIsDirCreate(key, val, env) +- else: +- return PathVariable.PathAccept(key, val, env) +- return my_validator +- + # default directories + if sys.platform == 'win32': + default_incdir='..' +@@ -77,11 +66,11 @@ + PathVariable('PREFIX', + 'Directory to install under', + default_prefix, +- createPathIsDirCreateWithTarget('install')), ++ PathVariable.PathAccept), + PathVariable('LIBDIR', + 'Directory to install architecture dependent libraries under', + default_libdir, +- createPathIsDirCreateWithTarget('install')), ++ PathVariable.PathAccept), + PathVariable('APR', + "Path to apr-1-config, or to APR's install area", + default_incdir, diff --git a/poky/meta/recipes-support/serf/serf_1.3.9.bb b/poky/meta/recipes-support/serf/serf_1.3.9.bb index 92cd5ca06..dd4133a45 100644 --- a/poky/meta/recipes-support/serf/serf_1.3.9.bb +++ b/poky/meta/recipes-support/serf/serf_1.3.9.bb @@ -6,6 +6,7 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://0002-SConstruct-Fix-path-quoting-for-.def-generator.patch \ file://0003-gen_def.patch \ file://0004-Follow-up-to-r1811083-fix-building-with-scons-3.0.0-.patch \ + file://SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch \ " SRC_URI[md5sum] = "370a6340ff20366ab088012cd13f2b57" diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py index d87db1f1b..5cc5c8a6b 100644 --- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -55,8 +55,10 @@ class BootimgEFIPlugin(SourcePlugin): if not bootimg_dir: raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting") - cp_cmd = "cp %s/%s %s" % (bootimg_dir, initrd, hdddir) - exec_cmd(cp_cmd, True) + initrds = initrd.split(';') + for rd in initrds: + cp_cmd = "cp %s/%s %s" % (bootimg_dir, rd, hdddir) + exec_cmd(cp_cmd, True) else: logger.debug("Ignoring missing initrd") @@ -84,7 +86,11 @@ class BootimgEFIPlugin(SourcePlugin): % (kernel, label_conf, bootloader.append) if initrd: - grubefi_conf += "initrd /%s\n" % initrd + initrds = initrd.split(';') + grubefi_conf += "initrd" + for rd in initrds: + grubefi_conf += " /%s" % rd + grubefi_conf += "\n" grubefi_conf += "}\n" @@ -119,8 +125,10 @@ class BootimgEFIPlugin(SourcePlugin): if not bootimg_dir: raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting") - cp_cmd = "cp %s/%s %s" % (bootimg_dir, initrd, hdddir) - exec_cmd(cp_cmd, True) + initrds = initrd.split(';') + for rd in initrds: + cp_cmd = "cp %s/%s %s" % (bootimg_dir, rd, hdddir) + exec_cmd(cp_cmd, True) else: logger.debug("Ignoring missing initrd") @@ -164,7 +172,9 @@ class BootimgEFIPlugin(SourcePlugin): (label_conf, bootloader.append) if initrd: - boot_conf += "initrd /%s\n" % initrd + initrds = initrd.split(';') + for rd in initrds: + boot_conf += "initrd /%s\n" % rd logger.debug("Writing systemd-boot config " "%s/hdd/boot/loader/entries/boot.conf", cr_workdir) -- cgit v1.2.3 From c8f4712845034714fed763414987305bacafe1fd Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Mon, 24 Jun 2019 09:36:18 -0400 Subject: subtree updates poky: 50d272863d..0b3e371116: Alistair Francis (1): recipes-bsp/opensbi: Fix the u-boot payload name Changqing Li (2): update-rc.d: update SRCREV and license checksum update-rc.d: support enable/disable options Chen Qi (2): context.py: avoid skipping tests by meaningless command argument oeqa: avoid class setup method to run when skipping the whole class Joe Slater (1): glib-2.0: Fix CVE-2019-12450 Jonathan Rajotte (1): lttng-tools: update to 2.10.7 Joseph Reynolds (1): dropbear: new feature: disable-weak-ciphers Joshua Watt (4): perl: Improve ptest package reproducibility python3: Reformat sysconfig perl: Reproducible build fixes bash: Remove .build files for reproducible builds Martin Jansa (1): gcc-runtime.inc: create the correct directory before creating the symlinks in it Ricardo Ribalda Delgado (1): go: avoid host contamination by GOCACHE Ross Burton (1): pigz: bump alternative priority Tim Orling (1): ptest-packagelists.inc: add libmodule-build-perl-ptest meta-openembedded: 3b245e4fe8..64974b8779: Adrian Bunk (9): libauthen-radius-perl: Remove manual RDEPENDS from PN-ptest to PN package network-manager-applet: Remove obsolete dbus-glib and libnm-glib dependencies ndctl: Remove the unnecessary dependency on virtual/kernel tipcutils: Remove the unnecessary dependency on virtual/kernel xl2tpd: Remove the old 1.3.6 version gpsd: Force using python-scons-native for now efibootmgr: Remove, was moved to oe-core efivar: Remove, was moved to oe-core wireless-regdb: Remove, was moved to oe-core Andrey Zhizhikin (1): cpuburn-arm: add aarch64 machine and build configuration Ankit Navik (1): safec: Add Safe C license Bartosz Golaszewski (1): libgpiod: upgrade to v1.4 Hongxu Jia (1): dracut: fix generated initramfs boot failure under bash 5 Kai Kang (1): xfce4-screensaver: 0.1.4 -> 0.1.5 Khem Raj (5): stressapptest: Fix build with libc++ stressapptest: Implement reading sysfs and use it if sysconf is not there stressapptest: Use git SHA instead of git archive gmime: Add recipe pidgin-sipe: Depend on gmime Maciej Pijanowski (1): recipes-benchmark/stressapptest_1.0.9.bb: add recipe Mingli Yu (3): mariadb: Upgrade to 10.3.16 mozjs: Fix do_patch error for mips64-n32 python-lxml: replace -Og with -O for mips64-32 Naveen Saini (1): pm-graph: fix multilib build failure Nicola Lunghi (1): libp11: No need to delete *.la anymore Oleksandr Kravchuk (1): openconnect: update to 8.03 Pascal Bach (3): protobuf: 3.6.1 -> 3.8.0 protobuf-c: add patch for protobuf 3 compatibility python3-protobuf, python-protobuf: 3.6.1 -> 3.8.0 Persian Prince (1): blueman_%.bbappend: Avoid PAK archive (application/x-pak) Saikiran Madugula (1): gitver: Pass git directory argument to gitrev_run Tim Orling (1): libmodule-build-perl: drop, has moved to oe-core Yi Zhao (1): snort: upgrade 2.9.11.1 -> 2.9.13 Zang Ruochen (3): python-twisted: upgrade 19.2.0 -> 19.2.1 python-wrapt: upgrade 1.11.1 -> 1.11.2 python-certifi: upgrade 2019.3.9 -> 2019.6.16 Change-Id: I0c3385628e0382c56c94fa27ba4d14e301c2e558 Signed-off-by: Brad Bishop --- .../network-manager-applet_1.8.20.bb | 5 +- .../networkmanager/networkmanager_%.bbappend | 3 - .../dracut/0001-set-viriable-_drv-not-local.patch | 69 +++ .../recipes-devtools/dracut/dracut_git.bb | 1 + .../openconnect/openconnect_8.03.bb | 31 ++ .../openconnect/openconnect_git.bb | 33 -- ...le-run-test-program-while-cross-compiling.patch | 4 +- .../recipes-connectivity/snort/snort/snort.init | 53 +- .../recipes-connectivity/snort/snort_2.9.11.1.bb | 103 ---- .../recipes-connectivity/snort/snort_2.9.13.bb | 104 ++++ .../wireless-regdb/wireless-regdb_2019.06.03.bb | 42 -- .../packagegroups/packagegroup-meta-networking.bb | 1 - .../recipes-protocols/xl2tpd/xl2tpd.inc | 39 -- .../recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb | 41 +- .../recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb | 7 - meta-openembedded/meta-oe/classes/gitver.bbclass | 2 +- meta-openembedded/meta-oe/conf/layer.conf | 6 - meta-openembedded/meta-oe/licenses/safec | 26 + .../recipes-benchmark/cpuburn/cpuburn-arm_git.bb | 32 +- .../stressapptest/libcplusplus-compat.patch | 28 + .../stressapptest/read_sysfs_for_cachesize.patch | 72 +++ .../stressapptest/stressapptest_1.0.9.bb | 21 + .../recipes-bsp/efibootmgr/efibootmgr_17.bb | 28 - .../efibootmgr/files/0001-remove-extra-decl.patch | 31 -- .../efivar/0001-efivar-fix-for-cross-compile.patch | 32 -- .../0004-fix-unknow-option-for-gold-linker.patch | 35 -- .../allow-multi-definitions-for-native.patch | 36 -- .../meta-oe/recipes-bsp/efivar/efivar_37.bb | 43 -- .../meta-oe/recipes-core/ndctl/ndctl_v63.bb | 5 +- .../recipes-dbs/mysql/mariadb-native_10.3.15.bb | 20 - .../recipes-dbs/mysql/mariadb-native_10.3.16.bb | 20 + .../meta-oe/recipes-dbs/mysql/mariadb.inc | 8 +- .../meta-oe/recipes-dbs/mysql/mariadb_10.3.15.bb | 27 - .../meta-oe/recipes-dbs/mysql/mariadb_10.3.16.bb | 27 + .../protobuf-c/protobuf3-compatibility.patch | 55 ++ .../recipes-devtools/protobuf/protobuf-c_1.3.1.bb | 4 +- ...s-map_util.h-to-list-of-installed-headers.patch | 52 ++ .../recipes-devtools/protobuf/protobuf_3.6.1.bb | 93 ---- .../recipes-devtools/protobuf/protobuf_3.8.0.bb | 92 ++++ ...1-fix-compiling-failure-on-mips64-n32-bsp.patch | 36 +- .../recipes-extended/tipcutils/tipcutils_git.bb | 4 - .../0001-Makefile-fix-multilib-build-failure.patch | 89 +++ .../recipes-kernel/pm-graph/pm-graph_5.3.bb | 5 +- .../meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb | 4 + .../recipes-support/libgpiod/libgpiod_1.3.bb | 20 - .../recipes-support/libgpiod/libgpiod_1.4.bb | 20 + .../recipes-support/libp11/libp11_0.4.10.bb | 1 - .../recipes-support/pidgin/gmime/iconv-detect.h | 5 + .../recipes-support/pidgin/gmime/nodolt.patch | 10 + .../meta-oe/recipes-support/pidgin/gmime_3.2.3.bb | 23 + .../recipes-support/pidgin/pidgin-sipe_1.24.0.bb | 4 +- .../libauthen/libauthen-radius-perl_0.22.bb | 2 +- .../libmodule/libmodule-build-perl_0.4224.bb | 34 -- .../recipes-devtools/python/python-certifi.inc | 4 +- .../python/python-certifi_2019.3.9.bb | 2 - .../python/python-certifi_2019.6.16.bb | 2 + .../recipes-devtools/python/python-lxml.inc | 12 + .../recipes-devtools/python/python-protobuf.inc | 4 +- .../python/python-protobuf_3.6.1.bb | 2 - .../python/python-protobuf_3.8.0.bb | 2 + .../recipes-devtools/python/python-twisted.inc | 4 +- .../python/python-twisted_19.2.0.bb | 8 - .../python/python-twisted_19.2.1.bb | 8 + .../recipes-devtools/python/python-wrapt.inc | 4 +- .../recipes-devtools/python/python-wrapt_1.11.1.bb | 2 - .../recipes-devtools/python/python-wrapt_1.11.2.bb | 2 + .../python/python3-certifi_2019.3.9.bb | 2 - .../python/python3-certifi_2019.6.16.bb | 2 + .../0001-Add-Python-3.7-compatibility-4862.patch | 98 ---- .../python/python3-protobuf_3.6.1.bb | 11 - .../python/python3-protobuf_3.8.0.bb | 10 + .../python/python3-twisted_19.2.0.bb | 65 --- .../python/python3-twisted_19.2.1.bb | 65 +++ .../python/python3-wrapt_1.11.1.bb | 2 - .../python/python3-wrapt_1.11.2.bb | 2 + .../xfce4-screensaver/fix-pam-config.patch | 14 + .../xfce4-screensaver/xfce4-screensaver_0.1.4.bb | 19 - .../xfce4-screensaver/xfce4-screensaver_0.1.5.bb | 26 + .../blueman/blueman_%.bbappend | 1 + poky/meta/classes/go.bbclass | 1 + poky/meta/classes/update-rc.d.bbclass | 28 +- .../conf/distro/include/ptest-packagelists.inc | 1 + poky/meta/lib/oeqa/core/case.py | 2 + poky/meta/lib/oeqa/core/context.py | 10 +- poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc | 2 +- poky/meta/recipes-core/dropbear/dropbear.inc | 6 +- .../dropbear/dropbear-disable-weak-ciphers.patch | 44 ++ .../glib-2.0/glib-2.0/CVE-2019-12450.patch | 62 +++ poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb | 1 + .../recipes-core/update-rc.d/update-rc.d_0.8.bb | 4 +- poky/meta/recipes-devtools/gcc/gcc-runtime.inc | 2 +- poky/meta/recipes-devtools/go/go-cross.inc | 1 + poky/meta/recipes-devtools/go/go-runtime.inc | 1 + poky/meta/recipes-devtools/go/go-target.inc | 1 + ...environment-variable-to-suppress-comments.patch | 30 + .../perl/files/0002-Constant-Fix-up-shebang.patch | 32 ++ poky/meta/recipes-devtools/perl/perl-ptest.inc | 9 +- poky/meta/recipes-devtools/perl/perl_5.30.0.bb | 5 + .../python/python3/reformat_sysconfig.py | 21 + poky/meta/recipes-devtools/python/python3_3.7.3.bb | 7 + poky/meta/recipes-extended/bash/bash.inc | 6 + poky/meta/recipes-extended/pigz/pigz_2.4.bb | 2 +- ...ts-link-libpause_consumer-on-liblttng-ctl.patch | 35 -- .../0001-Skip-when-testapp-is-not-present.patch | 610 +++++++++++++++++++++ ...for-lttng-modules-presence-before-testing.patch | 24 + ...ip-test_getcpu_override-on-single-thread-.patch | 52 -- ...it-the-tree-origin-can-be-a-symlink-itsel.patch | 80 --- .../0004-Skip-when-testapp-is-not-present.patch | 610 --------------------- ...odprobe-to-test-for-the-presence-of-lttng.patch | 176 ------ ...06-Tests-check-for-lttng-modules-presence.patch | 28 - ...ix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch | 347 ------------ ...for-lttng-modules-presence-before-testing.patch | 24 - .../recipes-kernel/lttng/lttng-tools_2.10.6.bb | 168 ------ .../recipes-kernel/lttng/lttng-tools_2.10.7.bb | 162 ++++++ 114 files changed, 2072 insertions(+), 2483 deletions(-) delete mode 100644 meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend create mode 100644 meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.06.03.bb delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb create mode 100644 meta-openembedded/meta-oe/licenses/safec create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb delete mode 100644 meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch delete mode 100644 meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch delete mode 100644 meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch delete mode 100644 meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.15.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.16.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.15.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.16.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/gmime/iconv-detect.h create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/gmime/nodolt.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.3.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.3.9.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.6.16.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.8.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.3.9.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.6.16.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.8.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.2.bb create mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.4.bb create mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.5.bb create mode 100644 poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch create mode 100644 poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch create mode 100644 poky/meta/recipes-devtools/perl/files/0002-Constant-Fix-up-shebang.patch create mode 100644 poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch create mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch create mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb (limited to 'poky/meta') diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb index 7181f5ecf..80aafc870 100644 --- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb +++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb @@ -2,7 +2,7 @@ SUMMARY = "GTK+ applet for NetworkManager" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -DEPENDS = "gtk+3 libnotify libsecret networkmanager dbus-glib \ +DEPENDS = "gtk+3 libnotify libsecret networkmanager \ gconf libgnome-keyring iso-codes nss \ intltool-native \ " @@ -34,14 +34,13 @@ do_configure_append() { GI_DATA_ENABLED_libc-musl = "False" do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/src/libnma/.libs:${B}/src/libnm-gtk/.libs" + export GIR_EXTRA_LIBS_PATH="${B}/src/libnma/.libs" } RDEPENDS_${PN} =+ "networkmanager" FILES_${PN} += " \ ${datadir}/nm-applet/ \ - ${datadir}/libnm-gtk/wifi.ui \ ${datadir}/libnma/wifi.ui \ ${datadir}/metainfo \ " diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend b/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend deleted file mode 100644 index 1abb5bbcd..000000000 --- a/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -# networkmanager-applet requires glib support -PACKAGECONFIG_append = " glib" - diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch new file mode 100644 index 000000000..13d2cfa87 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch @@ -0,0 +1,69 @@ +From 6e0da103effe64832eea52fad5c44a328f7141b7 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jun 2019 17:31:11 +0800 +Subject: [PATCH] set viriable _drv not local + +If shebang is set to /bin/sh and /bin/sh is a symlink to /bin/bash, +bash turn on posix mode. + +Since bash is upgraded to 5.0, it follows 'IEEE 1003.2 POSIX Shell +Standard', to implement 'functions do not have local traps or options, +and it is not possible to define local variables' + +For more detail, see variables.c:push_posix_temp_var in the following commit +http://git.savannah.gnu.org/cgit/bash.git/commit/?id=d233b485e83c3a784b803fb894280773f16f2deb + +The IEEE 1003.2 POSIX Shell Standard: +https://www.cs.ait.ac.th/~on/O/oreilly/unix/ksh/appa_02.htm + +While /bin/sh points to bash 5.0, it caused the following issue: + +$ cat <case.sh +fsck_drv_com(){ + echo "issuing \$_drv" +} + +fsck_able() { + _drv="_drv=e2fsck fsck_drv_com" +} + +fsck_single() { + local _drv + fsck_able + eval "\$_drv" +} +fsck_single +ENDOF +$ chmod a+x case.sh + +Unexpected: +$ ./cash.sh +issuing _drv=e2fsck fsck_drv_com + +Set viriable _drv not local, get expected result: +$ ./case.sh +issuing e2fsck + +Upstream-Status: Submitted [https://github.com/dracutdevs/dracut/pull/587] + +Signed-off-by: Hongxu Jia +--- + modules.d/99fs-lib/fs-lib.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh +index d39ca1b..60877ee 100755 +--- a/modules.d/99fs-lib/fs-lib.sh ++++ b/modules.d/99fs-lib/fs-lib.sh +@@ -142,7 +142,7 @@ fsck_single() { + local _fs="${2:-auto}" + local _fsopts="$3" + local _fop="$4" +- local _drv ++ _drv="" + + [ $# -lt 2 ] && return 255 + # if UUID= marks more than one device, take only the first one +-- +2.7.4 + diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb index 344dfecbb..13cf5f6de 100644 --- a/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb +++ b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb @@ -13,6 +13,7 @@ SRCREV = "225e4b94cbdb702cf512490dcd2ad9ca5f5b22c1" SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \ file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \ file://0001-dracut.sh-improve-udevdir.patch \ + file://0001-set-viriable-_drv-not-local.patch \ " DEPENDS += "kmod" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb new file mode 100644 index 000000000..ec36a375a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb @@ -0,0 +1,31 @@ +SUMMARY = "Open client for Cisco AnyConnect VPN" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad" + +SRC_URI = "git://git.infradead.org/users/dwmw2/openconnect.git" +SRCREV = "ea73851969ae7a6ea54fdd2d2b8c94776af24b2a" + +DEPENDS = "vpnc libxml2 krb5 gettext-native" +RDEPENDS_${PN} = "bash python" + +PACKAGECONFIG ??= "gnutls lz4 libproxy" + +# config defaults +PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls," +PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," +PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy," + +# not config defaults +PACKAGECONFIG[pcsc-lite] = "--with-libpcsclite,--without-libpcsclite,pcsc-lite," + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +EXTRA_OECONF += "--with-vpnc-script=${SYSROOT_DESTDIR}${sysconfdir}/vpnc/vpnc-script \ + --disable-static" + +do_configure_append() { + # script has /usr/bin/python2 path hardcoded + sed -i -e 's=python2\.*=python=g' ${S}/trojans/tncc-wrapper.py +} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb deleted file mode 100644 index 050a2833c..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Open client for Cisco AnyConnect VPN" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad" - -SRC_URI = "git://git.infradead.org/users/dwmw2/openconnect.git" -SRCREV = "6487ee8763e1b6345718684909aca970befbc49d" - -DEPENDS = "vpnc libxml2 krb5 gettext-native" -RDEPENDS_${PN} = "bash python" - -PACKAGECONFIG ??= "gnutls lz4 libproxy" - -# config defaults -PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls," -PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," -PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy," - -# not config defaults -PACKAGECONFIG[pcsc-lite] = "--with-libpcsclite,--without-libpcsclite,pcsc-lite," - -PV = "8.02" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -EXTRA_OECONF += "--with-vpnc-script=${SYSROOT_DESTDIR}${sysconfdir}/vpnc/vpnc-script \ - --disable-static" - -do_configure_append() { - # script has /usr/bin/python2 path hardcoded - sed -i -e 's=python2\.*=python=g' ${S}/trojans/tncc-wrapper.py -} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch index 037962fb6..30ec17439 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch @@ -226,7 +226,7 @@ index 4b3a5db..a6c5498 100644 -]])], -[have_daq_packet_trace="yes"], -[have_daq_packet_trace="no"]) -+have_daq_packet_trace="yes" ++have_daq_packet_trace="no" AC_MSG_RESULT($have_daq_packet_trace) if test "x$have_daq_packet_trace" = "xyes"; then AC_DEFINE([HAVE_DAQ_PKT_TRACE],[1], @@ -245,7 +245,7 @@ index 4b3a5db..a6c5498 100644 -]])], -[have_daq_verdict_reason="yes"], -[have_daq_verdict_reason="no"]) -+have_daq_verdict_reason="yes" ++have_daq_verdict_reason="no" AC_MSG_RESULT($have_daq_verdict_reason) if test "x$have_daq_verdict_reason" = "xyes"; then AC_DEFINE([HAVE_DAQ_VERDICT_REASON],[1], diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init index d8a00c43f..0d90c9af0 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init +++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init @@ -1,6 +1,6 @@ #!/bin/sh # -# Snort Startup Script modified for OpenEmbedded +# Snort Startup Script modified for OpenEmbedded # # Script variables @@ -30,16 +30,16 @@ fi start() { - [ -n "$LAN_INTERFACE" ] || return 0 # Check if log diratory is present. Otherwise, create it. if [ ! -d $LOGDIR/$DATE ]; then - mkdir -d $LOGDIR/$DATE + mkdir -p $LOGDIR/$DATE /bin/chown -R $USER:$USER $LOGDIR/$DATE - /bin/chmod -R 700 $LOGDIR/$DATE + /bin/chmod -R 700 $LOGDIR/$DATE fi /bin/echo "Starting $PROG: " + # Snort parameters # -D Run Snort in background (daemon) mode # -i Listen on interface @@ -64,7 +64,7 @@ stop() RETURN_VAL=$? /bin/echo "$PROG shutdown complete." [ -e $DEL_PID ] && rm -f $DEL_PID - [ -e $DEL_PID.lck ] && rm -f $DEL_PID.lck + [ -e $DEL_PID.lck ] && rm -f $DEL_PID.lck else /bin/echo "ERROR: PID in $PID file not found." RETURN_VAL=1 @@ -72,12 +72,13 @@ stop() return $RETURN_VAL } -status() { - if [ -s $PID ]; then - echo "$PROG is running as pid `cat $PID`:" - else - echo "$PROG is not running." - fi +status() +{ + if [ -s $PID ]; then + echo "$PROG is running as pid `cat $PID`:" + else + echo "$PROG is not running." + fi } restart() @@ -89,21 +90,21 @@ restart() } case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status - ;; - restart|reload) - restart - ;; - *) - /bin/echo "Usage: $0 {start|stop|status|restart|reload}" - RETURN_VAL=1 + start) + start + ;; + stop) + stop + ;; + status) + status + ;; + restart|reload) + restart + ;; + *) + /bin/echo "Usage: $0 {start|stop|status|restart|reload}" + RETURN_VAL=1 esac exit $RETURN_VAL diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb deleted file mode 100644 index c2eb95fe7..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb +++ /dev/null @@ -1,103 +0,0 @@ -DESCRIPTION = "snort - a free lightweight network intrusion detection system for UNIX and Windows." -HOMEPAGE = "http://www.snort.org/" -SECTION = "net" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5" - -DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native libtirpc bison-native" - -SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \ - file://snort.init \ - file://0001-libpcap-search-sysroot-for-headers.patch \ - file://fix-host-contamination-when-enable-static-daq.patch \ - file://disable-run-test-program-while-cross-compiling.patch \ -" - -SRC_URI[md5sum] = "378e3938b2b5c8e358f942d0ffce18cc" -SRC_URI[sha256sum] = "9f6b3aeac5a109f55504bd370564ac431cb1773507929dc461626898f33f46cd" - -UPSTREAM_CHECK_URI = "https://www.snort.org/downloads" -UPSTREAM_CHECK_REGEX = "snort-(?P\d+(\.\d+)+)\.tar" - -inherit autotools gettext update-rc.d pkgconfig - -INITSCRIPT_NAME = "snort" -INITSCRIPT_PARAMS = "defaults" - -EXTRA_OECONF = " \ - --enable-gre \ - --enable-linux-smp-stats \ - --enable-reload \ - --enable-reload-error-restart \ - --enable-targetbased \ - --enable-static-daq \ - --with-dnet-includes=${STAGING_INCDIR} \ - --with-dnet-libraries=${STAGING_LIBDIR} \ - --with-libpcre-includes=${STAGING_INCDIR} \ - --with-libpcre-libraries=${STAGING_LIBDIR} \ - --with-daq-includes=${STAGING_INCDIR} \ - --with-daq-libraries=${STAGING_LIBDIR} \ -" - -# if you want to disable it, you need to patch configure.in first -# AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no") -# is called even with --without-openssl-includes -PACKAGECONFIG ?= "openssl lzma" -PACKAGECONFIG[openssl] = "--with-openssl-includes=${STAGING_INCDIR} --with-openssl-libraries=${STAGING_LIBDIR}, --without-openssl-includes --without-openssl-libraries, openssl," -PACKAGECONFIG[lzma] = "--with-lzma-includes=${STAGING_INCDIR} --with-lzma-libraries=${STAGING_LIBDIR}, --without-lzma-includes --without-lzma-libraries, xz," - -CFLAGS += "-I${STAGING_INCDIR}/tirpc" -LDFLAGS += " -ltirpc" - -do_install_append() { - install -d ${D}${sysconfdir}/snort/rules - install -d ${D}${sysconfdir}/snort/preproc_rules - install -d ${D}${sysconfdir}/init.d - for i in map config conf dtd; do - cp ${S}/etc/*.$i ${D}${sysconfdir}/snort/ - done - - # fix the hardcoded path and lib name - # comment out the rules that are not provided - sed -i -e 's#/usr/local/lib#${libdir}#' \ - -e 's#\.\./\(.*rules\)#${sysconfdir}/snort/\1#' \ - -e 's#\(libsf_engine.so\)#\1.0#' \ - -e 's/^\(include $RULE_PATH\)/#\1/' \ - -e 's/^\(dynamicdetection\)/#\1/' \ - -e '/preprocessor reputation/,/blacklist/ s/^/#/' \ - ${D}${sysconfdir}/snort/snort.conf - - cp ${S}/preproc_rules/*.rules ${D}${sysconfdir}/snort/preproc_rules/ - install -m 755 ${WORKDIR}/snort.init ${D}${sysconfdir}/init.d/snort - mkdir -p ${D}${localstatedir}/log/snort - install -d ${D}/var/log/snort - - sed -i -e 's|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc -} - -FILES_${PN} += " \ - ${libdir}/snort_dynamicengine/*.so.* \ - ${libdir}/snort_dynamicpreprocessor/*.so.* \ - ${libdir}/snort_dynamicrules/*.so.* \ -" -FILES_${PN}-dbg += " \ - ${libdir}/snort_dynamicengine/.debug \ - ${libdir}/snort_dynamicpreprocessor/.debug \ - ${libdir}/snort_dynamicrules/.debug \ -" -FILES_${PN}-staticdev += " \ - ${libdir}/snort_dynamicengine/*.a \ - ${libdir}/snort_dynamicpreprocessor/*.a \ - ${libdir}/snort_dynamicrules/*.a \ - ${libdir}/snort/dynamic_preproc/*.a \ - ${libdir}/snort/dynamic_output/*.a \ -" -FILES_${PN}-dev += " \ - ${libdir}/snort_dynamicengine/*.la \ - ${libdir}/snort_dynamicpreprocessor/*.la \ - ${libdir}/snort_dynamicrules/*.la \ - ${libdir}/snort_dynamicengine/*.so \ - ${libdir}/snort_dynamicpreprocessor/*.so \ - ${libdir}/snort_dynamicrules/*.so \ - ${prefix}/src/snort_dynamicsrc \ -" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb new file mode 100644 index 000000000..1b10dbde1 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb @@ -0,0 +1,104 @@ +DESCRIPTION = "snort - a free lightweight network intrusion detection system for UNIX and Windows." +HOMEPAGE = "http://www.snort.org/" +SECTION = "net" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5" + +DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native libtirpc bison-native" + +SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \ + file://snort.init \ + file://0001-libpcap-search-sysroot-for-headers.patch \ + file://fix-host-contamination-when-enable-static-daq.patch \ + file://disable-run-test-program-while-cross-compiling.patch \ +" + +SRC_URI[md5sum] = "b61ae846af022018b05511076baad60c" +SRC_URI[sha256sum] = "31447393d15286b848810dd78ab2cb3ad231fcd1f1663f959587690eeea75413" + +UPSTREAM_CHECK_URI = "https://www.snort.org/downloads" +UPSTREAM_CHECK_REGEX = "snort-(?P\d+(\.\d+)+)\.tar" + +inherit autotools gettext update-rc.d pkgconfig + +INITSCRIPT_NAME = "snort" +INITSCRIPT_PARAMS = "defaults" + +EXTRA_OECONF = " \ + --enable-gre \ + --enable-linux-smp-stats \ + --enable-reload \ + --enable-reload-error-restart \ + --enable-targetbased \ + --enable-static-daq \ + --with-dnet-includes=${STAGING_INCDIR} \ + --with-dnet-libraries=${STAGING_LIBDIR} \ + --with-libpcre-includes=${STAGING_INCDIR} \ + --with-libpcre-libraries=${STAGING_LIBDIR} \ + --with-daq-includes=${STAGING_INCDIR} \ + --with-daq-libraries=${STAGING_LIBDIR} \ +" + +# if you want to disable it, you need to patch configure.in first +# AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no") +# is called even with --without-openssl-includes +PACKAGECONFIG ?= "openssl lzma" +PACKAGECONFIG[openssl] = "--with-openssl-includes=${STAGING_INCDIR} --with-openssl-libraries=${STAGING_LIBDIR}, --without-openssl-includes --without-openssl-libraries, openssl," +PACKAGECONFIG[lzma] = "--with-lzma-includes=${STAGING_INCDIR} --with-lzma-libraries=${STAGING_LIBDIR}, --without-lzma-includes --without-lzma-libraries, xz," +PACKAGECONFIG[appid] = "--enable-open-appid, --disable-open-appid, luajit, bash" + +CFLAGS += "-I${STAGING_INCDIR}/tirpc" +LDFLAGS += " -ltirpc" + +do_install_append() { + install -d ${D}${sysconfdir}/snort/rules + install -d ${D}${sysconfdir}/snort/preproc_rules + install -d ${D}${sysconfdir}/init.d + for i in map config conf dtd; do + cp ${S}/etc/*.$i ${D}${sysconfdir}/snort/ + done + + # fix the hardcoded path and lib name + # comment out the rules that are not provided + sed -i -e 's#/usr/local/lib#${libdir}#' \ + -e 's#\.\./\(.*rules\)#${sysconfdir}/snort/\1#' \ + -e 's#\(libsf_engine.so\)#\1.0#' \ + -e 's/^\(include $RULE_PATH\)/#\1/' \ + -e 's/^\(dynamicdetection\)/#\1/' \ + -e '/preprocessor reputation/,/blacklist/ s/^/#/' \ + ${D}${sysconfdir}/snort/snort.conf + + cp ${S}/preproc_rules/*.rules ${D}${sysconfdir}/snort/preproc_rules/ + install -m 755 ${WORKDIR}/snort.init ${D}${sysconfdir}/init.d/snort + mkdir -p ${D}${localstatedir}/log/snort + install -d ${D}/var/log/snort + + sed -i -e 's|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc +} + +FILES_${PN} += " \ + ${libdir}/snort_dynamicengine/*.so.* \ + ${libdir}/snort_dynamicpreprocessor/*.so.* \ + ${libdir}/snort_dynamicrules/*.so.* \ +" +FILES_${PN}-dbg += " \ + ${libdir}/snort_dynamicengine/.debug \ + ${libdir}/snort_dynamicpreprocessor/.debug \ + ${libdir}/snort_dynamicrules/.debug \ +" +FILES_${PN}-staticdev += " \ + ${libdir}/snort_dynamicengine/*.a \ + ${libdir}/snort_dynamicpreprocessor/*.a \ + ${libdir}/snort_dynamicrules/*.a \ + ${libdir}/snort/dynamic_preproc/*.a \ + ${libdir}/snort/dynamic_output/*.a \ +" +FILES_${PN}-dev += " \ + ${libdir}/snort_dynamicengine/*.la \ + ${libdir}/snort_dynamicpreprocessor/*.la \ + ${libdir}/snort_dynamicrules/*.la \ + ${libdir}/snort_dynamicengine/*.so \ + ${libdir}/snort_dynamicpreprocessor/*.so \ + ${libdir}/snort_dynamicrules/*.so \ + ${prefix}/src/snort_dynamicsrc \ +" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.06.03.bb b/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.06.03.bb deleted file mode 100644 index ded44b3d4..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.06.03.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Wireless Central Regulatory Domain Database" -HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA" -SECTION = "net" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" - -SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" -SRC_URI[md5sum] = "4b5ba3f089db7fdb7b9daae6a7c1f2cb" -SRC_URI[sha256sum] = "cd917ed86b63ce8d93947979f1f18948f03a4ac0ad89ec25227b36ac00dc54bf" - -inherit bin_package allarch - -do_install() { - install -d -m0755 ${D}${nonarch_libdir}/crda - install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys - install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin - install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem - - install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db - install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s -} - -# Install static regulatory DB in /lib/firmware for kernel to load. -# This requires Linux kernel >= v4.15. -# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass in kernel's recipe. -PACKAGES =+ "${PN}-static" -RCONFLICTS_${PN} = "${PN}-static" - -FILES_${PN}-static = " \ - ${nonarch_base_libdir}/firmware/regulatory.db \ - ${nonarch_base_libdir}/firmware/regulatory.db.p7s \ -" - -# Native users might want to use the source of regulatory DB. -# This is for example used by Linux kernel <= v4.14 and kernel_wireless_regdb.bbclass. -do_install_append_class-native() { - install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt -} - -RSUGGESTS_${PN} = "crda" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb index 3770601a4..bbc5e1299 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 @@ -37,7 +37,6 @@ RDEPENDS_packagegroup-meta-networking-connectivity = "\ mbedtls relayd snort dhcpcd rdate vlan vpnc \ inetutils wolfssl lftp miniupnpd networkmanager \ networkmanager-openvpn rdist nanomsg python-networkmanager \ - wireless-regdb \ ${@bb.utils.contains("DISTRO_FEATURES", "bluez5 x11", "blueman", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \ diff --git a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc b/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc deleted file mode 100644 index 43942bcae..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Xelerance version of the Layer 2 Tunneling Protocol (L2TP) daemon" -HOMEPAGE = "http://www.xelerance.com/software/xl2tpd/" -SECTION = "net" -DEPENDS = "ppp virtual/kernel" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/xelerance/xl2tpd.git" - -S = "${WORKDIR}/git" - -inherit update-rc.d - -do_compile () { - oe_runmake CFLAGS="${CFLAGS} -DLINUX" LDFLAGS="${LDFLAGS}" PREFIX="${prefix}" KERNELSRC=${STAGING_KERNEL_DIR} all -} - -do_install () { - oe_runmake PREFIX="${D}${prefix}" install - - install -d ${D}${sysconfdir}/init.d - touch ${D}${sysconfdir}/xl2tpd.conf - install -m 0755 debian/xl2tpd.init ${D}${sysconfdir}/init.d/xl2tpd - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/xl2tpd - sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/xl2tpd - sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/xl2tpd - sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/xl2tpd - - install -d ${D}${sysconfdir}/default - install -m 0644 debian/xl2tpd.default ${D}${sysconfdir}/default/xl2tpd -} - -CONFFILES_${PN} += "${sysconfdir}/xl2tpd.conf ${sysconfdir}/default/xl2tpd" - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME_${PN} = "xl2tpd" diff --git a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb b/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb index f03b537d9..b02e183db 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb @@ -1,5 +1,40 @@ -require xl2tpd.inc +SUMMARY = "Xelerance version of the Layer 2 Tunneling Protocol (L2TP) daemon" +HOMEPAGE = "http://www.xelerance.com/software/xl2tpd/" +SECTION = "net" +DEPENDS = "ppp virtual/kernel" -# This is v1.3.6 plus some commits. There is no tag for this commit. -# +PACKAGE_ARCH = "${MACHINE_ARCH}" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/xelerance/xl2tpd.git" SRCREV = "ba619c79c4790c78c033df0abde4a9a5de744a08" + +S = "${WORKDIR}/git" + +inherit update-rc.d + +do_compile () { + oe_runmake CFLAGS="${CFLAGS} -DLINUX" LDFLAGS="${LDFLAGS}" PREFIX="${prefix}" KERNELSRC=${STAGING_KERNEL_DIR} all +} + +do_install () { + oe_runmake PREFIX="${D}${prefix}" install + + install -d ${D}${sysconfdir}/init.d + touch ${D}${sysconfdir}/xl2tpd.conf + install -m 0755 debian/xl2tpd.init ${D}${sysconfdir}/init.d/xl2tpd + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/xl2tpd + sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/xl2tpd + sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/xl2tpd + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/xl2tpd + + install -d ${D}${sysconfdir}/default + install -m 0644 debian/xl2tpd.default ${D}${sysconfdir}/default/xl2tpd +} + +CONFFILES_${PN} += "${sysconfdir}/xl2tpd.conf ${sysconfdir}/default/xl2tpd" + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME_${PN} = "xl2tpd" diff --git a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb b/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb deleted file mode 100644 index df2ec52c6..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb +++ /dev/null @@ -1,7 +0,0 @@ -require xl2tpd.inc - -# The SRCREV corresponds to v1.3.6. -# Adding tag=v1.3.6 to the SRC_URI will force access to the upstream repo. -# -SRCREV = "5619e1771048e74b729804e8602f409af0f3faea" - diff --git a/meta-openembedded/meta-oe/classes/gitver.bbclass b/meta-openembedded/meta-oe/classes/gitver.bbclass index 07f44c34b..cab850c7a 100644 --- a/meta-openembedded/meta-oe/classes/gitver.bbclass +++ b/meta-openembedded/meta-oe/classes/gitver.bbclass @@ -48,7 +48,7 @@ def get_git_hash(d): srcdir = d.getVar("EXTERNALSRC") or d.getVar("S") gitdir = os.path.abspath(os.path.join(srcdir, ".git")) try: - rev = gitrev_run("git rev-list HEAD -1") + rev = gitrev_run("git rev-list HEAD -1", gitdir) return rev[:7] except Exception as exc: bb.fatal(str(exc)) diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf index 507ac50ec..31f2f17fc 100644 --- a/meta-openembedded/meta-oe/conf/layer.conf +++ b/meta-openembedded/meta-oe/conf/layer.conf @@ -51,12 +51,6 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ phoronix-test-suite->php \ " -# Depends on ndctl (through nvdimm PACKAGECONFIG) which depends on MACHINE_ARCH kernel -# and making libblockdev MACHINE_ARCH is not an option as python3-blivet, udisks2, gvfs -# would be MACHINE_ARCH as well -SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ - libblockdev->ndctl \ -" # ttf.inc inherits fontcache which adds fontconfig-utils to RDEPENDS SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ terminus-font->fontconfig \ diff --git a/meta-openembedded/meta-oe/licenses/safec b/meta-openembedded/meta-oe/licenses/safec new file mode 100644 index 000000000..2bf1e6374 --- /dev/null +++ b/meta-openembedded/meta-oe/licenses/safec @@ -0,0 +1,26 @@ +Safe C Library + +Copyright (C) 2012, 2013 Cisco Systems +Copyright (C) 2017 Reini Urban +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb index 6189da39f..b21212a43 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb +++ b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb @@ -18,21 +18,35 @@ SRC_URI = "git://github.com/ssvb/cpuburn-arm.git \ S = "${WORKDIR}/git" do_compile() { - ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn - ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a7.S -o burn-a7 - ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-a8 - ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a9.S -o burn-a9 - ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53 - ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-krait.S -o burn-krait + + # If the arch is set to ARM 64-bit - we only produce and ship burn-a53 version. + # In case of ARM 32-bit - we would build all variants, since burn-a53 supports both + # 32 and 64-bit builds + if ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'true', 'false', d)}; then + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53 + else + ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a7.S -o burn-a7 + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-a8 + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a9.S -o burn-a9 + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53 + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-krait.S -o burn-krait + fi } do_install() { install -d ${D}${bindir} - for f in burn burn-a7 burn-a8 burn-a9 burn-a53 burn-krait; do - install -m 0755 $f ${D}${bindir}/$f - done + + if ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'true', 'false', d)}; then + install -m 0755 burn-a53 ${D}${bindir} + else + for f in burn burn-a7 burn-a8 burn-a9 burn-a53 burn-krait; do + install -m 0755 $f ${D}${bindir}/$f + done + fi } COMPATIBLE_MACHINE ?= "(^$)" COMPATIBLE_MACHINE_armv7a = "(.*)" COMPATIBLE_MACHINE_armv7ve = "(.*)" +COMPATIBLE_MACHINE_aarch64 = "(.*)" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch new file mode 100644 index 000000000..f5e7da359 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch @@ -0,0 +1,28 @@ +Fix compile on sytems using libc++ instead of libstdc++ + +libc++ does not really implement __gnu_cxx namespace and it +compiles fine without this namespace, therefore detect libc++ +and if it is used them exclude this namespace + +See https://github.com/stressapptest/stressapptest/issues/47 + +Fixes + +./sattypes.h:33:17: error: expected namespace name +using namespace __gnu_cxx; //NOLINT + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +--- stressapptest-1.0.9.orig/src/sattypes.h ++++ stressapptest-1.0.9/src/sattypes.h +@@ -30,7 +30,9 @@ + #include "stressapptest_config_android.h" // NOLINT + #else + #include "stressapptest_config.h" // NOLINT ++#ifndef _LIBCPP_VERSION + using namespace __gnu_cxx; //NOLINT ++#endif // _LIBCPP_VERSION + #endif // __ANDROID__ + using namespace std; + diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch new file mode 100644 index 000000000..8c251aeb9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch @@ -0,0 +1,72 @@ +sysconf params like _SC_LEVEL1_DCACHE_LINESIZE are not universally +implemented, therefore check for them being available, if not there +then read the sysfs directly to get the value + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/src/sat.cc ++++ b/src/sat.cc +@@ -1482,15 +1482,47 @@ int Sat::CpuCount() { + return sysconf(_SC_NPROCESSORS_CONF); + } + ++int Sat::ReadInt(const char *filename, int *value) { ++ char line[64]; ++ int fd = open(filename, O_RDONLY), err = -1; ++ ++ if (fd < 0) ++ return -1; ++ if (read(fd, line, sizeof(line)) > 0) { ++ *value = atoi(line); ++ err = 0; ++ } ++ ++ close(fd); ++ return err; ++} ++ + // Return the worst case (largest) cache line size of the various levels of + // cache actually prsent in the machine. + int Sat::CacheLineSize() { +- int max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); +- int linesize = sysconf(_SC_LEVEL2_CACHE_LINESIZE); ++ int max_linesize, linesize; ++#ifdef _SC_LEVEL1_DCACHE_LINESIZE ++ max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); ++#else ++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", &max_linesize); ++#endif ++#ifdef _SC_LEVEL2_DCACHE_LINESIZE ++ linesize = sysconf(_SC_LEVEL2_DCACHE_LINESIZE); ++#else ++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size", &linesize); ++#endif + if (linesize > max_linesize) max_linesize = linesize; +- linesize = sysconf(_SC_LEVEL3_CACHE_LINESIZE); ++#ifdef _SC_LEVEL3_DCACHE_LINESIZE ++ linesize = sysconf(_SC_LEVEL3_DCACHE_LINESIZE); ++#else ++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size", &linesize); ++#endif + if (linesize > max_linesize) max_linesize = linesize; +- linesize = sysconf(_SC_LEVEL4_CACHE_LINESIZE); ++#ifdef _SC_LEVEL4_DCACHE_LINESIZE ++ linesize = sysconf(_SC_LEVEL4_DCACHE_LINESIZE); ++#else ++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index3/coherency_line_size", &linesize); ++#endif + if (linesize > max_linesize) max_linesize = linesize; + return max_linesize; + } +--- a/src/sat.h ++++ b/src/sat.h +@@ -136,7 +136,8 @@ class Sat { + int CpuCount(); + // Return the worst-case (largest) cache line size of the system. + int CacheLineSize(); +- ++ // Read int values from kernel file system e.g. sysfs ++ int ReadInt(const char *filename, int *value); + // Collect error counts from threads. + int64 GetTotalErrorCount(); + diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb new file mode 100644 index 000000000..a2966e99d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb @@ -0,0 +1,21 @@ +SUMMARY = "Stressful Application Test" +DESCRIPTION = "Stressful Application Test (or stressapptest, its unix name) \ + is a memory interface test. It tries to maximize randomized traffic to memory \ + from processor and I/O, with the intent of creating a realistic high load \ + situation in order to test the existing hardware devices in a computer. \ +" +HOMEPAGE = "https://github.com/stressapptest/stressapptest" +SECTION = "benchmark" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=55ea9d559f985fb4834317d8ed6b9e58" + +SRCREV = "fb72e5e5f0879231f38e0e826a98a6ca2d1ca38e" + +SRC_URI = "git://github.com/stressapptest/stressapptest \ + file://libcplusplus-compat.patch \ + file://read_sysfs_for_cachesize.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb b/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb deleted file mode 100644 index 4edb2e664..000000000 --- a/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb +++ /dev/null @@ -1,28 +0,0 @@ -DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager." -SUMMARY = "EFI Boot Manager" -HOMEPAGE = "https://github.com/rhinstaller/efibootmgr" -SECTION = "base" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" - -DEPENDS = "pciutils zlib efivar" - -COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" - -SRCREV = "e067160ecef8208e1944002e5d50b275733211fb" -SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \ - file://0001-remove-extra-decl.patch \ - " -S = "${WORKDIR}/git" - -inherit pkgconfig - -EXTRA_OEMAKE = "'EFIDIR=/' 'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/include `pkg-config --cflags efivar`'" - -CFLAGS_append_toolchain-clang = " -Wno-error" -do_install () { - install -D -p -m0755 ${B}/src/efibootmgr ${D}/${sbindir}/efibootmgr -} - -CLEANBROKEN = "1" diff --git a/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch b/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch deleted file mode 100644 index 42f3a8182..000000000 --- a/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 99b578501643377e0b1994b2a068b790d189d5ad Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Wed, 13 Jun 2018 09:41:01 -0400 -Subject: [PATCH] remove extra decl - -Signed-off-by: Peter Jones - -Upstream-Status: Backport [git://github.com/rhinstaller/efibootmgr.git] -Signed-off-by: Hongxu Jia - ---- - src/efibootmgr.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/src/efibootmgr.c b/src/efibootmgr.c -index de38f01..4e1a680 100644 ---- a/src/efibootmgr.c -+++ b/src/efibootmgr.c -@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv) - "invalid numeric value %s\n", - optarg); - } -- /* XXX efivar-36 accidentally doesn't have a public -- * header for this */ -- extern int efi_set_verbose(int verbosity, FILE *errlog); - efi_set_verbose(opts.verbose - 2, stderr); - break; - case 'V': --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch b/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch deleted file mode 100644 index 251e50c90..000000000 --- a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a9115d9e6f0f62d6bb735ce3698858d1f89f8d73 Mon Sep 17 00:00:00 2001 -From: Kai Kang -Date: Fri, 25 Sep 2015 18:14:31 +0800 -Subject: [PATCH] efivar: fix for cross compile - -It builds and calls elf file makeguids to generate a header file which -doesn't work for cross compile. Fix it. - -Signed-off-by: Kai Kang - -Upstream-Status: Pending -Signed-off-by: Hongxu Jia - ---- - src/Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile b/src/Makefile -index 0c16597..dcc7fc8 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -40,8 +40,8 @@ abicheck : $(patsubst %.so,%.abicheck,$(LIBTARGETS)) - ./guid-symbols.c : include/efivar/efivar-guids.h - ./guids.bin : include/efivar/efivar-guids.h - ./names.bin : include/efivar/efivar-guids.h --include/efivar/efivar-guids.h : makeguids guids.txt -- ./makeguids guids.txt guids.bin names.bin \ -+include/efivar/efivar-guids.h : guids.txt -+ makeguids guids.txt guids.bin names.bin \ - guid-symbols.c include/efivar/efivar-guids.h - - makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT diff --git a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch b/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch deleted file mode 100644 index 96d0c6b3b..000000000 --- a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch +++ /dev/null @@ -1,35 +0,0 @@ -From b3d35e7dd27a755df5acbe050837885914dbb28b Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Tue, 10 May 2016 11:34:50 -0400 -Subject: [PATCH] fix unknow option for gold linker - -- Revert the following patch, since oe-core work with gcc 5 -... -commit 3055a3797f16693dfdd855fa68bc57fd900dc408 -Author: Peter Jones -Date: Mon Feb 15 14:15:40 2016 -0500 - - Make gcc.specs work with gcc 6 / binutils 2.26 - - Apparently binutils 2.26 gets real picky about "ld -PIC" vs "ld -fPIC". - - Signed-off-by: Peter Jones -... - -- Remove unknown option '--add-needed' - -Signed-off-by: Hongxu Jia ---- - gcc.specs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: git/gcc.specs -=================================================================== ---- git.orig/gcc.specs -+++ git/gcc.specs -@@ -14,4 +14,4 @@ - + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now} - - *link: --+ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:% -Date: Tue, 31 Jul 2018 14:18:35 +0800 -Subject: [PATCH] allow multi definitions for native - -Upstream-Status: Pending - -It fails to create .so file when build efivar-native: - -| lib.o:(*IND*+0x0): multiple definition of `efi_set_variable' -| lib.o:lib.c:(.text+0xa0): first defined here - -Add link option '-z muldefs' to fix it. - -Signed-off-by: Kai Kang - -Signed-off-by: Hongxu Jia ---- - Make.rules | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Make.rules b/Make.rules -index 042585b..257ba45 100644 ---- a/Make.rules -+++ b/Make.rules -@@ -20,6 +20,7 @@ include $(TOPDIR)/Make.version - $(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \ - -Wl,-soname,$@.1 \ - -Wl,--version-script=$(MAP) \ -+ -Wl,-z,muldefs \ - -o $@ $^ $(LDLIBS) - ln -vfs $@ $@.1 - --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb b/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb deleted file mode 100644 index 4b458dedd..000000000 --- a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Tools to manipulate UEFI variables" -DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility" -HOMEPAGE = "https://github.com/rhinstaller/efivar" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393" - -DEPENDS = "popt" -DEPENDS_append_class-target = " efivar-native" - -inherit pkgconfig - -COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" - -SRCREV = "c1d6b10e1ed4ba2be07f385eae5bceb694478a10" -SRC_URI = "git://github.com/rhinstaller/efivar.git \ - file://allow-multi-definitions-for-native.patch \ - " -SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'file://0004-fix-unknow-option-for-gold-linker.patch', '', d)} \ - " - -S = "${WORKDIR}/git" - -do_compile_prepend() { - sed -i -e s:-Werror::g ${S}/gcc.specs -} - -do_compile_class-native() { - oe_runmake -C src makeguids CC_FOR_BUILD="${BUILD_CC}" -} - -do_install() { - oe_runmake install DESTDIR=${D} -} - -do_install_class-native() { - install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids -} - -BBCLASSEXTEND = "native" - -RRECOMMENDS_${PN}_class-target = "kernel-module-efivarfs" diff --git a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb index 61e53029b..2f299b1ba 100644 --- a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb +++ b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb @@ -13,15 +13,12 @@ inherit autotools-brokensep pkgconfig bash-completion systemd SRCREV = "cb2d678dd6d286dd96d31548c32449a8b883ae32" SRC_URI = "git://github.com/pmem/ndctl.git" -DEPENDS = "virtual/kernel kmod udev json-c" +DEPENDS = "kmod udev json-c" S = "${WORKDIR}/git" EXTRA_OECONF += "--enable-test --enable-destructive --disable-docs" -# Depends on MACHINE_ARCH kernel -PACKAGE_ARCH = "${MACHINE_ARCH}" - PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd, systemd" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.15.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.15.bb deleted file mode 100644 index e1a038dfa..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.15.bb +++ /dev/null @@ -1,20 +0,0 @@ -require mariadb.inc -inherit native - -PROVIDES += "mysql5-native" -DEPENDS = "ncurses-native zlib-native bison-native" - -RDEPENDS_${PN} = "" -PACKAGES = "" -EXTRA_OEMAKE = "" - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - install -d ${D}${bindir} - install -m 0755 sql/gen_lex_hash ${D}${bindir}/ - install -m 0755 sql/gen_lex_token ${D}${bindir}/ - install -m 0755 extra/comp_err ${D}${bindir}/ - install -m 0755 scripts/comp_sql ${D}${bindir}/ -} - diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.16.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.16.bb new file mode 100644 index 000000000..e1a038dfa --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.16.bb @@ -0,0 +1,20 @@ +require mariadb.inc +inherit native + +PROVIDES += "mysql5-native" +DEPENDS = "ncurses-native zlib-native bison-native" + +RDEPENDS_${PN} = "" +PACKAGES = "" +EXTRA_OEMAKE = "" + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${bindir} + install -m 0755 sql/gen_lex_hash ${D}${bindir}/ + install -m 0755 sql/gen_lex_token ${D}${bindir}/ + install -m 0755 extra/comp_err ${D}${bindir}/ + install -m 0755 scripts/comp_sql ${D}${bindir}/ +} + diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc index eed23d28a..9a398b308 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -2,9 +2,9 @@ SUMMARY = "A robust, scalable, and reliable SQL server" HOMEPAGE = "http://mariadb.org" SECTION = "libs" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +LIC_FILES_CHKSUM = "file://COPYING;md5=b1becf0cfa3366e0f4d854d1d264f311" -SRC_URI = "https://downloads.mariadb.org/interstitial/${BPN}-${PV}/source/${BPN}-${PV}.tar.gz \ +SRC_URI = "https://downloads.mariadb.com/MariaDB/${BPN}-${PV}/source/${BPN}-${PV}.tar.gz \ file://my.cnf \ file://mysqld.service \ file://install_db.service \ @@ -19,8 +19,8 @@ SRC_URI = "https://downloads.mariadb.org/interstitial/${BPN}-${PV}/source/${BPN} file://clang_version_header_conflict.patch \ file://fix-arm-atomic.patch \ " -SRC_URI[md5sum] = "08edd8b5060a181e6dd3c6aac23218cd" -SRC_URI[sha256sum] = "27f391a54d544f93850d4edfb3ef1b4cf24f8e27e61e51727b0e7d31bb4d6968" +SRC_URI[md5sum] = "11220d0b94c5c24caa2e1e9eaba38e31" +SRC_URI[sha256sum] = "39e9723eaf620afd99b0925b2c2a5a50a89110ba50040adf14cce7cf89e5e21b" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.15.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.15.bb deleted file mode 100644 index de24c920f..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.15.bb +++ /dev/null @@ -1,27 +0,0 @@ -require mariadb.inc - -EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" - -DEPENDS += "mariadb-native bison-native openssl ncurses zlib readline libaio libevent libxml2" - -PROVIDES += "mysql5 libmysqlclient" - -RPROVIDES_${PN} += "mysql5" -RREPLACES_${PN} += "mysql5" -RCONFLICTS_${PN} += "mysql5" - -RPROVIDES_${PN}-dbg += "mysql5-dbg" -RREPLACES_${PN}-dbg += "mysql5-dbg" -RCONFLICTS_${PN}-dbg += "mysql5-dbg" - -RPROVIDES_${PN}-leftovers += "mysql5-leftovers" -RREPLACES_${PN}-leftovers += "mysql5-leftovers" -RCONFLICTS_${PN}-leftovers += "mysql5-leftovers" - -RPROVIDES_${PN}-client += "mysql5-client" -RREPLACES_${PN}-client += "mysql5-client" -RCONFLICTS_${PN}-client += "mysql5-client" - -RPROVIDES_${PN}-server += "mysql5-server" -RREPLACES_${PN}-server += "mysql5-server" -RCONFLICTS_${PN}-server += "mysql5-server" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.16.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.16.bb new file mode 100644 index 000000000..de24c920f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.16.bb @@ -0,0 +1,27 @@ +require mariadb.inc + +EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" + +DEPENDS += "mariadb-native bison-native openssl ncurses zlib readline libaio libevent libxml2" + +PROVIDES += "mysql5 libmysqlclient" + +RPROVIDES_${PN} += "mysql5" +RREPLACES_${PN} += "mysql5" +RCONFLICTS_${PN} += "mysql5" + +RPROVIDES_${PN}-dbg += "mysql5-dbg" +RREPLACES_${PN}-dbg += "mysql5-dbg" +RCONFLICTS_${PN}-dbg += "mysql5-dbg" + +RPROVIDES_${PN}-leftovers += "mysql5-leftovers" +RREPLACES_${PN}-leftovers += "mysql5-leftovers" +RCONFLICTS_${PN}-leftovers += "mysql5-leftovers" + +RPROVIDES_${PN}-client += "mysql5-client" +RREPLACES_${PN}-client += "mysql5-client" +RCONFLICTS_${PN}-client += "mysql5-client" + +RPROVIDES_${PN}-server += "mysql5-server" +RREPLACES_${PN}-server += "mysql5-server" +RCONFLICTS_${PN}-server += "mysql5-server" diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch new file mode 100644 index 000000000..35914952d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch @@ -0,0 +1,55 @@ +From 7456d1621223d425b8a3fd74e435a79c046169fb Mon Sep 17 00:00:00 2001 +From: Robert Edmonds +Date: Wed, 10 Apr 2019 20:47:48 -0400 +Subject: [PATCH] t/generated-code2/cxx-generate-packed-data.cc: Fix build + failure on newer protobuf + + Upstream-Status: Backport [https://github.com/protobuf-c/protobuf-c/pull/369] + +google::protobuf::Message::Reflection has been removed in newer versions +of protobuf. The replacement is google::protobuf::Reflection. + +protobuf in commit 779f61c6a3ce02a119e28e802f229e61b69b9046 ("Integrate +recent changes from google3.", from August 2008) changed the following +in message.h: + + @@ -336,7 +337,8 @@ class LIBPROTOBUF_EXPORT Message { + + // Introspection --------------------------------------------------- + + - class Reflection; // Defined below. + + // Typedef for backwards-compatibility. + + typedef google::protobuf::Reflection Reflection; + +The "typedef for backwards-compatibility" apparently lasted ten years +until protobuf commit 6bbe197e9c1b6fc38cbdc45e3bf83fa7ced792a3 +("Down-integrate from google3.", from August 2018) which finally removed +the typedef: + + @@ -327,8 +344,6 @@ class LIBPROTOBUF_EXPORT Message : public MessageLite { + + // Introspection --------------------------------------------------- + + - // Typedef for backwards-compatibility. + - typedef google::protobuf::Reflection Reflection; + +This commit updates the only use of this typedef (in the test suite) to +directly refer to the replacement, google::protobuf::Reflection. This +fixes the build failure in the test suite. +--- + t/generated-code2/cxx-generate-packed-data.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/t/generated-code2/cxx-generate-packed-data.cc b/t/generated-code2/cxx-generate-packed-data.cc +index 4fd3e25..0865d2e 100644 +--- a/t/generated-code2/cxx-generate-packed-data.cc ++++ b/t/generated-code2/cxx-generate-packed-data.cc +@@ -998,7 +998,7 @@ static void dump_test_packed_repeated_enum (void) + static void dump_test_unknown_fields (void) + { + EmptyMess mess; +- const google::protobuf::Message::Reflection *reflection = mess.GetReflection(); ++ const google::protobuf::Reflection *reflection = mess.GetReflection(); + google::protobuf::UnknownFieldSet *fs = reflection->MutableUnknownFields(&mess); + + #if GOOGLE_PROTOBUF_VERSION >= 2001000 diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb index 7ef030092..1d1782306 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb @@ -15,7 +15,9 @@ DEPENDS = "protobuf-native protobuf" PV .= "+git${SRCPV}" SRCREV = "269771b4b45d3aba04e59569f53600003db8d9ff" -SRC_URI = "git://github.com/protobuf-c/protobuf-c.git" +SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \ + file://protobuf3-compatibility.patch \ + " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch new file mode 100644 index 000000000..a160e5e97 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch @@ -0,0 +1,52 @@ +From ea6e776e50971c89ad2293046b6ae2a6a9753c56 Mon Sep 17 00:00:00 2001 +From: Adam Cozzette +Date: Thu, 6 Jun 2019 10:29:58 -0700 +Subject: [PATCH] Added stubs/map_util.h to list of installed headers + +This should fix issue #6186. I also had to remove a couple unnecessary +const keywords in map_util.h because the no_warning_test was showing +errors about those. + +Upstream-Status: Submitted [https://github.com/protocolbuffers/protobuf/pull/6223] +--- + src/Makefile.am | 1 + + src/google/protobuf/stubs/map_util.h | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index be18ba76..1689e221 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -72,6 +72,7 @@ nobase_include_HEADERS = \ + google/protobuf/stubs/hash.h \ + google/protobuf/stubs/logging.h \ + google/protobuf/stubs/macros.h \ ++ google/protobuf/stubs/map_util.h \ + google/protobuf/stubs/mutex.h \ + google/protobuf/stubs/once.h \ + google/protobuf/stubs/platform_macros.h \ +diff --git a/src/google/protobuf/stubs/map_util.h b/src/google/protobuf/stubs/map_util.h +index 2313e1f5..b04d9d46 100644 +--- a/src/google/protobuf/stubs/map_util.h ++++ b/src/google/protobuf/stubs/map_util.h +@@ -620,7 +620,7 @@ bool UpdateReturnCopy(Collection* const collection, + // twice. Unlike UpdateReturnCopy this also does not come with the issue of an + // undefined previous* in case new data was inserted. + template +-typename Collection::value_type::second_type* const ++typename Collection::value_type::second_type* + InsertOrReturnExisting(Collection* const collection, + const typename Collection::value_type& vt) { + std::pair ret = collection->insert(vt); +@@ -633,7 +633,7 @@ InsertOrReturnExisting(Collection* const collection, + + // Same as above, except for explicit key and data. + template +-typename Collection::value_type::second_type* const ++typename Collection::value_type::second_type* + InsertOrReturnExisting( + Collection* const collection, + const typename Collection::value_type::first_type& key, +-- +2.11.0 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb deleted file mode 100644 index cf72d9ca7..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb +++ /dev/null @@ -1,93 +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" - -PV .= "+git${SRCPV}" - -SRCREV = "48cb18e5c419ddd23d9badcfe4e9df7bde1979b2" - -SRC_URI = "git://github.com/google/protobuf.git;branch=3.6.x \ - file://run-ptest \ - file://0001-protobuf-fix-configure-error.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() { - # Modify makefile to use the cross-compiler - sed -e "s|c++|${CXX} \$(LDFLAGS)|g" -i "${S}/${TEST_SRC_DIR}/Makefile" - - 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.8.0.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb new file mode 100644 index 000000000..476d1e309 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb @@ -0,0 +1,92 @@ +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 = "09745575a923640154bcf307fba8aedff47f240a" + +SRC_URI = "git://github.com/google/protobuf.git;branch=3.8.x \ + file://run-ptest \ + file://0001-protobuf-fix-configure-error.patch \ + file://0001-Added-stubs-map_util.h-to-list-of-installed-headers.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() { + # Modify makefile to use the cross-compiler + sed -e "s|c++|${CXX} \$(LDFLAGS)|g" -i "${S}/${TEST_SRC_DIR}/Makefile" + + 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-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch index a36478bfb..b882d76ec 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch @@ -1,6 +1,6 @@ -From 5ad700c92224193bfc789f7d53af38fc6f8b8904 Mon Sep 17 00:00:00 2001 +From f2f8be496c8e34b4d909b688a95c6f8565201081 Mon Sep 17 00:00:00 2001 From: Hongxu Jia -Date: Thu, 19 Jul 2018 17:31:35 +0800 +Date: Wed, 19 Jun 2019 14:30:44 +0800 Subject: [PATCH] fix compiling failure on mips64-n32 bsp - Tweak mips64-n32 with mips32 @@ -16,15 +16,18 @@ Subject: [PATCH] fix compiling failure on mips64-n32 bsp Upstream-Status: Inappropriate [oe specific] Signed-off-by: Hongxu Jia +Signed-off-by: Mingli Yu --- build/moz.configure/init.configure | 5 ++++- js/src/jit/mips-shared/Architecture-mips-shared.h | 4 +++- python/mozbuild/mozbuild/configure/constants.py | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) +diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure +index 648ac2d..d0bcaf8 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure -@@ -650,7 +650,10 @@ def split_triplet(triplet, allow_unknown +@@ -650,7 +650,10 @@ def split_triplet(triplet, allow_unknown=False): canonical_cpu = 'mips32' endianness = 'little' if 'el' in cpu else 'big' elif cpu in ('mips64', 'mips64el'): @@ -36,26 +39,30 @@ Signed-off-by: Hongxu Jia endianness = 'little' if 'el' in cpu else 'big' elif cpu.startswith('aarch64'): canonical_cpu = 'aarch64' +diff --git a/js/src/jit/mips-shared/Architecture-mips-shared.h b/js/src/jit/mips-shared/Architecture-mips-shared.h +index e95ffd4..caf83f7 100644 --- a/js/src/jit/mips-shared/Architecture-mips-shared.h +++ b/js/src/jit/mips-shared/Architecture-mips-shared.h -@@ -26,6 +26,8 @@ - #define USES_O32_ABI - #elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABI64)) || defined(JS_SIMULATOR_MIPS64) +@@ -28,6 +28,8 @@ + #elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABI64)) || \ + defined(JS_SIMULATOR_MIPS64) #define USES_N64_ABI +#elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABIN32)) +#define USES_N32_ABI #else #error "Unsupported ABI" #endif -@@ -93,7 +95,7 @@ class Registers - ta1 = t5, - ta2 = t6, - ta3 = t7, +@@ -94,7 +96,7 @@ class Registers { + ta1 = t5, + ta2 = t6, + ta3 = t7, -#elif defined(USES_N64_ABI) +#elif defined(USES_N64_ABI) || defined(USES_N32_ABI) - a4 = r8, - a5 = r9, - a6 = r10, + a4 = r8, + a5 = r9, + a6 = r10, +diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py +index 1067b6a..e0f0405 100644 --- a/python/mozbuild/mozbuild/configure/constants.py +++ b/python/mozbuild/mozbuild/configure/constants.py @@ -90,8 +90,8 @@ CPU_preprocessor_checks = OrderedDict(( @@ -68,3 +75,6 @@ Signed-off-by: Hongxu Jia ('sh4', '__sh__'), )) +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb index 54ed043f4..054e0acc8 100644 --- a/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb @@ -10,10 +10,6 @@ SRC_URI = "git://git.code.sf.net/p/tipc/tipcutils \ SRCREV = "7ab2211b87414ba240b0b2e4af219c1057c9cf9a" PV = "2.2.0+git${SRCPV}" -DEPENDS="virtual/kernel" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - inherit autotools pkgconfig DEPENDS += "libdaemon" diff --git a/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch new file mode 100644 index 000000000..56981d96f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch @@ -0,0 +1,89 @@ +From 50cea8fd3c07ab27da6edce865a49339f16f3b57 Mon Sep 17 00:00:00 2001 +From: Naveen Saini +Date: Tue, 18 Jun 2019 17:10:15 +0800 +Subject: [PATCH] Makefile: fix multilib build failure + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Naveen Saini +--- + Makefile | 50 +++++++++++++++++++++++++++----------------------- + 1 file changed, 27 insertions(+), 23 deletions(-) + +diff --git a/Makefile b/Makefile +index 8455415..4aa0786 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,30 +1,34 @@ + # SPDX-License-Identifier: GPL-2.0 + PREFIX ?= /usr + DESTDIR ?= ++BASELIB ?= + + all: + @echo "Nothing to build" + ++clean: ++ @echo "Nothing to clean" ++ + install : uninstall +- install -d $(DESTDIR)$(PREFIX)/lib/pm-graph +- install sleepgraph.py $(DESTDIR)$(PREFIX)/lib/pm-graph +- install bootgraph.py $(DESTDIR)$(PREFIX)/lib/pm-graph +- install -d $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/cgskip.txt $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/freeze-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/freeze.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/freeze-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/standby-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/standby.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/standby-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/suspend-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/suspend.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/suspend-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config +- install -m 644 config/suspend-x2-proc.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config ++ install -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph ++ install sleepgraph.py $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph ++ install bootgraph.py $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph ++ install -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/cgskip.txt $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/freeze-callgraph.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/freeze.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/freeze-dev.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/standby-callgraph.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/standby.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/standby-dev.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/suspend-callgraph.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/suspend.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/suspend-dev.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ++ install -m 644 config/suspend-x2-proc.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config + + install -d $(DESTDIR)$(PREFIX)/bin +- ln -s ../lib/pm-graph/bootgraph.py $(DESTDIR)$(PREFIX)/bin/bootgraph +- ln -s ../lib/pm-graph/sleepgraph.py $(DESTDIR)$(PREFIX)/bin/sleepgraph ++ ln -s ../$(BASELIB)/pm-graph/bootgraph.py $(DESTDIR)$(PREFIX)/bin/bootgraph ++ ln -s ../$(BASELIB)/pm-graph/sleepgraph.py $(DESTDIR)$(PREFIX)/bin/sleepgraph + + install -d $(DESTDIR)$(PREFIX)/share/man/man8 + install bootgraph.8 $(DESTDIR)$(PREFIX)/share/man/man8 +@@ -37,11 +41,11 @@ uninstall : + rm -f $(DESTDIR)$(PREFIX)/bin/bootgraph + rm -f $(DESTDIR)$(PREFIX)/bin/sleepgraph + +- rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/config/* +- if [ -d $(DESTDIR)$(PREFIX)/lib/pm-graph/config ] ; then \ +- rmdir $(DESTDIR)$(PREFIX)/lib/pm-graph/config; \ ++ rm -f $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config/* ++ if [ -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ] ; then \ ++ rmdir $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config; \ + fi; +- rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/* +- if [ -d $(DESTDIR)$(PREFIX)/lib/pm-graph ] ; then \ +- rmdir $(DESTDIR)$(PREFIX)/lib/pm-graph; \ ++ rm -f $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/* ++ if [ -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph ] ; then \ ++ rmdir $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph; \ + fi; +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb index de2d46dca..ea12e054d 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb @@ -6,11 +6,12 @@ LICENSE = "GPL-2" LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" SRCREV = "5be9a16547234cef5aca8bfaccd920490ea1cfa7" -SRC_URI = "git://github.com/intel/pm-graph.git" +SRC_URI = "git://github.com/intel/pm-graph.git \ + file://0001-Makefile-fix-multilib-build-failure.patch" S = "${WORKDIR}/git" COMPATIBLE_HOST='(i.86|x86_64).*' -EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D}" +EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D} BASELIB=${baselib}" do_install() { oe_runmake install diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb index 131e84961..7752e76b5 100644 --- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb +++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb @@ -5,6 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800" DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools" PROVIDES = "virtual/gpsd" +# SConstruct in gpsd does not yet support Python 3 +DEPENDS += "python-scons-native" +DEPENDS_remove = "python3-scons-native" + EXTRANATIVEPATH += "chrpath-native" SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb deleted file mode 100644 index ffa2b9f12..000000000 --- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -require libgpiod.inc - -DEPENDS += "autoconf-archive-native" - -SRC_URI[md5sum] = "9f7530a5d56f070ba0af78d6ba077973" -SRC_URI[sha256sum] = "6ec837f23e8f2196e5976dec4ac81403170830075e7f33ede1394eaf67f2e962" - -# enable tools and cxx bindings -PACKAGECONFIG ?= "cxx tools" - -PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx" -PACKAGECONFIG[tests] = "--enable-tests --enable-install-tests,--disable-tests --disable-install-tests,kmod udev" - -PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3" -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)} - -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.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.bb new file mode 100644 index 000000000..71a45edb9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.bb @@ -0,0 +1,20 @@ +require libgpiod.inc + +DEPENDS += "autoconf-archive-native" + +SRC_URI[md5sum] = "bd52d764017215a30e2f014d2081dc3e" +SRC_URI[sha256sum] = "ebde83aaf14be3abd33e7a90faa487a2ee231e242897afe7fdefb765386b3c8b" + +# enable tools and cxx bindings +PACKAGECONFIG ?= "cxx tools" + +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 ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)} + +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/libp11/libp11_0.4.10.bb b/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb index c72df6d5e..b40223e8a 100644 --- a/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb +++ b/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb @@ -19,7 +19,6 @@ inherit autotools pkgconfig EXTRA_OECONF = "--disable-static" do_install_append () { - rm -rf ${D}${libdir}/*.la rm -rf ${D}${docdir}/${BPN} } diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/iconv-detect.h b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/iconv-detect.h new file mode 100644 index 000000000..714cb5aa9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/iconv-detect.h @@ -0,0 +1,5 @@ +/* This is an auto-generated header, DO NOT EDIT! */ + +#define ICONV_ISO_INT_FORMAT "iso-%u-%u" +#define ICONV_ISO_STR_FORMAT "iso-%u-%s" +#define ICONV_10646 "iso-10646" diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/nodolt.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/nodolt.patch new file mode 100644 index 000000000..1f9bdd304 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/nodolt.patch @@ -0,0 +1,10 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -150,7 +150,6 @@ AC_EXEEXT + AC_PROG_LIBTOOL + dnl when using libtool 2.x create libtool early, because it's used in configure + m4_ifdef([LT_OUTPUT], [LT_OUTPUT]) +-DOLT + + dnl Checks for header files. + AC_CHECK_HEADERS(sys/mman.h) diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.3.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.3.bb new file mode 100644 index 000000000..8c6f0b010 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.3.bb @@ -0,0 +1,23 @@ +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +DESCRIPTION = "Runtime libraries for parsing and creating MIME mail" +SECTION = "libs" +DEPENDS = "glib-2.0 zlib" + +inherit gnome autotools gobject-introspection + +SRC_URI += "file://iconv-detect.h \ + file://nodolt.patch" + +SRC_URI[archive.md5sum] = "69ae21a0b1df966a7d39a9431856ac81" +SRC_URI[archive.sha256sum] = "6a0875eeb552ab447dd54853a68ced62217d863631048737dd97eaa2713e7311" + +EXTRA_OECONF_remove = "--disable-schemas-install" + +export ac_cv_have_iconv_detect_h="yes" +do_configure_append = "cp ${WORKDIR}/iconv-detect.h ${S}" + +# we do not need GNOME 1 gnome-config support +do_install_append () { + rm -f ${D}${libdir}/gmimeConf.sh +} diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.24.0.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.24.0.bb index beae281a3..7632fd2de 100644 --- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.24.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.24.0.bb @@ -3,7 +3,7 @@ SECTION = "webos/services" LICENSE = "GPLv2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "pidgin intltool-native glib-2.0-native" +DEPENDS = "pidgin gmime intltool-native glib-2.0-native" inherit pkgconfig inherit autotools @@ -19,7 +19,7 @@ PACKAGECONFIG[nss] = "--enable-nss=yes,--enable-nss=no,nss" PACKAGECONFIG[openssl] = "--enable-openssl=yes,--enable-openssl=no,openssl" PACKAGECONFIG[krb5] = "--with-krb5=yes,--with-krb5=no,krb5" #PACKAGECONFIG[voice_and_video] = "--with-vv=yes,--with-vv=no,libnice gstreamer" -PACKAGECONFIG[telepathy] = "--enable-telepathy=yes,--enable-telepathy=no,telepathy-glib gmime" +PACKAGECONFIG[telepathy] = "--enable-telepathy=yes,--enable-telepathy=no,telepathy-glib" #PACKAGECONFIG[gssapi_only] = "--enable-gssapi-only=yes,--enable-gssapi-only=no,krb5" PACKAGECONFIG[debug] = "--enable-debug=yes,--enable-debug=no,valgrind" diff --git a/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb index ea5bb1b0c..fb18fe2a4 100644 --- a/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb +++ b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb @@ -34,6 +34,6 @@ RDEPENDS_${PN} += "\ perl-module-io-select \ perl-module-io-socket \ " -RDEPENDS_${PN}-ptest += "${PN} freeradius" +RDEPENDS_${PN}-ptest += "freeradius" BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb deleted file mode 100644 index d523a7a0c..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Module::Build - Build and install Perl modules" -DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \ -Makefile.PL file to drive distribution configuration, build, test and \ -installation. Traditionally, Build.PL uses Module::Build as the underlying \ -build system. This module provides a simple, lightweight, drop-in replacement. \ -Whereas Module::Build has over 6,700 lines of code; this module has less than \ -120, yet supports the features needed by most distributions." - -SECTION = "libs" - -HOMEPAGE = "https://metacpan.org/release/Module-Build" - -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://README;beginline=960;endline=965;md5=624c06db56a2af4d70cf9edc29fcae1b" - -SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-${PV}.tar.gz" -SRC_URI[md5sum] = "b74c2f6e84b60aad3a3defd30b6f0f4d" -SRC_URI[sha256sum] = "a6ca15d78244a7b50fdbf27f85c85f4035aa799ce7dd018a0d98b358ef7bc782" - -S = "${WORKDIR}/Module-Build-${PV}" - -inherit cpan_build - -# From: -# https://github.com/rehsack/meta-cpan/blob/master/recipes-devel/module-build-perl/module-build-perl_0.4216.bb -# -do_patch_module_build () { - cd ${S} - sed -i -e 's,my $interpreter = $self->{properties}{perl};,my $interpreter = "${bindir}/perl";,g' lib/Module/Build/Base.pm -} - -do_patch[postfuncs] += "do_patch_module_build" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc index 9d99b3475..23e18563a 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc @@ -7,7 +7,7 @@ HOMEPAGE = " http://certifi.io/" LICENSE = "ISC" LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1" -SRC_URI[md5sum] = "76381d19d0a1171fecb2d1002b81424e" -SRC_URI[sha256sum] = "b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae" +SRC_URI[md5sum] = "af8fea5f3df6f7f81e9c6cbc6dd7c1e8" +SRC_URI[sha256sum] = "945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695" BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.3.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.3.9.bb deleted file mode 100644 index adfe6238e..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.3.9.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools -require python-certifi.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.6.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.6.16.bb new file mode 100644 index 000000000..adfe6238e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.6.16.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require python-certifi.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc index d67c17883..dd73a412b 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc @@ -33,6 +33,18 @@ DISTUTILS_INSTALL_ARGS += " \ inherit pypi +# {standard input}: Assembler messages: +# {standard input}:1488805: Error: branch out of range +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() { sed -i -e 's/--version/--modversion/' ${B}/setupinfo.py } diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc index 54eacc0b7..2929700a0 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec inherit pypi -SRC_URI[md5sum] = "e2daef80e70249aa1f05363670c6b3f8" -SRC_URI[sha256sum] = "1489b376b0f364bcc6f89519718c057eb191d7ad6f1b395ffd93d1aa45587811" +SRC_URI[md5sum] = "b7095f3eb736459716d606677b5a29ee" +SRC_URI[sha256sum] = "8c61cc8a76e9d381c665aecc5105fa0f1878cf7db8b5cd17202603bcb386d0fc" # http://errors.yoctoproject.org/Errors/Details/184715/ # Can't find required file: ../src/google/protobuf/descriptor.proto diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb deleted file mode 100644 index f04fc489f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-protobuf.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.8.0.bb new file mode 100644 index 000000000..f04fc489f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.8.0.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-protobuf.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc index ddef414a1..005aaadef 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc @@ -7,8 +7,8 @@ HOMEPAGE = "http://www.twistedmatrix.com" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=d136e8cf7b52f2e64079186ae2060d8a" -SRC_URI[sha256sum] = "1708e1928ae84ec9d3ebab0d427e20e1e38ff721b15bbced476d047d4a43abbe" -SRC_URI[md5sum] = "473e12f4226e0fecc0ca5698e418e3f6" +SRC_URI[sha256sum] = "fa2c04c2d68a9be7fc3975ba4947f653a57a656776f24be58ff0fe4b9aaf3e52" +SRC_URI[md5sum] = "528b7856938edc2a752c244aebd94981" PYPI_PACKAGE = "Twisted" PYPI_PACKAGE_EXT = "tar.bz2" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.0.bb deleted file mode 100644 index 5903db3e0..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -inherit pypi setuptools -require python-twisted.inc - -RDEPENDS_${PN}-core += "${PYTHON_PN}-contextlib" - -RDEPENDS_${PN} += " \ - ${PN}-news \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.1.bb new file mode 100644 index 000000000..5903db3e0 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.1.bb @@ -0,0 +1,8 @@ +inherit pypi setuptools +require python-twisted.inc + +RDEPENDS_${PN}-core += "${PYTHON_PN}-contextlib" + +RDEPENDS_${PN} += " \ + ${PN}-news \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc index 4de09d2fd..ed49811fe 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc @@ -4,8 +4,8 @@ LICENSE = "BSD" SECTION = "devel/python" LIC_FILES_CHKSUM = "file://LICENSE;md5=fdfc019b57affbe1d7a32e3d34e83db4" -SRC_URI[md5sum] = "9f21acd7c0a57bf3057715c4665db3c7" -SRC_URI[sha256sum] = "4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533" +SRC_URI[md5sum] = "cc15c001b129f81eb2f79b15eb99ffe5" +SRC_URI[sha256sum] = "565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.1.bb deleted file mode 100644 index bb4247657..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-wrapt.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.2.bb new file mode 100644 index 000000000..bb4247657 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.2.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-wrapt.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.3.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.3.9.bb deleted file mode 100644 index 70f674b22..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.3.9.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-certifi.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.6.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.6.16.bb new file mode 100644 index 000000000..70f674b22 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.6.16.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-certifi.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch deleted file mode 100644 index da5e73b15..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 539bc017a62f91bdf7c547b58948cb5a2f59d918 Mon Sep 17 00:00:00 2001 -From: Ben Webb -Date: Thu, 12 Jul 2018 10:58:10 -0700 -Subject: [PATCH] Add Python 3.7 compatibility (#4862) - -Compilation of Python wrappers fails with Python 3.7 because -the Python folks changed their C API such that -PyUnicode_AsUTF8AndSize() now returns a const char* rather -than a char*. Add a patch to work around. Relates #4086. - -Upstream-Status: Backport [https://github.com/protocolbuffers/protobuf.git] -Signed-off-by: Hongxu Jia - ---- - google/protobuf/pyext/descriptor.cc | 2 +- - google/protobuf/pyext/descriptor_containers.cc | 2 +- - google/protobuf/pyext/descriptor_pool.cc | 2 +- - google/protobuf/pyext/extension_dict.cc | 2 +- - google/protobuf/pyext/message.cc | 4 ++-- - 5 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc -index 8af0cb1..19a1c38 100644 ---- a/google/protobuf/pyext/descriptor.cc -+++ b/google/protobuf/pyext/descriptor.cc -@@ -56,7 +56,7 @@ - #endif - #define PyString_AsStringAndSize(ob, charpp, sizep) \ - (PyUnicode_Check(ob)? \ -- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \ -+ ((*(charpp) = const_cast(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \ - PyBytes_AsStringAndSize(ob, (charpp), (sizep))) - #endif - -diff --git a/google/protobuf/pyext/descriptor_containers.cc b/google/protobuf/pyext/descriptor_containers.cc -index bc007f7..0153664 100644 ---- a/google/protobuf/pyext/descriptor_containers.cc -+++ b/google/protobuf/pyext/descriptor_containers.cc -@@ -66,7 +66,7 @@ - #endif - #define PyString_AsStringAndSize(ob, charpp, sizep) \ - (PyUnicode_Check(ob)? \ -- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \ -+ ((*(charpp) = const_cast(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \ - PyBytes_AsStringAndSize(ob, (charpp), (sizep))) - #endif - -diff --git a/google/protobuf/pyext/descriptor_pool.cc b/google/protobuf/pyext/descriptor_pool.cc -index 95882ae..962accc 100644 ---- a/google/protobuf/pyext/descriptor_pool.cc -+++ b/google/protobuf/pyext/descriptor_pool.cc -@@ -48,7 +48,7 @@ - #endif - #define PyString_AsStringAndSize(ob, charpp, sizep) \ - (PyUnicode_Check(ob)? \ -- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \ -+ ((*(charpp) = const_cast(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \ - PyBytes_AsStringAndSize(ob, (charpp), (sizep))) - #endif - -diff --git a/google/protobuf/pyext/extension_dict.cc b/google/protobuf/pyext/extension_dict.cc -index 018b5c2..174c547 100644 ---- a/google/protobuf/pyext/extension_dict.cc -+++ b/google/protobuf/pyext/extension_dict.cc -@@ -53,7 +53,7 @@ - #endif - #define PyString_AsStringAndSize(ob, charpp, sizep) \ - (PyUnicode_Check(ob)? \ -- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \ -+ ((*(charpp) = const_cast(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \ - PyBytes_AsStringAndSize(ob, (charpp), (sizep))) - #endif - -diff --git a/google/protobuf/pyext/message.cc b/google/protobuf/pyext/message.cc -index 5893533..31094b7 100644 ---- a/google/protobuf/pyext/message.cc -+++ b/google/protobuf/pyext/message.cc -@@ -79,7 +79,7 @@ - (PyUnicode_Check(ob)? PyUnicode_AsUTF8(ob): PyBytes_AsString(ob)) - #define PyString_AsStringAndSize(ob, charpp, sizep) \ - (PyUnicode_Check(ob)? \ -- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \ -+ ((*(charpp) = const_cast(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \ - PyBytes_AsStringAndSize(ob, (charpp), (sizep))) - #endif - #endif -@@ -1529,7 +1529,7 @@ PyObject* HasField(CMessage* self, PyObject* arg) { - return NULL; - } - #else -- field_name = PyUnicode_AsUTF8AndSize(arg, &size); -+ field_name = const_cast(PyUnicode_AsUTF8AndSize(arg, &size)); - if (!field_name) { - return NULL; - } --- -2.7.4 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb deleted file mode 100644 index 9b0668a02..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -inherit setuptools3 -require python-protobuf.inc - -SRC_URI += "file://0001-Add-Python-3.7-compatibility-4862.patch" -DEPENDS += "protobuf" -DISTUTILS_BUILD_ARGS += "--cpp_implementation" -DISTUTILS_INSTALL_ARGS += "--cpp_implementation" - -do_compile_prepend_class-native () { - export KOKORO_BUILD_NUMBER="1" -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.8.0.bb new file mode 100644 index 000000000..30ea34e90 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.8.0.bb @@ -0,0 +1,10 @@ +inherit setuptools3 +require python-protobuf.inc + +DEPENDS += "protobuf" +DISTUTILS_BUILD_ARGS += "--cpp_implementation" +DISTUTILS_INSTALL_ARGS += "--cpp_implementation" + +do_compile_prepend_class-native () { + export KOKORO_BUILD_NUMBER="1" +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.0.bb deleted file mode 100644 index dfb9d4a4c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.0.bb +++ /dev/null @@ -1,65 +0,0 @@ -inherit pypi setuptools3 -require python-twisted.inc - -FILES_${PN}-core_append += " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__pycache__/*pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/__init__*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/notestplugin*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/testplugin*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_ftp*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_inet*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_manhole*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_portforward*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_socks*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_telnet*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_trial*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_core*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_qtstub*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_reactors*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/cred*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/dropin*.cache \ -" - -FILES_${PN}-names_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_names*.pyc \ -" - -FILES_${PN}-news_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_news*.pyc \ -" - -FILES_${PN}-protocols_append += " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/__pycache__/*pyc \ -" - -FILES_${PN}-conch_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_conch*.pyc \ -" - -FILES_${PN}-lore_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_lore*.pyc \ -" -FILES_${PN}-mail_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_mail*.pyc \ -" - -FILES_${PN}-web_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_web*.pyc \ -" - -FILES_${PN}-words_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_words*.pyc \ -" - -FILES_${PN}-flow_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_flow*.pyc \ -" - -FILES_${PN}-pair_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_pair*.pyc \ -" - -FILES_${PN}-runner_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_runner*.pyc \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.1.bb new file mode 100644 index 000000000..dfb9d4a4c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.1.bb @@ -0,0 +1,65 @@ +inherit pypi setuptools3 +require python-twisted.inc + +FILES_${PN}-core_append += " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__pycache__/*pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/__init__*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/notestplugin*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/testplugin*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_ftp*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_inet*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_manhole*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_portforward*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_socks*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_telnet*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_trial*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_core*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_qtstub*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_reactors*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/cred*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/dropin*.cache \ +" + +FILES_${PN}-names_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_names*.pyc \ +" + +FILES_${PN}-news_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_news*.pyc \ +" + +FILES_${PN}-protocols_append += " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/__pycache__/*pyc \ +" + +FILES_${PN}-conch_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_conch*.pyc \ +" + +FILES_${PN}-lore_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_lore*.pyc \ +" +FILES_${PN}-mail_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_mail*.pyc \ +" + +FILES_${PN}-web_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_web*.pyc \ +" + +FILES_${PN}-words_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_words*.pyc \ +" + +FILES_${PN}-flow_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_flow*.pyc \ +" + +FILES_${PN}-pair_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_pair*.pyc \ +" + +FILES_${PN}-runner_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_runner*.pyc \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.1.bb deleted file mode 100644 index 85f446ef9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-wrapt.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.2.bb new file mode 100644 index 000000000..85f446ef9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.2.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-wrapt.inc diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch new file mode 100644 index 000000000..94cad23f8 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch @@ -0,0 +1,14 @@ +'@include' is not a standard sysntax and not supported by oe. + +Upstream-Status: Submitted [https://bugzilla.xfce.org/show_bug.cgi?id=15626] + +Signed-off-by: Kai Kang +--- +diff --git a/data/xfce4-screensaver.common-auth b/data/xfce4-screensaver.common-auth +index a9fd9ce..3bfea70 100644 +--- a/data/xfce4-screensaver.common-auth ++++ b/data/xfce4-screensaver.common-auth +@@ -1,2 +1,2 @@ +-@include common-auth ++auth include common-auth + auth optional pam_gnome_keyring.so diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.4.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.4.bb deleted file mode 100644 index fb2be6609..000000000 --- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.4.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Xfce screensaver Application" -DESCRIPTION = "Xfce screensaver is a screen saver and locker that aims to have simple, sane, secure defaults and be well integrated with the desktop." -HOMEPAGE = "https://git.xfce.org/apps/xfce4-screensaver/about/" -SECTION = "x11/application" - -LICENSE = "GPLv2+ & LGPLv2+ " -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ - " - -DEPENDS = "dbus-glib garcon gtk+3 libxklavier libxscrnsaver virtual/libx11 xfconf" - -inherit xfce-app - -SRC_URI_append = " file://fix-cross-compile.patch" -SRC_URI[md5sum] = "18a619849f85c24d784c7fa27279ca4b" -SRC_URI[sha256sum] = "ed04ae32034b8e13a78495ca2bd7789a20ec7f67891ab9e92826a944371eabef" - -FILES_${PN} += "${datadir}/dbus-1 ${datadir}/desktop-directories" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.5.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.5.bb new file mode 100644 index 000000000..4a1aae764 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.5.bb @@ -0,0 +1,26 @@ +SUMMARY = "Xfce screensaver Application" +DESCRIPTION = "Xfce screensaver is a screen saver and locker that aims to have simple, sane, secure defaults and be well integrated with the desktop." +HOMEPAGE = "https://git.xfce.org/apps/xfce4-screensaver/about/" +SECTION = "x11/application" + +LICENSE = "GPLv2+ & LGPLv2+ " +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ + " + +DEPENDS = "dbus-glib garcon gtk+3 libxklavier libxscrnsaver virtual/libx11 xfconf" + +inherit xfce-app + +SRC_URI_append = " \ + file://fix-cross-compile.patch \ + file://fix-pam-config.patch \ +" +SRC_URI[md5sum] = "982f9a355456320933ec08313523a567" +SRC_URI[sha256sum] = "fdecf0fc432b59defba2dd706051696d47227ca0744c7971014021190126f2d5" + +do_install_append() { + install -D -m 0644 ${S}/data/xfce4-screensaver.common-auth ${D}${sysconfdir}/pam.d/xfce4-screensaver +} + +FILES_${PN} += "${datadir}/dbus-1 ${datadir}/desktop-directories" diff --git a/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend b/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend index c47522379..916f083b9 100644 --- a/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend +++ b/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend @@ -1 +1,2 @@ +# Just a comment line to avoid PAK archive (application/x-pak) PACKAGECONFIG_append = " thunar" diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes/go.bbclass index b6d9372c5..e05a5c641 100644 --- a/poky/meta/classes/go.bbclass +++ b/poky/meta/classes/go.bbclass @@ -7,6 +7,7 @@ GOROOT_class-nativesdk = "${STAGING_DIR_TARGET}${libdir}/go" GOROOT = "${STAGING_LIBDIR}/go" export GOROOT export GOROOT_FINAL = "${libdir}/go" +export GOCACHE = "${B}/.cache" export GOARCH = "${TARGET_GOARCH}" export GOOS = "${TARGET_GOOS}" diff --git a/poky/meta/classes/update-rc.d.bbclass b/poky/meta/classes/update-rc.d.bbclass index 265c4be9d..1366fee65 100644 --- a/poky/meta/classes/update-rc.d.bbclass +++ b/poky/meta/classes/update-rc.d.bbclass @@ -20,28 +20,14 @@ def use_updatercd(d): return '[ -n "$D" -o ! -d /run/systemd/system ]' return 'true' -updatercd_preinst() { -if ${@use_updatercd(d)} && [ -z "$D" -a -f "${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then - ${INIT_D_DIR}/${INITSCRIPT_NAME} stop || : -fi -if ${@use_updatercd(d)} && type update-rc.d >/dev/null 2>/dev/null; then - if [ -n "$D" ]; then - OPT="-f -r $D" - else - OPT="-f" - fi - update-rc.d $OPT ${INITSCRIPT_NAME} remove -fi -} - PACKAGE_WRITE_DEPS += "update-rc.d-native" updatercd_postinst() { if ${@use_updatercd(d)} && type update-rc.d >/dev/null 2>/dev/null; then if [ -n "$D" ]; then - OPT="-f -r $D" + OPT="-r $D" else - OPT="-f -s" + OPT="-s" fi update-rc.d $OPT ${INITSCRIPT_NAME} ${INITSCRIPT_PARAMS} fi @@ -79,7 +65,7 @@ python __anonymous() { PACKAGESPLITFUNCS_prepend = "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'populate_packages_updatercd ', '', d)}" PACKAGESPLITFUNCS_remove_class-nativesdk = "populate_packages_updatercd " -populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_preinst updatercd_postinst" +populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_postinst" populate_packages_updatercd[vardepsexclude] += "OVERRIDES" python populate_packages_updatercd () { @@ -95,7 +81,7 @@ python populate_packages_updatercd () { d.appendVar('RDEPENDS_' + pkg, ' %sinitd-functions' % (mlprefix)) def update_rcd_package(pkg): - bb.debug(1, 'adding update-rc.d calls to preinst/postinst/prerm/postrm for %s' % pkg) + bb.debug(1, 'adding update-rc.d calls to postinst/prerm/postrm for %s' % pkg) localdata = bb.data.createCopy(d) overrides = localdata.getVar("OVERRIDES") @@ -103,12 +89,6 @@ python populate_packages_updatercd () { update_rcd_auto_depend(pkg) - preinst = d.getVar('pkg_preinst_%s' % pkg) - if not preinst: - preinst = '#!/bin/sh\n' - preinst += localdata.getVar('updatercd_preinst') - d.setVar('pkg_preinst_%s' % pkg, preinst) - postinst = d.getVar('pkg_postinst_%s' % pkg) if not postinst: postinst = '#!/bin/sh\n' diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc index 17deaa762..0dc085091 100644 --- a/poky/meta/conf/distro/include/ptest-packagelists.inc +++ b/poky/meta/conf/distro/include/ptest-packagelists.inc @@ -24,6 +24,7 @@ PTESTS_FAST = "\ kbd-ptest \ libconvert-asn1-perl-ptest \ liberror-perl-ptest \ + libmodule-build-perl-ptest \ libpcre-ptest \ libtimedate-perl-ptest \ libtest-needs-perl-ptest \ diff --git a/poky/meta/lib/oeqa/core/case.py b/poky/meta/lib/oeqa/core/case.py index 54977c809..aca144e9d 100644 --- a/poky/meta/lib/oeqa/core/case.py +++ b/poky/meta/lib/oeqa/core/case.py @@ -32,6 +32,8 @@ class OETestCase(unittest.TestCase): @classmethod def _oeSetUpClass(clss): _validate_td_vars(clss.td, clss.td_vars, "class") + if hasattr(clss, 'setUpHooker') and callable(getattr(clss, 'setUpHooker')): + clss.setUpHooker() clss.setUpClassMethod() @classmethod diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py index 58244895a..68819cc33 100644 --- a/poky/meta/lib/oeqa/core/context.py +++ b/poky/meta/lib/oeqa/core/context.py @@ -50,10 +50,18 @@ class OETestContext(object): def func(): raise unittest.SkipTest(skipmsg) return func + class_ids = {} for test in self.suites: + if test.__class__ not in class_ids: + class_ids[test.__class__] = '.'.join(test.id().split('.')[:-1]) for skip in skips: - if test.id().startswith(skip): + if (test.id()+'.').startswith(skip+'.'): setattr(test, 'setUp', skipfuncgen('Skip by the command line argument "%s"' % skip)) + for tclass in class_ids: + cid = class_ids[tclass] + for skip in skips: + if (cid + '.').startswith(skip + '.'): + setattr(tclass, 'setUpHooker', skipfuncgen('Skip by the command line argument "%s"' % skip)) def loadTests(self, module_paths, modules=[], tests=[], modules_manifest="", modules_required=[], filters={}): diff --git a/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc b/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc index 7df168325..7828599ce 100644 --- a/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc +++ b/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc @@ -31,7 +31,7 @@ def riscv_get_do_compile_depends(d): if 'linux' in sbi_payload or 'Image' in sbi_payload: return "virtual/kernel:do_deploy" - if 'u-boot' in sbi_payload: + if 'u-boot.bin' in sbi_payload: return "virtual/bootloader:do_deploy" return "" diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc index b74d186cd..dcbda741c 100644 --- a/poky/meta/recipes-core/dropbear/dropbear.inc +++ b/poky/meta/recipes-core/dropbear/dropbear.inc @@ -20,7 +20,8 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \ file://dropbear@.service \ file://dropbear.socket \ file://dropbear.default \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} " + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} " PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \ file://0006-dropbear-configuration-file.patch \ @@ -46,8 +47,9 @@ SBINCOMMANDS = "dropbear dropbearkey dropbearconvert" BINCOMMANDS = "dbclient ssh scp" EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"' -PACKAGECONFIG ?= "" +PACKAGECONFIG ?= "disable-weak-ciphers" PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt" +PACKAGECONFIG[disable-weak-ciphers] = "" EXTRA_OECONF += "\ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}" diff --git a/poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch b/poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch new file mode 100644 index 000000000..e48a34bac --- /dev/null +++ b/poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch @@ -0,0 +1,44 @@ +This feature disables all CBC, SHA1, and diffie-hellman group1 ciphers +in the dropbear ssh server and client since they're considered weak ciphers +and we want to support the stong algorithms. + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Joseph Reynolds + +Index: dropbear-2019.78/default_options.h +=================================================================== +--- dropbear-2019.78.orig/default_options.h ++++ dropbear-2019.78/default_options.h +@@ -91,7 +91,7 @@ IMPORTANT: Some options will require "ma + + /* Enable CBC mode for ciphers. This has security issues though + * is the most compatible with older SSH implementations */ +-#define DROPBEAR_ENABLE_CBC_MODE 1 ++#define DROPBEAR_ENABLE_CBC_MODE 0 + + /* Enable "Counter Mode" for ciphers. This is more secure than + * CBC mode against certain attacks. It is recommended for security +@@ -101,7 +101,7 @@ IMPORTANT: Some options will require "ma + /* Message integrity. sha2-256 is recommended as a default, + sha1 for compatibility */ + #define DROPBEAR_SHA1_HMAC 1 +-#define DROPBEAR_SHA1_96_HMAC 1 ++#define DROPBEAR_SHA1_96_HMAC 0 + #define DROPBEAR_SHA2_256_HMAC 1 + + /* Hostkey/public key algorithms - at least one required, these are used +@@ -149,12 +149,12 @@ IMPORTANT: Some options will require "ma + * Small systems should generally include either curve25519 or ecdh for performance. + * curve25519 is less widely supported but is faster + */ +-#define DROPBEAR_DH_GROUP14_SHA1 1 ++#define DROPBEAR_DH_GROUP14_SHA1 0 + #define DROPBEAR_DH_GROUP14_SHA256 1 + #define DROPBEAR_DH_GROUP16 0 + #define DROPBEAR_CURVE25519 1 + #define DROPBEAR_ECDH 1 +-#define DROPBEAR_DH_GROUP1 1 ++#define DROPBEAR_DH_GROUP1 0 + + /* When group1 is enabled it will only be allowed by Dropbear client + not as a server, due to concerns over its strength. Set to 0 to allow diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch new file mode 100644 index 000000000..59e49195c --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch @@ -0,0 +1,62 @@ +glib-2.0: fix CVE-2019-12450 + +Not in release 2.61.1. + +CVE: CVE-2019-12450 + +Upstream-Status: Backport [github.com/GNOME/glib.git] +Signed-off-by: Joe Slater +--- +From d8f8f4d637ce43f8699ba94c9b7648beda0ca174 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Thu, 23 May 2019 10:41:53 +0200 +Subject: [PATCH] gfile: Limit access to files when copying + +file_copy_fallback creates new files with default permissions and +set the correct permissions after the operation is finished. This +might cause that the files can be accessible by more users during +the operation than expected. Use G_FILE_CREATE_PRIVATE for the new +files to limit access to those files. +--- + gio/gfile.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/gio/gfile.c b/gio/gfile.c +index 24b136d80..74b58047c 100644 +--- a/gio/gfile.c ++++ b/gio/gfile.c +@@ -3284,12 +3284,12 @@ file_copy_fallback (GFile *source, + out = (GOutputStream*)_g_local_file_output_stream_replace (_g_local_file_get_filename (G_LOCAL_FILE (destination)), + FALSE, NULL, + flags & G_FILE_COPY_BACKUP, +- G_FILE_CREATE_REPLACE_DESTINATION, +- info, ++ G_FILE_CREATE_REPLACE_DESTINATION | ++ G_FILE_CREATE_PRIVATE, info, + cancellable, error); + else + out = (GOutputStream*)_g_local_file_output_stream_create (_g_local_file_get_filename (G_LOCAL_FILE (destination)), +- FALSE, 0, info, ++ FALSE, G_FILE_CREATE_PRIVATE, info, + cancellable, error); + } + else if (flags & G_FILE_COPY_OVERWRITE) +@@ -3297,12 +3297,13 @@ file_copy_fallback (GFile *source, + out = (GOutputStream *)g_file_replace (destination, + NULL, + flags & G_FILE_COPY_BACKUP, +- G_FILE_CREATE_REPLACE_DESTINATION, ++ G_FILE_CREATE_REPLACE_DESTINATION | ++ G_FILE_CREATE_PRIVATE, + cancellable, error); + } + else + { +- out = (GOutputStream *)g_file_create (destination, 0, cancellable, error); ++ out = (GOutputStream *)g_file_create (destination, G_FILE_CREATE_PRIVATE, cancellable, error); + } + + if (!out) +-- +2.17.1 + diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb index bb77294e1..5942241de 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb @@ -16,6 +16,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \ file://0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch \ + file://CVE-2019-12450.patch \ " SRC_URI_append_class-native = " file://relocate-modules.patch" diff --git a/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb b/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb index baa21aeae..75632d943 100644 --- a/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb +++ b/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb @@ -4,10 +4,10 @@ DESCRIPTION = "update-rc.d is a utility that allows the management of symlinks t SECTION = "base" LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://update-rc.d;beginline=5;endline=15;md5=148a48321b10eb37c1fa3ee02b940a75" +LIC_FILES_CHKSUM = "file://update-rc.d;beginline=5;endline=15;md5=d40a07c27f535425934bb5001f2037d9" SRC_URI = "git://git.yoctoproject.org/update-rc.d" -SRCREV = "22e0692898c3e7ceedc8eb5ff4ec8e0b9c340b2d" +SRCREV = "4b150b25b38de688d25cde2b2d22c268ed65a748" UPSTREAM_CHECK_COMMITS = "1" diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc index ba767e1a3..a5c2600d7 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -114,7 +114,7 @@ do_install_append_class-target () { ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux fi elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then - mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux + mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS} ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext fi diff --git a/poky/meta/recipes-devtools/go/go-cross.inc b/poky/meta/recipes-devtools/go/go-cross.inc index 29ce7f6e8..3d344a74d 100644 --- a/poky/meta/recipes-devtools/go/go-cross.inc +++ b/poky/meta/recipes-devtools/go/go-cross.inc @@ -14,6 +14,7 @@ export GO386 = "${TARGET_GO386}" export GOMIPS = "${TARGET_GOMIPS}" export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go" export GOROOT_FINAL = "${libdir}/go" +export GOCACHE = "${B}/.cache" CC = "${@d.getVar('BUILD_CC').strip()}" do_configure[noexec] = "1" diff --git a/poky/meta/recipes-devtools/go/go-runtime.inc b/poky/meta/recipes-devtools/go/go-runtime.inc index c219aa378..e28219561 100644 --- a/poky/meta/recipes-devtools/go/go-runtime.inc +++ b/poky/meta/recipes-devtools/go/go-runtime.inc @@ -15,6 +15,7 @@ export CGO_CFLAGS = "${CFLAGS}" export CGO_CPPFLAGS = "${CPPFLAGS}" export CGO_CXXFLAGS = "${CXXFLAGS}" export CGO_LDFLAGS = "${LDFLAGS}" +export GOCACHE = "${B}/.cache" GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}" GO_SHLIB_LDFLAGS ?= '-ldflags="--linkmode=external -extldflags '${GO_EXTLDFLAGS}'"' diff --git a/poky/meta/recipes-devtools/go/go-target.inc b/poky/meta/recipes-devtools/go/go-target.inc index 379f87b49..91efd3e97 100644 --- a/poky/meta/recipes-devtools/go/go-target.inc +++ b/poky/meta/recipes-devtools/go/go-target.inc @@ -10,6 +10,7 @@ export GO386 = "${TARGET_GO386}" export GOMIPS = "${TARGET_GOMIPS}" export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go" export GOROOT_FINAL = "${libdir}/go" +export GOCACHE = "${B}/.cache" GO_LDFLAGS = "" GO_LDFLAGS_class-nativesdk = "-linkmode external" export GO_LDFLAGS diff --git a/poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch b/poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch new file mode 100644 index 000000000..07f153162 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch @@ -0,0 +1,30 @@ +From 31a2c5555f9ef32f35d7d5ce1fd09a010ba5f5c6 Mon Sep 17 00:00:00 2001 +From: Joshua Watt +Date: Mon, 17 Jun 2019 10:47:15 -0500 +Subject: [PATCH 1/2] enc2xs: Add environment variable to suppress comments + +Comment generation in enc2xs can now be suppressed by setting the +ENC2XS_NO_COMMENTS environment variable. This allows enc2xs to produce +reproducible output by omitting the name of the generating program. + +Signed-off-by: Joshua Watt +Upstream-status: Accepted [https://github.com/dankogai/p5-encode/pull/145] +--- + cpan/Encode/bin/enc2xs | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs +index 619b64b757..bfce9ee735 100644 +--- a/cpan/Encode/bin/enc2xs ++++ b/cpan/Encode/bin/enc2xs +@@ -144,6 +144,7 @@ getopts('CM:SQqOo:f:n:v',\%opt); + $opt{M} and make_makefile_pl($opt{M}, @ARGV); + $opt{C} and make_configlocal_pm($opt{C}, @ARGV); + $opt{v} ||= $ENV{ENC2XS_VERBOSE}; ++$opt{q} ||= $ENV{ENC2XS_NO_COMMENTS}; + + sub verbose { + print STDERR @_ if $opt{v}; +-- +2.21.0 + diff --git a/poky/meta/recipes-devtools/perl/files/0002-Constant-Fix-up-shebang.patch b/poky/meta/recipes-devtools/perl/files/0002-Constant-Fix-up-shebang.patch new file mode 100644 index 000000000..e70ff67f7 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/0002-Constant-Fix-up-shebang.patch @@ -0,0 +1,32 @@ +From 260ebd15e16cd86b9b58e5c5f3a496b3853ca46d Mon Sep 17 00:00:00 2001 +From: Joshua Watt +Date: Mon, 17 Jun 2019 10:47:23 -0500 +Subject: [PATCH 2/2] Constant: Fix up shebang + +The instructions indicate that the script should be explicitly passed to +"perl -x", so automatically setting the #! to be ^X is unnecessary and +makes the file non-reproducible when building because ^X could be the +absolute path to miniperl. + +Signed-off-by: Joshua Watt +Upstream-status: Submitted [https://rt.cpan.org/Public/Bug/Display.html?id=129866] +--- + cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm +index 14eb809714..d4d074e121 100644 +--- a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm ++++ b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm +@@ -219,7 +219,7 @@ sub dogfood { + Regenerate these constant functions by feeding this entire source file to + perl -x + +-#!$^X -w ++#!/usr/bin/env perl -x -w + use ExtUtils::Constant qw (constant_types C_constant XS_constant); + + EOT +-- +2.21.0 + diff --git a/poky/meta/recipes-devtools/perl/perl-ptest.inc b/poky/meta/recipes-devtools/perl/perl-ptest.inc index 9dd9b7da5..715205776 100644 --- a/poky/meta/recipes-devtools/perl/perl-ptest.inc +++ b/poky/meta/recipes-devtools/perl/perl-ptest.inc @@ -2,6 +2,9 @@ inherit ptest SRC_URI += "file://run-ptest \ " + +DEBUG_PREFIX_MAP_REGEX = "${@'\\|'.join(d.getVar('DEBUG_PREFIX_MAP').split())}" + do_install_ptest () { mkdir -p ${D}${PTEST_PATH} sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/* @@ -13,7 +16,7 @@ do_install_ptest () { --exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \ --exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \ --exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=makefile.old \ - --exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x ) + --exclude=miniperl --exclude=generate_uudmap --exclude=patches --exclude='config.log' * | ( cd ${D}${PTEST_PATH} && tar -x ) ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl @@ -21,12 +24,12 @@ do_install_ptest () { find "${D}${PTEST_PATH}" \ \( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \ -o -name 'h2xs' -o -name 'h2ph' \ - -o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' \) \ + -o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' -o -name 'Makefile.config' \) \ -type f -exec sed -i \ -e "s,${D},,g" \ -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ -e "s,-isystem${STAGING_INCDIR} ,,g" \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's^${DEBUG_PREFIX_MAP_REGEX}^^g' \ -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ -e "s,${STAGING_LIBDIR},${libdir},g" \ -e "s,${STAGING_BINDIR},${bindir},g" \ diff --git a/poky/meta/recipes-devtools/perl/perl_5.30.0.bb b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb index b18a6b691..e3664290e 100644 --- a/poky/meta/recipes-devtools/perl/perl_5.30.0.bb +++ b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb @@ -19,6 +19,8 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ file://perl-dynloader.patch \ file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \ file://fix-setgroup.patch \ + file://0001-enc2xs-Add-environment-variable-to-suppress-comments.patch \ + file://0002-Constant-Fix-up-shebang.patch \ " SRC_URI_append_class-native = " \ file://perl-configpm-switch.patch \ @@ -37,6 +39,9 @@ DEPENDS += "db gdbm zlib virtual/crypt" PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" +# Don't generate comments in enc2xs output files. They are not reproducible +export ENC2XS_NO_COMMENTS = "1" + do_unpack_append() { bb.build.exec_func('do_copy_perlcross', d) } diff --git a/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py b/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py new file mode 100644 index 000000000..c4164313e --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py @@ -0,0 +1,21 @@ +#! /usr/bin/env python3 +# +# SPDX-License-Identifier: MIT +# +# Copyright 2019 by Garmin Ltd. or its subsidiaries +# +# A script to reformat python sysconfig + +import sys +import pprint +l = {} +g = {} +with open(sys.argv[1], 'r') as f: + exec(f.read(), g, l) + +with open(sys.argv[1], 'w') as f: + for k in sorted(l.keys()): + f.write('%s = ' % k) + pprint.pprint(l[k], stream=f, width=sys.maxsize) + f.write('\n') + diff --git a/poky/meta/recipes-devtools/python/python3_3.7.3.bb b/poky/meta/recipes-devtools/python/python3_3.7.3.bb index 8e77dbe95..3409d94ba 100644 --- a/poky/meta/recipes-devtools/python/python3_3.7.3.bb +++ b/poky/meta/recipes-devtools/python/python3_3.7.3.bb @@ -25,6 +25,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ file://crosspythonpath.patch \ + file://reformat_sysconfig.py \ " SRC_URI_append_class-native = " \ @@ -165,6 +166,12 @@ py_package_preprocess () { ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \ ${PKGD}/${bindir}/python${PYTHON_BINABI}-config + # Reformat _sysconfigdata after modifying it so that it remains + # reproducible + for c in ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do + python3 ${WORKDIR}/reformat_sysconfig.py $c + done + # Recompile _sysconfigdata after modifying it cd ${PKGD} sysconfigfile=`find . -name _sysconfigdata_*.py` diff --git a/poky/meta/recipes-extended/bash/bash.inc b/poky/meta/recipes-extended/bash/bash.inc index c91cc8ada..039b8687a 100644 --- a/poky/meta/recipes-extended/bash/bash.inc +++ b/poky/meta/recipes-extended/bash/bash.inc @@ -39,6 +39,12 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = " \ CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}" +do_compile_prepend() { + # Remove any leftover .build files. This ensures that bash always has the + # same version number and keeps builds reproducible + rm -f ${B}/.build +} + do_compile_ptest () { oe_runmake buildtest } diff --git a/poky/meta/recipes-extended/pigz/pigz_2.4.bb b/poky/meta/recipes-extended/pigz/pigz_2.4.bb index 6d62ce6cc..8c65ec34f 100644 --- a/poky/meta/recipes-extended/pigz/pigz_2.4.bb +++ b/poky/meta/recipes-extended/pigz/pigz_2.4.bb @@ -38,7 +38,7 @@ do_install_append_class-native() { ln -nsf gzip ${D}${bindir}/zcat } -ALTERNATIVE_PRIORITY = "80" +ALTERNATIVE_PRIORITY = "110" ALTERNATIVE_${PN} = "gunzip gzip zcat" ALTERNATIVE_${PN}_class-nativesdk = "" ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch deleted file mode 100644 index df18dc842..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 7244eac44be929fabd6ed1333f96929ef8da564f Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte -Date: Tue, 19 Mar 2019 17:56:49 +0000 -Subject: [PATCH] fix: tests: link libpause_consumer on liblttng-ctl - -This preload test library uses symbols from liblttng-ctl which are -resolved when preloaded by GLIBC but not by MUSL. - -Upstream-Status: Accepted [f667fbd7f8b9512f9943edb2597c226fcc424ee9] -Backported to 2.11 and 2.10. - -Signed-off-by: Michael Jeanson ---- - tests/regression/tools/notification/Makefile.am | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/tests/regression/tools/notification/Makefile.am b/tests/regression/tools/notification/Makefile.am -index 41adc69..a352bb8 100644 ---- a/tests/regression/tools/notification/Makefile.am -+++ b/tests/regression/tools/notification/Makefile.am -@@ -20,7 +20,10 @@ FORCE_SHARED_LIB_OPTIONS = -module -shared -avoid-version \ - -rpath $(abs_builddir) - - libpause_consumer_la_SOURCES = consumer_testpoints.c --libpause_consumer_la_LIBADD = $(top_builddir)/src/common/libcommon.la $(DL_LIBS) -+libpause_consumer_la_LIBADD = \ -+ $(top_builddir)/src/common/libcommon.la \ -+ $(top_builddir)/src/lib/lttng-ctl/liblttng-ctl.la \ -+ $(DL_LIBS) - libpause_consumer_la_LDFLAGS = $(FORCE_SHARED_LIB_OPTIONS) - noinst_LTLIBRARIES = libpause_consumer.la - --- -2.17.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch new file mode 100644 index 000000000..6c9f7e462 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch @@ -0,0 +1,610 @@ +From 95c27e6acceaeda55c729b9e92e594322adef13f Mon Sep 17 00:00:00 2001 +From: Jonathan Rajotte +Date: Wed, 3 Apr 2019 16:31:18 -0400 +Subject: [PATCH lttng-tools] Skip when testapp is not present + +We expect lttng-ust do be present, this is a wrong assumptions. + +This is a quick fix. The real fix is to either detect at runtime +lttng-ust support or at build time (HAVE_LIBLTTNG_UST_CTL). + +This prevent hang for make check done on a build configured with +--without-lttng-ust. + +Upstream-Status: Inappropriate [other] +Reason: This patch is inappropriate for upstream for 2.10 stable release +since we do not backport "superficial" fix to the test suite. We do +backport when a test is broken. The fact that on --without-lttng-ust +hang is not a "broken" test per-see. Still, a variation of this fix will +be upstreamed in our master branch and possibly 2.11. The upstreamed +version will split the test in kernel/ust test and skip them at the +build system level. This patch is more succinct. + +Signed-off-by: Jonathan Rajotte +--- + tests/regression/tools/crash/test_crash | 4 ++ + .../regression/tools/exclusion/test_exclusion | 4 ++ + .../tools/filtering/test_valid_filter | 21 ++++-- + tests/regression/tools/health/test_thread_ok | 29 +++++--- + tests/regression/tools/live/Makefile.am | 2 - + tests/regression/tools/live/test_lttng_ust | 4 ++ + tests/regression/tools/live/test_ust | 4 ++ + .../tools/live/test_ust_tracefile_count | 4 ++ + tests/regression/tools/mi/test_mi | 4 ++ + .../notification/test_notification_multi_app | 18 +++-- + .../tools/notification/test_notification_ust | 4 ++ + .../regression/tools/regen-metadata/test_ust | 2 +- + .../regression/tools/regen-statedump/test_ust | 2 +- + .../regression/tools/save-load/test_autoload | 7 ++ + tests/regression/tools/save-load/test_load | 8 +++ + tests/regression/tools/save-load/test_save | 7 ++ + .../regression/tools/snapshots/test_ust_fast | 2 +- + .../regression/tools/snapshots/test_ust_long | 2 +- + .../tools/snapshots/test_ust_streaming | 2 +- + tests/regression/tools/snapshots/ust_test | 2 +- + .../streaming/test_high_throughput_limits | 2 +- + tests/regression/tools/streaming/test_ust | 2 +- + .../tracefile-limits/test_tracefile_count | 2 +- + .../tracefile-limits/test_tracefile_size | 2 +- + .../tools/wildcard/test_event_wildcard | 67 ++++++++++--------- + 25 files changed, 147 insertions(+), 60 deletions(-) + +diff --git a/tests/regression/tools/crash/test_crash b/tests/regression/tools/crash/test_crash +index 8c62c513d..3cbe97688 100755 +--- a/tests/regression/tools/crash/test_crash ++++ b/tests/regression/tools/crash/test_crash +@@ -35,6 +35,10 @@ NUM_TESTS=77 + + source $TESTDIR/utils/utils.sh + ++if [ ! -x "$TESTAPP_BIN" ]; then ++ plan_skip_all "No UST events binary detected." ++fi ++ + # Global declaration for simplification + LTTNG_CRASH=$TESTDIR/../src/bin/lttng-crash/$CRASH_BIN + +diff --git a/tests/regression/tools/exclusion/test_exclusion b/tests/regression/tools/exclusion/test_exclusion +index 949cd41df..42e4d72fb 100755 +--- a/tests/regression/tools/exclusion/test_exclusion ++++ b/tests/regression/tools/exclusion/test_exclusion +@@ -30,6 +30,10 @@ NUM_TESTS=149 + + source $TESTDIR/utils/utils.sh + ++if [ ! -x "$TESTAPP_BIN" ]; then ++ plan_skip_all "No UST events binary detected." ++fi ++ + function enable_ust_lttng_all_event_exclusion() + { + sess_name="$1" +diff --git a/tests/regression/tools/filtering/test_valid_filter b/tests/regression/tools/filtering/test_valid_filter +index 163b32182..1e8da630b 100755 +--- a/tests/regression/tools/filtering/test_valid_filter ++++ b/tests/regression/tools/filtering/test_valid_filter +@@ -418,12 +418,18 @@ issue_356_filter+="intfield > 4 && intfield > 5 && " + issue_356_filter+="intfield > 6 && intfield > 7 && " + issue_356_filter+="intfield > 8 || intfield > 0" + ++BIN_NAME="gen-ust-events" ++ ++skip_ust=1 ++if [ ! -x "$CURDIR/$BIN_NAME" ]; then ++ skip_ust=0 ++ skip 0 "No UST nevents binary detected." $NUM_UST_TESTS ++fi ++ + start_lttng_sessiond + + ### UST TESTS + +-BIN_NAME="gen-ust-events" +- + KIRK_KRAUSS_TESTS=( + # the tests below were written by Kirk Krauss in this article: + # http://www.drdobbs.com/architecture-and-design/matching-wildcards-an-empirical-way-to-t/240169123 +@@ -897,9 +903,6 @@ UST_STR_FILTERS=( + END + ) + +-if [ ! -x "$CURDIR/$BIN_NAME" ]; then +- BAIL_OUT "No UST nevents binary detected." +-fi + + IFS="$OLDIFS" + +@@ -910,6 +913,10 @@ i=0 + while true; do + validator="${UST_FILTERS[$i]}" + ++ if [ $skip_ust -eq 0 ]; then ++ break ++ fi ++ + if [ "$validator" = END ]; then + break + fi +@@ -929,6 +936,10 @@ i=0 + while true; do + validator="${UST_STR_FILTERS[$i]}" + ++ if [ $skip_ust -eq 0 ]; then ++ break ++ fi ++ + if [ "$validator" = END ]; then + break + fi +diff --git a/tests/regression/tools/health/test_thread_ok b/tests/regression/tools/health/test_thread_ok +index e81d6ed24..849b7e71f 100755 +--- a/tests/regression/tools/health/test_thread_ok ++++ b/tests/regression/tools/health/test_thread_ok +@@ -27,6 +27,9 @@ CHANNEL_NAME="testchan" + HEALTH_CHECK_BIN="health_check" + NUM_TESTS=17 + SLEEP_TIME=30 ++TESTAPP_PATH="$TESTDIR/utils/testapp" ++TESTAPP_NAME="gen-ust-events" ++TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" + + source $TESTDIR/utils/utils.sh + +@@ -76,15 +79,19 @@ function test_thread_ok + $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH} + report_errors + +- diag "With UST consumer daemons" +- create_lttng_session_no_output $SESSION_NAME +- enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME +- start_lttng_tracing_ok $SESSION_NAME +- destroy_lttng_session_ok $SESSION_NAME ++ skip $skip_ust "Ust does not seems to be supported" "5" || ++ { ++ diag "With UST consumer daemons" ++ create_lttng_session_no_output $SESSION_NAME ++ enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME ++ start_lttng_tracing_ok $SESSION_NAME ++ destroy_lttng_session_ok $SESSION_NAME + +- # Check health status +- $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH} +- report_errors ++ ++ # Check health status ++ $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH} ++ report_errors ++ } + + skip $isroot "Root access is needed. Skipping kernel consumer health check test." "5" || + { +@@ -141,6 +148,12 @@ else + isroot=0 + fi + ++if [ ! -x "$TESTAPP_BIN" ]; then ++ skip_ust=0 ++else ++ skip_ust=1 ++fi ++ + test_thread_ok + + rm -rf ${HEALTH_PATH} +diff --git a/tests/regression/tools/live/Makefile.am b/tests/regression/tools/live/Makefile.am +index 46186d383..db74de8d5 100644 +--- a/tests/regression/tools/live/Makefile.am ++++ b/tests/regression/tools/live/Makefile.am +@@ -16,9 +16,7 @@ LIVE=$(top_builddir)/src/bin/lttng-sessiond/session.$(OBJEXT) \ + noinst_PROGRAMS = live_test + EXTRA_DIST = test_kernel test_lttng_kernel + +-if HAVE_LIBLTTNG_UST_CTL + EXTRA_DIST += test_ust test_ust_tracefile_count test_lttng_ust +-endif + + live_test_SOURCES = live_test.c + live_test_LDADD = $(LIBTAP) $(LIBCOMMON) $(LIBRELAYD) $(LIBSESSIOND_COMM) \ +diff --git a/tests/regression/tools/live/test_lttng_ust b/tests/regression/tools/live/test_lttng_ust +index 06017d01d..be9b3d7f7 100755 +--- a/tests/regression/tools/live/test_lttng_ust ++++ b/tests/regression/tools/live/test_lttng_ust +@@ -38,6 +38,10 @@ NUM_TESTS=12 + + source $TESTDIR/utils/utils.sh + ++if [ ! -x "$TESTAPP_BIN" ]; then ++ plan_skip_all "No UST events binary detected." ++fi ++ + # MUST set TESTDIR before calling those functions + plan_tests $NUM_TESTS + +diff --git a/tests/regression/tools/live/test_ust b/tests/regression/tools/live/test_ust +index 0384a706f..add521bfc 100755 +--- a/tests/regression/tools/live/test_ust ++++ b/tests/regression/tools/live/test_ust +@@ -36,6 +36,10 @@ DIR=$(readlink -f $TESTDIR) + + source $TESTDIR/utils/utils.sh + ++if [ ! -x "$TESTAPP_BIN" ]; then ++ plan_skip_all "No UST events binary detected." ++fi ++ + echo "$TEST_DESC" + + function setup_live_tracing() +diff --git a/tests/regression/tools/live/test_ust_tracefile_count b/tests/regression/tools/live/test_ust_tracefile_count +index 6da368fc6..10504f8c6 100755 +--- a/tests/regression/tools/live/test_ust_tracefile_count ++++ b/tests/regression/tools/live/test_ust_tracefile_count +@@ -36,6 +36,10 @@ DIR=$(readlink -f $TESTDIR) + + source $TESTDIR/utils/utils.sh + ++if [ ! -x "$TESTAPP_BIN" ]; then ++ plan_skip_all "No UST events binary detected." ++fi ++ + echo "$TEST_DESC" + + function setup_live_tracing() +diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi +index 48dda7da6..2cc30b29a 100755 +--- a/tests/regression/tools/mi/test_mi ++++ b/tests/regression/tools/mi/test_mi +@@ -61,6 +61,10 @@ NUM_TESTS=228 + + source $TESTDIR/utils/utils.sh + ++if [ ! -x "$TESTAPP_BIN" ]; then ++ plan_skip_all "No UST events binary detected." ++fi ++ + #Overwrite the lttng_bin to get mi output + LTTNG_BIN="lttng --mi xml" + +diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app +index 0a05ea6a0..29b0f62fa 100755 +--- a/tests/regression/tools/notification/test_notification_multi_app ++++ b/tests/regression/tools/notification/test_notification_multi_app +@@ -52,6 +52,11 @@ plan_tests $NUM_TESTS + + print_test_banner "$TEST_DESC" + ++skip_ust=1 ++if [ ! -x "$TESTAPP_BIN" ]; then ++ skip_ust=0 ++fi ++ + app_pids=() + + function kernel_event_generator_toogle_state +@@ -468,10 +473,15 @@ function test_on_register_evaluation () + } + + +-TESTS=( +- test_multi_app_ust +- test_on_register_evaluation_ust +-) ++TESTS=() ++if [ $skip_ust -eq "1" ]; then ++ TESTS+=( ++ test_multi_app_ust ++ test_on_register_evaluation_ust ++ ) ++else ++ skip 0 "No UST events binary detected." $NUM_TEST_UST ++fi + + if [ "$(id -u)" == "0" ]; then + TESTS+=( +diff --git a/tests/regression/tools/notification/test_notification_ust b/tests/regression/tools/notification/test_notification_ust +index 8941e476d..eb2e15cad 100755 +--- a/tests/regression/tools/notification/test_notification_ust ++++ b/tests/regression/tools/notification/test_notification_ust +@@ -46,6 +46,10 @@ DIR=$(readlink -f $TESTDIR) + + source $TESTDIR/utils/utils.sh + ++if [ ! -x "$TESTAPP_BIN" ]; then ++ plan_skip_all "No UST events binary detected." ++fi ++ + function ust_event_generator_toogle_state + { + ust_event_generator_suspended=$((ust_event_generator_suspended==0)) +diff --git a/tests/regression/tools/regen-metadata/test_ust b/tests/regression/tools/regen-metadata/test_ust +index b7f1af1d8..312c8a40d 100755 +--- a/tests/regression/tools/regen-metadata/test_ust ++++ b/tests/regression/tools/regen-metadata/test_ust +@@ -34,7 +34,7 @@ NUM_TESTS=33 + source $TESTDIR/utils/utils.sh + + if [ ! -x "$TESTAPP_BIN" ]; then +- BAIL_OUT "No UST events binary detected." ++ plan_skip_all "No UST events binary detected." + fi + + function lttng_create_session_uri +diff --git a/tests/regression/tools/regen-statedump/test_ust b/tests/regression/tools/regen-statedump/test_ust +index 486b9a560..8d455b26a 100755 +--- a/tests/regression/tools/regen-statedump/test_ust ++++ b/tests/regression/tools/regen-statedump/test_ust +@@ -34,7 +34,7 @@ NUM_TESTS=11 + source $TESTDIR/utils/utils.sh + + if [ ! -x "$TESTAPP_BIN" ]; then +- BAIL_OUT "No UST events binary detected." ++ plan_skip_all "No UST events binary detected." + fi + + function test_ust_local () +diff --git a/tests/regression/tools/save-load/test_autoload b/tests/regression/tools/save-load/test_autoload +index 7ee5e9906..ec376cfb3 100755 +--- a/tests/regression/tools/save-load/test_autoload ++++ b/tests/regression/tools/save-load/test_autoload +@@ -21,6 +21,9 @@ CURDIR=$(dirname $0)/ + CONFIG_DIR="${CURDIR}/configuration" + TESTDIR=$CURDIR/../../../ + export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/) ++TESTAPP_PATH="$TESTDIR/utils/testapp" ++TESTAPP_NAME="gen-ust-events" ++TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" + + DIR=$(readlink -f $TESTDIR) + +@@ -28,6 +31,10 @@ NUM_TESTS=9 + + source $TESTDIR/utils/utils.sh + ++if [ ! -x "$TESTAPP_BIN" ]; then ++ plan_skip_all "No UST events binary detected." ++fi ++ + # MUST set TESTDIR before calling those functions + plan_tests $NUM_TESTS + +diff --git a/tests/regression/tools/save-load/test_load b/tests/regression/tools/save-load/test_load +index 5e38b46b6..b6fdd8192 100755 +--- a/tests/regression/tools/save-load/test_load ++++ b/tests/regression/tools/save-load/test_load +@@ -20,6 +20,10 @@ TEST_DESC="Load session(s)" + CURDIR=$(dirname $0)/ + CONFIG_DIR="${CURDIR}/configuration" + TESTDIR=$CURDIR/../../../ ++TESTAPP_PATH="$TESTDIR/utils/testapp" ++TESTAPP_NAME="gen-ust-events" ++TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" ++ + export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/) + + SESSION_NAME="load-42" +@@ -31,6 +35,10 @@ NUM_TESTS=67 + + source $TESTDIR/utils/utils.sh + ++if [ ! -x "$TESTAPP_BIN" ]; then ++ plan_skip_all "No UST events binary detected." ++fi ++ + # MUST set TESTDIR before calling those functions + plan_tests $NUM_TESTS + +diff --git a/tests/regression/tools/save-load/test_save b/tests/regression/tools/save-load/test_save +index c5f6b1341..cfaf67b7a 100755 +--- a/tests/regression/tools/save-load/test_save ++++ b/tests/regression/tools/save-load/test_save +@@ -23,6 +23,9 @@ TESTDIR=$CURDIR/../../../ + SESSION_NAME="save-42" + CHANNEL_NAME="chan-save" + EVENT_NAME="tp:tptest" ++TESTAPP_PATH="$TESTDIR/utils/testapp" ++TESTAPP_NAME="gen-ust-events" ++TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" + + DIR=$(readlink -f $TESTDIR) + +@@ -30,6 +33,10 @@ NUM_TESTS=41 + + source $TESTDIR/utils/utils.sh + ++if [ ! -x "TESTAPP_BIN" ]; then ++ plan_skip_all "No UST events binary detected." ++fi ++ + # MUST set TESTDIR before calling those functions + plan_tests $NUM_TESTS + +diff --git a/tests/regression/tools/snapshots/test_ust_fast b/tests/regression/tools/snapshots/test_ust_fast +index edb435c52..5a68ec56d 100755 +--- a/tests/regression/tools/snapshots/test_ust_fast ++++ b/tests/regression/tools/snapshots/test_ust_fast +@@ -23,7 +23,7 @@ TEST_BIN="ust_test" + source $TESTDIR/utils/utils.sh + + if [ ! -x "$CURDIR/$TEST_BIN" ]; then +- BAIL_OUT "No UST test found: $TEST_BIN" ++ plan_skip_all "No UST test found: $TEST_BIN" + fi + + ./$CURDIR/$TEST_BIN $NR_SNAPSHOT +diff --git a/tests/regression/tools/snapshots/test_ust_long b/tests/regression/tools/snapshots/test_ust_long +index 9e1a0c262..afa019f6a 100755 +--- a/tests/regression/tools/snapshots/test_ust_long ++++ b/tests/regression/tools/snapshots/test_ust_long +@@ -23,7 +23,7 @@ TEST_BIN="ust_test" + source $TESTDIR/utils/utils.sh + + if [ ! -x "$CURDIR/$TEST_BIN" ]; then +- BAIL_OUT "No UST test found: $TEST_BIN" ++ plan_skip_all "No UST test found: $TEST_BIN" + fi + + ./$CURDIR/$TEST_BIN $NR_SNAPSHOT +diff --git a/tests/regression/tools/snapshots/test_ust_streaming b/tests/regression/tools/snapshots/test_ust_streaming +index 93b0957f3..69291ab4d 100755 +--- a/tests/regression/tools/snapshots/test_ust_streaming ++++ b/tests/regression/tools/snapshots/test_ust_streaming +@@ -37,7 +37,7 @@ NUM_TESTS=75 + source $TESTDIR/utils/utils.sh + + if [ ! -x "$TESTAPP_BIN" ]; then +- BAIL_OUT "No UST events binary detected." ++ plan_skip_all "No UST events binary detected." + fi + + function snapshot_add_output () +diff --git a/tests/regression/tools/snapshots/ust_test b/tests/regression/tools/snapshots/ust_test +index 755cef9e0..92f9f6cff 100755 +--- a/tests/regression/tools/snapshots/ust_test ++++ b/tests/regression/tools/snapshots/ust_test +@@ -34,7 +34,7 @@ TRACE_PATH=$(mktemp -d) + source $TESTDIR/utils/utils.sh + + if [ ! -x "$TESTAPP_BIN" ]; then +- BAIL_OUT "No UST events binary detected." ++ plan_skip_all "No UST events binary detected." + fi + + # Need the number of snapshot to do. +diff --git a/tests/regression/tools/streaming/test_high_throughput_limits b/tests/regression/tools/streaming/test_high_throughput_limits +index 32c3f1f2b..f54178923 100755 +--- a/tests/regression/tools/streaming/test_high_throughput_limits ++++ b/tests/regression/tools/streaming/test_high_throughput_limits +@@ -38,7 +38,7 @@ NUM_TESTS=104 + source $TESTDIR/utils/utils.sh + + if [ ! -x "$TESTAPP_BIN" ]; then +- BAIL_OUT "No UST events binary detected." ++ plan_skip_all "No UST events binary detected." + fi + + function set_bw_limit +diff --git a/tests/regression/tools/streaming/test_ust b/tests/regression/tools/streaming/test_ust +index a5d5b5e92..e1dd98ee7 100755 +--- a/tests/regression/tools/streaming/test_ust ++++ b/tests/regression/tools/streaming/test_ust +@@ -34,7 +34,7 @@ NUM_TESTS=16 + source $TESTDIR/utils/utils.sh + + if [ ! -x "$TESTAPP_BIN" ]; then +- BAIL_OUT "No UST events binary detected." ++ plan_skip_all "No UST events binary detected." + fi + + function lttng_create_session_uri +diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_count b/tests/regression/tools/tracefile-limits/test_tracefile_count +index 6ada8580f..7553c7d1f 100755 +--- a/tests/regression/tools/tracefile-limits/test_tracefile_count ++++ b/tests/regression/tools/tracefile-limits/test_tracefile_count +@@ -33,7 +33,7 @@ PAGE_SIZE=$(getconf PAGE_SIZE) + source $TESTDIR/utils/utils.sh + + if [ ! -x "$TESTAPP_BIN" ]; then +- BAIL_OUT "No UST events binary detected." ++ plan_skip_all "No UST events binary detected." + fi + + function enable_lttng_channel_count_limit () +diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_size b/tests/regression/tools/tracefile-limits/test_tracefile_size +index 3dddbe613..1089487ff 100755 +--- a/tests/regression/tools/tracefile-limits/test_tracefile_size ++++ b/tests/regression/tools/tracefile-limits/test_tracefile_size +@@ -33,7 +33,7 @@ NUM_TESTS=66 + source $TESTDIR/utils/utils.sh + + if [ ! -x "$TESTAPP_BIN" ]; then +- BAIL_OUT "No UST events binary detected." ++ plan_skip_all "No UST events binary detected." + fi + + function enable_lttng_channel_size_limit () +diff --git a/tests/regression/tools/wildcard/test_event_wildcard b/tests/regression/tools/wildcard/test_event_wildcard +index 61ea67a72..921a2301d 100755 +--- a/tests/regression/tools/wildcard/test_event_wildcard ++++ b/tests/regression/tools/wildcard/test_event_wildcard +@@ -97,42 +97,47 @@ print_test_banner "$TEST_DESC" + + start_lttng_sessiond + +-diag "Test UST wildcard" +- + if [ ! -x "$TESTAPP_BIN" ]; then +- BAIL_OUT "No UST nevents binary detected." ++ skip_ust=0 ++else ++ skip_ust=1 + fi + +-EVENT_NAME="tp:tptest" ++skip $skip_ust "No UST nevents binary detected." $NUM_UST_TESTS || ++{ ++ diag "Test UST wildcard" + +-# non-matching +-test_event_wildcard ust 0 'tp:abc*' +-test_event_wildcard ust 0 '*abc' +-test_event_wildcard ust 0 '*z*' +-test_event_wildcard ust 0 '*\**' +-test_event_wildcard ust 0 '*\*' +-test_event_wildcard ust 0 '\**' +-test_event_wildcard ust 0 '*:*tpte*s' +-test_event_wildcard ust 0 'tp**tpTest' ++ EVENT_NAME="tp:tptest" + +-# matching +-test_event_wildcard ust 1 'tp:tp*' +-test_event_wildcard ust 1 '*' +-test_event_wildcard ust 1 'tp:tptest*' +-test_event_wildcard ust 1 '**' +-test_event_wildcard ust 1 '***' +-test_event_wildcard ust 1 '*tptest' +-test_event_wildcard ust 1 '**tptest' +-test_event_wildcard ust 1 '*tpte*' +-test_event_wildcard ust 1 '*tp*' +-test_event_wildcard ust 1 '*tp**' +-test_event_wildcard ust 1 '*:*tptest' +-test_event_wildcard ust 1 '*:*tpte*t' +-test_event_wildcard ust 1 't*p*:*t*e*s*t' +-test_event_wildcard ust 1 '*t*p*:*t*e*s*t*' +-test_event_wildcard ust 1 'tp*tptest' +-test_event_wildcard ust 1 'tp**tptest' +-test_event_wildcard ust 1 'tp*test' ++ # non-matching ++ test_event_wildcard ust 0 'tp:abc*' ++ test_event_wildcard ust 0 '*abc' ++ test_event_wildcard ust 0 '*z*' ++ test_event_wildcard ust 0 '*\**' ++ test_event_wildcard ust 0 '*\*' ++ test_event_wildcard ust 0 '\**' ++ test_event_wildcard ust 0 '*:*tpte*s' ++ test_event_wildcard ust 0 'tp**tpTest' ++ ++ # matching ++ test_event_wildcard ust 1 'tp:tp*' ++ test_event_wildcard ust 1 '*' ++ test_event_wildcard ust 1 'tp:tptest*' ++ test_event_wildcard ust 1 '**' ++ test_event_wildcard ust 1 '***' ++ test_event_wildcard ust 1 '*tptest' ++ test_event_wildcard ust 1 '**tptest' ++ test_event_wildcard ust 1 '*tpte*' ++ test_event_wildcard ust 1 '*tp*' ++ test_event_wildcard ust 1 '*tp**' ++ test_event_wildcard ust 1 '*:*tptest' ++ test_event_wildcard ust 1 '*:*tpte*t' ++ test_event_wildcard ust 1 't*p*:*t*e*s*t' ++ test_event_wildcard ust 1 '*t*p*:*t*e*s*t*' ++ test_event_wildcard ust 1 'tp*tptest' ++ test_event_wildcard ust 1 'tp**tptest' ++ test_event_wildcard ust 1 'tp*test' ++} + + if [ "$(id -u)" == "0" ]; then + isroot=1 +-- +2.17.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch new file mode 100644 index 000000000..784a07940 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch @@ -0,0 +1,24 @@ +From 58e4dcce48b48b68b65bffc0cd51d9e26b44c75d Mon Sep 17 00:00:00 2001 +From: Jonathan Rajotte +Date: Wed, 22 May 2019 16:44:54 -0400 +Subject: [PATCH] Fix: check for lttng modules presence before testing + +Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2019-May/028987.html] + +Signed-off-by: Jonathan Rajotte +--- + tests/regression/tools/notification/test_notification_multi_app | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app +index 29b0f62..a6baf65 100755 +--- a/tests/regression/tools/notification/test_notification_multi_app ++++ b/tests/regression/tools/notification/test_notification_multi_app +@@ -484,6 +484,7 @@ else + fi + + if [ "$(id -u)" == "0" ]; then ++ validate_lttng_modules_present + TESTS+=( + test_multi_app_kernel + test_on_register_evaluation_kernel diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch deleted file mode 100644 index 5bb88d21e..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch +++ /dev/null @@ -1,52 +0,0 @@ -From e7db27668a9d7fd279d45bc43f3a2d5847374e7b Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte -Date: Tue, 12 Mar 2019 12:04:58 -0400 -Subject: [PATCH lttng-tools 1/2] Fix: test: skip test_getcpu_override on - single thread system - -There is no value in performing this test on single thread system -since the only valid value for the cpu field is 0. - -This test currently fails on single thread system (i.e yocto runquemu) -on the test_getcpu_override_fail test case. - -Upstream-Status: Accepted [f87d0ca370c17b597762f5ee218f0e821ed2452d] -Backported to 2.11 and 2.10 - -Signed-off-by: Jonathan Rajotte ---- - .../ust/getcpu-override/test_getcpu_override | 16 +++++++++++----- - 1 file changed, 11 insertions(+), 5 deletions(-) - -diff --git a/tests/regression/ust/getcpu-override/test_getcpu_override b/tests/regression/ust/getcpu-override/test_getcpu_override -index 4ca385aeb..ee3e31953 100755 ---- a/tests/regression/ust/getcpu-override/test_getcpu_override -+++ b/tests/regression/ust/getcpu-override/test_getcpu_override -@@ -157,13 +157,19 @@ plan_tests $NUM_TESTS - - print_test_banner "$TEST_DESC" - --if [ -x "$CURDIR/.libs/lttng-ust-getcpu-override-test.so" ]; then -- foundobj=1 --else -- foundobj=0 -+if [ ! -x "$CURDIR/.libs/lttng-ust-getcpu-override-test.so" ]; then -+ skip 0 "No shared object generated. Skipping all tests." $NUM_TESTS && exit 0 -+fi -+ -+if [ "$num_cpus" -eq "1" ]; then -+ # Skip the test since we cannot perform it as designed since N mod 1 -+ # is always equals to zero. There is no point testing this on a system -+ # with a single thread. LTTng-UST limits the get_cpu function to return -+ # value inside the [0, NUM_CPU - 1] range for a valid event (present in -+ # trace). -+ skip 0 "Test system only have a single thread. Skipping all tests." $NUM_TESTS && exit 0 - fi - --skip $foundobj "No shared object generated. Skipping all tests." $NUM_TESTS && exit 0 - - TESTS=( - test_getcpu_override_fail --- -2.17.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch deleted file mode 100644 index 822b26a36..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 83d165442d1c3658b6bafa28ddade8ffee7092ad Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte -Date: Wed, 6 Mar 2019 16:46:49 -0500 -Subject: [PATCH lttng-tools 2/2] Fix: test: unit: the tree origin can be a - symlink itself - -Problem: - -The base tree is defined as "/tmp/.....XXXXXX". -On systems where "/tmp/" is itself a symlink utils_expand_path will -expand the tree origin itself. - -For example on a base core-image-minimal Yocto build /tmp is a symlink -to "/var/tmp", which is a symlink to "/var/volatile". - -utils_expand_path will return something like this for the symlink test: -"/var/volative/.....XXXXXX/...." which is the valid result. - -Solution: - -Simply use realpath on the tree_origin and use this path to perform the -test validation. - -This work was performed in the effort to support yocto fully and be able -to run the test suite to detect problem as early as possible. - - -Upstream-Status: Accepted [f66e964a2e0c75f5e1a55fbcc963b1c5e2b4519d] -Backported to 2.11 and 2.10 - -Signed-off-by: Jonathan Rajotte ---- - tests/unit/test_utils_expand_path.c | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -diff --git a/tests/unit/test_utils_expand_path.c b/tests/unit/test_utils_expand_path.c -index d5cab002e..d047c207d 100644 ---- a/tests/unit/test_utils_expand_path.c -+++ b/tests/unit/test_utils_expand_path.c -@@ -281,8 +281,8 @@ error: - static void test_utils_expand_path(void) - { - char *result; -- char name[100], tmppath[PATH_MAX]; -- int i; -+ char name[100], tmppath[PATH_MAX], real_tree_origin[PATH_MAX]; -+ int i, treelen; - - /* Test valid cases */ - for (i = 0; i < num_valid_tests; i++) { -@@ -295,14 +295,24 @@ static void test_utils_expand_path(void) - free(result); - } - -+ /* -+ * Get the realpath for the tree_origin since it can itself be a -+ * symlink. -+ */ -+ result = realpath(tree_origin, real_tree_origin); -+ if (!result) { -+ fail("realpath failed."); -+ return; -+ } -+ - /* Test symlink tree cases */ -- int treelen = strlen(tree_origin) + 1; -+ treelen = strlen(real_tree_origin) + 1; - for (i = 0; i < num_symlink_tests; i++) { - sprintf(name, "symlink tree test case: [tmppath/]%s", - symlink_tests_inputs[i].input); - - snprintf(tmppath, PATH_MAX, "%s/%s", -- tree_origin, symlink_tests_inputs[i].input); -+ real_tree_origin, symlink_tests_inputs[i].input); - result = utils_expand_path(tmppath); - ok(result != NULL && strcmp(result + treelen, - symlink_tests_inputs[i].expected_result) == 0, name); --- -2.17.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch deleted file mode 100644 index 6c9f7e462..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch +++ /dev/null @@ -1,610 +0,0 @@ -From 95c27e6acceaeda55c729b9e92e594322adef13f Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte -Date: Wed, 3 Apr 2019 16:31:18 -0400 -Subject: [PATCH lttng-tools] Skip when testapp is not present - -We expect lttng-ust do be present, this is a wrong assumptions. - -This is a quick fix. The real fix is to either detect at runtime -lttng-ust support or at build time (HAVE_LIBLTTNG_UST_CTL). - -This prevent hang for make check done on a build configured with ---without-lttng-ust. - -Upstream-Status: Inappropriate [other] -Reason: This patch is inappropriate for upstream for 2.10 stable release -since we do not backport "superficial" fix to the test suite. We do -backport when a test is broken. The fact that on --without-lttng-ust -hang is not a "broken" test per-see. Still, a variation of this fix will -be upstreamed in our master branch and possibly 2.11. The upstreamed -version will split the test in kernel/ust test and skip them at the -build system level. This patch is more succinct. - -Signed-off-by: Jonathan Rajotte ---- - tests/regression/tools/crash/test_crash | 4 ++ - .../regression/tools/exclusion/test_exclusion | 4 ++ - .../tools/filtering/test_valid_filter | 21 ++++-- - tests/regression/tools/health/test_thread_ok | 29 +++++--- - tests/regression/tools/live/Makefile.am | 2 - - tests/regression/tools/live/test_lttng_ust | 4 ++ - tests/regression/tools/live/test_ust | 4 ++ - .../tools/live/test_ust_tracefile_count | 4 ++ - tests/regression/tools/mi/test_mi | 4 ++ - .../notification/test_notification_multi_app | 18 +++-- - .../tools/notification/test_notification_ust | 4 ++ - .../regression/tools/regen-metadata/test_ust | 2 +- - .../regression/tools/regen-statedump/test_ust | 2 +- - .../regression/tools/save-load/test_autoload | 7 ++ - tests/regression/tools/save-load/test_load | 8 +++ - tests/regression/tools/save-load/test_save | 7 ++ - .../regression/tools/snapshots/test_ust_fast | 2 +- - .../regression/tools/snapshots/test_ust_long | 2 +- - .../tools/snapshots/test_ust_streaming | 2 +- - tests/regression/tools/snapshots/ust_test | 2 +- - .../streaming/test_high_throughput_limits | 2 +- - tests/regression/tools/streaming/test_ust | 2 +- - .../tracefile-limits/test_tracefile_count | 2 +- - .../tracefile-limits/test_tracefile_size | 2 +- - .../tools/wildcard/test_event_wildcard | 67 ++++++++++--------- - 25 files changed, 147 insertions(+), 60 deletions(-) - -diff --git a/tests/regression/tools/crash/test_crash b/tests/regression/tools/crash/test_crash -index 8c62c513d..3cbe97688 100755 ---- a/tests/regression/tools/crash/test_crash -+++ b/tests/regression/tools/crash/test_crash -@@ -35,6 +35,10 @@ NUM_TESTS=77 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - # Global declaration for simplification - LTTNG_CRASH=$TESTDIR/../src/bin/lttng-crash/$CRASH_BIN - -diff --git a/tests/regression/tools/exclusion/test_exclusion b/tests/regression/tools/exclusion/test_exclusion -index 949cd41df..42e4d72fb 100755 ---- a/tests/regression/tools/exclusion/test_exclusion -+++ b/tests/regression/tools/exclusion/test_exclusion -@@ -30,6 +30,10 @@ NUM_TESTS=149 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - function enable_ust_lttng_all_event_exclusion() - { - sess_name="$1" -diff --git a/tests/regression/tools/filtering/test_valid_filter b/tests/regression/tools/filtering/test_valid_filter -index 163b32182..1e8da630b 100755 ---- a/tests/regression/tools/filtering/test_valid_filter -+++ b/tests/regression/tools/filtering/test_valid_filter -@@ -418,12 +418,18 @@ issue_356_filter+="intfield > 4 && intfield > 5 && " - issue_356_filter+="intfield > 6 && intfield > 7 && " - issue_356_filter+="intfield > 8 || intfield > 0" - -+BIN_NAME="gen-ust-events" -+ -+skip_ust=1 -+if [ ! -x "$CURDIR/$BIN_NAME" ]; then -+ skip_ust=0 -+ skip 0 "No UST nevents binary detected." $NUM_UST_TESTS -+fi -+ - start_lttng_sessiond - - ### UST TESTS - --BIN_NAME="gen-ust-events" -- - KIRK_KRAUSS_TESTS=( - # the tests below were written by Kirk Krauss in this article: - # http://www.drdobbs.com/architecture-and-design/matching-wildcards-an-empirical-way-to-t/240169123 -@@ -897,9 +903,6 @@ UST_STR_FILTERS=( - END - ) - --if [ ! -x "$CURDIR/$BIN_NAME" ]; then -- BAIL_OUT "No UST nevents binary detected." --fi - - IFS="$OLDIFS" - -@@ -910,6 +913,10 @@ i=0 - while true; do - validator="${UST_FILTERS[$i]}" - -+ if [ $skip_ust -eq 0 ]; then -+ break -+ fi -+ - if [ "$validator" = END ]; then - break - fi -@@ -929,6 +936,10 @@ i=0 - while true; do - validator="${UST_STR_FILTERS[$i]}" - -+ if [ $skip_ust -eq 0 ]; then -+ break -+ fi -+ - if [ "$validator" = END ]; then - break - fi -diff --git a/tests/regression/tools/health/test_thread_ok b/tests/regression/tools/health/test_thread_ok -index e81d6ed24..849b7e71f 100755 ---- a/tests/regression/tools/health/test_thread_ok -+++ b/tests/regression/tools/health/test_thread_ok -@@ -27,6 +27,9 @@ CHANNEL_NAME="testchan" - HEALTH_CHECK_BIN="health_check" - NUM_TESTS=17 - SLEEP_TIME=30 -+TESTAPP_PATH="$TESTDIR/utils/testapp" -+TESTAPP_NAME="gen-ust-events" -+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" - - source $TESTDIR/utils/utils.sh - -@@ -76,15 +79,19 @@ function test_thread_ok - $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH} - report_errors - -- diag "With UST consumer daemons" -- create_lttng_session_no_output $SESSION_NAME -- enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME -- start_lttng_tracing_ok $SESSION_NAME -- destroy_lttng_session_ok $SESSION_NAME -+ skip $skip_ust "Ust does not seems to be supported" "5" || -+ { -+ diag "With UST consumer daemons" -+ create_lttng_session_no_output $SESSION_NAME -+ enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME -+ start_lttng_tracing_ok $SESSION_NAME -+ destroy_lttng_session_ok $SESSION_NAME - -- # Check health status -- $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH} -- report_errors -+ -+ # Check health status -+ $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH} -+ report_errors -+ } - - skip $isroot "Root access is needed. Skipping kernel consumer health check test." "5" || - { -@@ -141,6 +148,12 @@ else - isroot=0 - fi - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ skip_ust=0 -+else -+ skip_ust=1 -+fi -+ - test_thread_ok - - rm -rf ${HEALTH_PATH} -diff --git a/tests/regression/tools/live/Makefile.am b/tests/regression/tools/live/Makefile.am -index 46186d383..db74de8d5 100644 ---- a/tests/regression/tools/live/Makefile.am -+++ b/tests/regression/tools/live/Makefile.am -@@ -16,9 +16,7 @@ LIVE=$(top_builddir)/src/bin/lttng-sessiond/session.$(OBJEXT) \ - noinst_PROGRAMS = live_test - EXTRA_DIST = test_kernel test_lttng_kernel - --if HAVE_LIBLTTNG_UST_CTL - EXTRA_DIST += test_ust test_ust_tracefile_count test_lttng_ust --endif - - live_test_SOURCES = live_test.c - live_test_LDADD = $(LIBTAP) $(LIBCOMMON) $(LIBRELAYD) $(LIBSESSIOND_COMM) \ -diff --git a/tests/regression/tools/live/test_lttng_ust b/tests/regression/tools/live/test_lttng_ust -index 06017d01d..be9b3d7f7 100755 ---- a/tests/regression/tools/live/test_lttng_ust -+++ b/tests/regression/tools/live/test_lttng_ust -@@ -38,6 +38,10 @@ NUM_TESTS=12 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - # MUST set TESTDIR before calling those functions - plan_tests $NUM_TESTS - -diff --git a/tests/regression/tools/live/test_ust b/tests/regression/tools/live/test_ust -index 0384a706f..add521bfc 100755 ---- a/tests/regression/tools/live/test_ust -+++ b/tests/regression/tools/live/test_ust -@@ -36,6 +36,10 @@ DIR=$(readlink -f $TESTDIR) - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - echo "$TEST_DESC" - - function setup_live_tracing() -diff --git a/tests/regression/tools/live/test_ust_tracefile_count b/tests/regression/tools/live/test_ust_tracefile_count -index 6da368fc6..10504f8c6 100755 ---- a/tests/regression/tools/live/test_ust_tracefile_count -+++ b/tests/regression/tools/live/test_ust_tracefile_count -@@ -36,6 +36,10 @@ DIR=$(readlink -f $TESTDIR) - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - echo "$TEST_DESC" - - function setup_live_tracing() -diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi -index 48dda7da6..2cc30b29a 100755 ---- a/tests/regression/tools/mi/test_mi -+++ b/tests/regression/tools/mi/test_mi -@@ -61,6 +61,10 @@ NUM_TESTS=228 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - #Overwrite the lttng_bin to get mi output - LTTNG_BIN="lttng --mi xml" - -diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app -index 0a05ea6a0..29b0f62fa 100755 ---- a/tests/regression/tools/notification/test_notification_multi_app -+++ b/tests/regression/tools/notification/test_notification_multi_app -@@ -52,6 +52,11 @@ plan_tests $NUM_TESTS - - print_test_banner "$TEST_DESC" - -+skip_ust=1 -+if [ ! -x "$TESTAPP_BIN" ]; then -+ skip_ust=0 -+fi -+ - app_pids=() - - function kernel_event_generator_toogle_state -@@ -468,10 +473,15 @@ function test_on_register_evaluation () - } - - --TESTS=( -- test_multi_app_ust -- test_on_register_evaluation_ust --) -+TESTS=() -+if [ $skip_ust -eq "1" ]; then -+ TESTS+=( -+ test_multi_app_ust -+ test_on_register_evaluation_ust -+ ) -+else -+ skip 0 "No UST events binary detected." $NUM_TEST_UST -+fi - - if [ "$(id -u)" == "0" ]; then - TESTS+=( -diff --git a/tests/regression/tools/notification/test_notification_ust b/tests/regression/tools/notification/test_notification_ust -index 8941e476d..eb2e15cad 100755 ---- a/tests/regression/tools/notification/test_notification_ust -+++ b/tests/regression/tools/notification/test_notification_ust -@@ -46,6 +46,10 @@ DIR=$(readlink -f $TESTDIR) - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - function ust_event_generator_toogle_state - { - ust_event_generator_suspended=$((ust_event_generator_suspended==0)) -diff --git a/tests/regression/tools/regen-metadata/test_ust b/tests/regression/tools/regen-metadata/test_ust -index b7f1af1d8..312c8a40d 100755 ---- a/tests/regression/tools/regen-metadata/test_ust -+++ b/tests/regression/tools/regen-metadata/test_ust -@@ -34,7 +34,7 @@ NUM_TESTS=33 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function lttng_create_session_uri -diff --git a/tests/regression/tools/regen-statedump/test_ust b/tests/regression/tools/regen-statedump/test_ust -index 486b9a560..8d455b26a 100755 ---- a/tests/regression/tools/regen-statedump/test_ust -+++ b/tests/regression/tools/regen-statedump/test_ust -@@ -34,7 +34,7 @@ NUM_TESTS=11 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function test_ust_local () -diff --git a/tests/regression/tools/save-load/test_autoload b/tests/regression/tools/save-load/test_autoload -index 7ee5e9906..ec376cfb3 100755 ---- a/tests/regression/tools/save-load/test_autoload -+++ b/tests/regression/tools/save-load/test_autoload -@@ -21,6 +21,9 @@ CURDIR=$(dirname $0)/ - CONFIG_DIR="${CURDIR}/configuration" - TESTDIR=$CURDIR/../../../ - export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/) -+TESTAPP_PATH="$TESTDIR/utils/testapp" -+TESTAPP_NAME="gen-ust-events" -+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" - - DIR=$(readlink -f $TESTDIR) - -@@ -28,6 +31,10 @@ NUM_TESTS=9 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - # MUST set TESTDIR before calling those functions - plan_tests $NUM_TESTS - -diff --git a/tests/regression/tools/save-load/test_load b/tests/regression/tools/save-load/test_load -index 5e38b46b6..b6fdd8192 100755 ---- a/tests/regression/tools/save-load/test_load -+++ b/tests/regression/tools/save-load/test_load -@@ -20,6 +20,10 @@ TEST_DESC="Load session(s)" - CURDIR=$(dirname $0)/ - CONFIG_DIR="${CURDIR}/configuration" - TESTDIR=$CURDIR/../../../ -+TESTAPP_PATH="$TESTDIR/utils/testapp" -+TESTAPP_NAME="gen-ust-events" -+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" -+ - export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/) - - SESSION_NAME="load-42" -@@ -31,6 +35,10 @@ NUM_TESTS=67 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - # MUST set TESTDIR before calling those functions - plan_tests $NUM_TESTS - -diff --git a/tests/regression/tools/save-load/test_save b/tests/regression/tools/save-load/test_save -index c5f6b1341..cfaf67b7a 100755 ---- a/tests/regression/tools/save-load/test_save -+++ b/tests/regression/tools/save-load/test_save -@@ -23,6 +23,9 @@ TESTDIR=$CURDIR/../../../ - SESSION_NAME="save-42" - CHANNEL_NAME="chan-save" - EVENT_NAME="tp:tptest" -+TESTAPP_PATH="$TESTDIR/utils/testapp" -+TESTAPP_NAME="gen-ust-events" -+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" - - DIR=$(readlink -f $TESTDIR) - -@@ -30,6 +33,10 @@ NUM_TESTS=41 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - # MUST set TESTDIR before calling those functions - plan_tests $NUM_TESTS - -diff --git a/tests/regression/tools/snapshots/test_ust_fast b/tests/regression/tools/snapshots/test_ust_fast -index edb435c52..5a68ec56d 100755 ---- a/tests/regression/tools/snapshots/test_ust_fast -+++ b/tests/regression/tools/snapshots/test_ust_fast -@@ -23,7 +23,7 @@ TEST_BIN="ust_test" - source $TESTDIR/utils/utils.sh - - if [ ! -x "$CURDIR/$TEST_BIN" ]; then -- BAIL_OUT "No UST test found: $TEST_BIN" -+ plan_skip_all "No UST test found: $TEST_BIN" - fi - - ./$CURDIR/$TEST_BIN $NR_SNAPSHOT -diff --git a/tests/regression/tools/snapshots/test_ust_long b/tests/regression/tools/snapshots/test_ust_long -index 9e1a0c262..afa019f6a 100755 ---- a/tests/regression/tools/snapshots/test_ust_long -+++ b/tests/regression/tools/snapshots/test_ust_long -@@ -23,7 +23,7 @@ TEST_BIN="ust_test" - source $TESTDIR/utils/utils.sh - - if [ ! -x "$CURDIR/$TEST_BIN" ]; then -- BAIL_OUT "No UST test found: $TEST_BIN" -+ plan_skip_all "No UST test found: $TEST_BIN" - fi - - ./$CURDIR/$TEST_BIN $NR_SNAPSHOT -diff --git a/tests/regression/tools/snapshots/test_ust_streaming b/tests/regression/tools/snapshots/test_ust_streaming -index 93b0957f3..69291ab4d 100755 ---- a/tests/regression/tools/snapshots/test_ust_streaming -+++ b/tests/regression/tools/snapshots/test_ust_streaming -@@ -37,7 +37,7 @@ NUM_TESTS=75 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function snapshot_add_output () -diff --git a/tests/regression/tools/snapshots/ust_test b/tests/regression/tools/snapshots/ust_test -index 755cef9e0..92f9f6cff 100755 ---- a/tests/regression/tools/snapshots/ust_test -+++ b/tests/regression/tools/snapshots/ust_test -@@ -34,7 +34,7 @@ TRACE_PATH=$(mktemp -d) - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - # Need the number of snapshot to do. -diff --git a/tests/regression/tools/streaming/test_high_throughput_limits b/tests/regression/tools/streaming/test_high_throughput_limits -index 32c3f1f2b..f54178923 100755 ---- a/tests/regression/tools/streaming/test_high_throughput_limits -+++ b/tests/regression/tools/streaming/test_high_throughput_limits -@@ -38,7 +38,7 @@ NUM_TESTS=104 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function set_bw_limit -diff --git a/tests/regression/tools/streaming/test_ust b/tests/regression/tools/streaming/test_ust -index a5d5b5e92..e1dd98ee7 100755 ---- a/tests/regression/tools/streaming/test_ust -+++ b/tests/regression/tools/streaming/test_ust -@@ -34,7 +34,7 @@ NUM_TESTS=16 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function lttng_create_session_uri -diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_count b/tests/regression/tools/tracefile-limits/test_tracefile_count -index 6ada8580f..7553c7d1f 100755 ---- a/tests/regression/tools/tracefile-limits/test_tracefile_count -+++ b/tests/regression/tools/tracefile-limits/test_tracefile_count -@@ -33,7 +33,7 @@ PAGE_SIZE=$(getconf PAGE_SIZE) - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function enable_lttng_channel_count_limit () -diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_size b/tests/regression/tools/tracefile-limits/test_tracefile_size -index 3dddbe613..1089487ff 100755 ---- a/tests/regression/tools/tracefile-limits/test_tracefile_size -+++ b/tests/regression/tools/tracefile-limits/test_tracefile_size -@@ -33,7 +33,7 @@ NUM_TESTS=66 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function enable_lttng_channel_size_limit () -diff --git a/tests/regression/tools/wildcard/test_event_wildcard b/tests/regression/tools/wildcard/test_event_wildcard -index 61ea67a72..921a2301d 100755 ---- a/tests/regression/tools/wildcard/test_event_wildcard -+++ b/tests/regression/tools/wildcard/test_event_wildcard -@@ -97,42 +97,47 @@ print_test_banner "$TEST_DESC" - - start_lttng_sessiond - --diag "Test UST wildcard" -- - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST nevents binary detected." -+ skip_ust=0 -+else -+ skip_ust=1 - fi - --EVENT_NAME="tp:tptest" -+skip $skip_ust "No UST nevents binary detected." $NUM_UST_TESTS || -+{ -+ diag "Test UST wildcard" - --# non-matching --test_event_wildcard ust 0 'tp:abc*' --test_event_wildcard ust 0 '*abc' --test_event_wildcard ust 0 '*z*' --test_event_wildcard ust 0 '*\**' --test_event_wildcard ust 0 '*\*' --test_event_wildcard ust 0 '\**' --test_event_wildcard ust 0 '*:*tpte*s' --test_event_wildcard ust 0 'tp**tpTest' -+ EVENT_NAME="tp:tptest" - --# matching --test_event_wildcard ust 1 'tp:tp*' --test_event_wildcard ust 1 '*' --test_event_wildcard ust 1 'tp:tptest*' --test_event_wildcard ust 1 '**' --test_event_wildcard ust 1 '***' --test_event_wildcard ust 1 '*tptest' --test_event_wildcard ust 1 '**tptest' --test_event_wildcard ust 1 '*tpte*' --test_event_wildcard ust 1 '*tp*' --test_event_wildcard ust 1 '*tp**' --test_event_wildcard ust 1 '*:*tptest' --test_event_wildcard ust 1 '*:*tpte*t' --test_event_wildcard ust 1 't*p*:*t*e*s*t' --test_event_wildcard ust 1 '*t*p*:*t*e*s*t*' --test_event_wildcard ust 1 'tp*tptest' --test_event_wildcard ust 1 'tp**tptest' --test_event_wildcard ust 1 'tp*test' -+ # non-matching -+ test_event_wildcard ust 0 'tp:abc*' -+ test_event_wildcard ust 0 '*abc' -+ test_event_wildcard ust 0 '*z*' -+ test_event_wildcard ust 0 '*\**' -+ test_event_wildcard ust 0 '*\*' -+ test_event_wildcard ust 0 '\**' -+ test_event_wildcard ust 0 '*:*tpte*s' -+ test_event_wildcard ust 0 'tp**tpTest' -+ -+ # matching -+ test_event_wildcard ust 1 'tp:tp*' -+ test_event_wildcard ust 1 '*' -+ test_event_wildcard ust 1 'tp:tptest*' -+ test_event_wildcard ust 1 '**' -+ test_event_wildcard ust 1 '***' -+ test_event_wildcard ust 1 '*tptest' -+ test_event_wildcard ust 1 '**tptest' -+ test_event_wildcard ust 1 '*tpte*' -+ test_event_wildcard ust 1 '*tp*' -+ test_event_wildcard ust 1 '*tp**' -+ test_event_wildcard ust 1 '*:*tptest' -+ test_event_wildcard ust 1 '*:*tpte*t' -+ test_event_wildcard ust 1 't*p*:*t*e*s*t' -+ test_event_wildcard ust 1 '*t*p*:*t*e*s*t*' -+ test_event_wildcard ust 1 'tp*tptest' -+ test_event_wildcard ust 1 'tp**tptest' -+ test_event_wildcard ust 1 'tp*test' -+} - - if [ "$(id -u)" == "0" ]; then - isroot=1 --- -2.17.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch deleted file mode 100644 index 16df3e610..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch +++ /dev/null @@ -1,176 +0,0 @@ -From 9bc81a446d0a3ea9a884739eee48d3f14db3283c Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte -Date: Wed, 28 Mar 2018 15:21:26 -0400 -Subject: [PATCH lttng-tools] Tests: use modprobe to test for the presence of - lttng-modules -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Backport [28702730192ae1ded06105c54c5dc] - -Signed-off-by: Jonathan Rajotte -Signed-off-by: Jérémie Galarneau ---- - tests/regression/tools/regen-metadata/test_kernel | 8 ++------ - tests/regression/tools/regen-statedump/test_kernel | 7 +------ - tests/regression/tools/snapshots/test_kernel | 9 +++------ - tests/regression/tools/snapshots/test_kernel_streaming | 8 ++------ - tests/regression/tools/streaming/test_kernel | 8 ++------ - tests/utils/utils.sh | 10 ++++++++++ - 6 files changed, 20 insertions(+), 30 deletions(-) - -diff --git a/tests/regression/tools/regen-metadata/test_kernel b/tests/regression/tools/regen-metadata/test_kernel -index fd139aeef..1849b9cd0 100755 ---- a/tests/regression/tools/regen-metadata/test_kernel -+++ b/tests/regression/tools/regen-metadata/test_kernel -@@ -28,12 +28,6 @@ NUM_TESTS=18 - - source $TESTDIR/utils/utils.sh - --# LTTng kernel modules check --out=`ls /lib/modules/$(uname -r)/extra | grep lttng` --if [ -z "$out" ]; then -- BAIL_OUT "LTTng modules not detected." --fi -- - function lttng_create_session_uri - { - # Create session with default path -@@ -91,6 +85,8 @@ fi - - skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS || - { -+ validate_lttng_modules_present -+ - start_lttng_relayd "-o $TRACE_PATH" - start_lttng_sessiond - modprobe lttng-test -diff --git a/tests/regression/tools/regen-statedump/test_kernel b/tests/regression/tools/regen-statedump/test_kernel -index 85afe76a1..50054eb07 100755 ---- a/tests/regression/tools/regen-statedump/test_kernel -+++ b/tests/regression/tools/regen-statedump/test_kernel -@@ -29,12 +29,6 @@ NUM_TESTS=11 - - source $TESTDIR/utils/utils.sh - --# LTTng kernel modules check --out=`ls /lib/modules/$(uname -r)/extra | grep lttng` --if [ -z "$out" ]; then -- BAIL_OUT "LTTng modules not detected." --fi -- - function test_kernel_local () - { - diag "Test kernel local with statedump regeneration" -@@ -64,6 +58,7 @@ fi - - skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS || - { -+ validate_lttng_modules_present - start_lttng_sessiond - modprobe lttng-test - -diff --git a/tests/regression/tools/snapshots/test_kernel b/tests/regression/tools/snapshots/test_kernel -index 886c4557a..ff563100b 100755 ---- a/tests/regression/tools/snapshots/test_kernel -+++ b/tests/regression/tools/snapshots/test_kernel -@@ -29,12 +29,6 @@ NUM_TESTS=2060 - - source $TESTDIR/utils/utils.sh - --# LTTng kernel modules check --out=`ls /lib/modules/$(uname -r)/extra | grep lttng` --if [ -z "$out" ]; then -- BAIL_OUT "LTTng modules not detected." --fi -- - function test_kernel_local_snapshot () - { - diag "Test local kernel snapshots" -@@ -241,6 +235,9 @@ fi - - skip $isroot "Root access is needed. Skipping all kernel snapshot tests." $NUM_TESTS || - { -+ -+ validate_lttng_modules_present -+ - start_lttng_sessiond - - #tests=( test_kernel_1000_local_snapshots ) -diff --git a/tests/regression/tools/snapshots/test_kernel_streaming b/tests/regression/tools/snapshots/test_kernel_streaming -index 7b96ef270..1d97519aa 100755 ---- a/tests/regression/tools/snapshots/test_kernel_streaming -+++ b/tests/regression/tools/snapshots/test_kernel_streaming -@@ -29,12 +29,6 @@ NUM_TESTS=61 - - source $TESTDIR/utils/utils.sh - --# LTTng kernel modules check --out=`ls /lib/modules/$(uname -r)/extra | grep lttng` --if [ -z "$out" ]; then -- BAIL_OUT "LTTng modules not detected." --fi -- - function snapshot_add_output () - { - local sess_name=$1 -@@ -169,6 +163,8 @@ fi - - skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS || - { -+ validate_lttng_modules_present -+ - start_lttng_relayd "-o $TRACE_PATH" - start_lttng_sessiond - -diff --git a/tests/regression/tools/streaming/test_kernel b/tests/regression/tools/streaming/test_kernel -index d54bcedf5..6bb23d9f5 100755 ---- a/tests/regression/tools/streaming/test_kernel -+++ b/tests/regression/tools/streaming/test_kernel -@@ -28,12 +28,6 @@ NUM_TESTS=10 - - source $TESTDIR/utils/utils.sh - --# LTTng kernel modules check --out=`ls /lib/modules/$(uname -r)/extra | grep lttng` --if [ -z "$out" ]; then -- BAIL_OUT "LTTng modules not detected." --fi -- - function lttng_create_session_uri - { - # Create session with default path -@@ -80,6 +74,8 @@ fi - - skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS || - { -+ validate_lttng_modules_present -+ - start_lttng_relayd "-o $TRACE_PATH" - start_lttng_sessiond - -diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh -index af63824ce..26e59e383 100644 ---- a/tests/utils/utils.sh -+++ b/tests/utils/utils.sh -@@ -125,6 +125,16 @@ function conf_proc_count() - echo - } - -+# Check if base lttng-modules are present. -+# Bail out on failure -+function validate_lttng_modules_present () -+{ -+ modprobe -n lttng-tracer 2>/dev/null -+ if [ $? -ne 0 ]; then -+ BAIL_OUT "LTTng modules not detected." -+ fi -+} -+ - function enable_kernel_lttng_event - { - local withtap="$1" --- -2.17.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch deleted file mode 100644 index 30aa66b2c..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 92f93238f1df005aadc98e105c0dd0e04a5955a7 Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte -Date: Mon, 25 Mar 2019 14:24:51 -0400 -Subject: [2/2] tests: check for lttng-modules presence - -Upstream-Status: Accepted [5da3fc8579a9f93ea4767729a107784bf2d034ae] -Backported to 2.11 and 2.10 - -Signed-off-by: Jonathan Rajotte ---- - tests/regression/tools/notification/test_notification_kernel | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/regression/tools/notification/test_notification_kernel b/tests/regression/tools/notification/test_notification_kernel -index 6d7f256ae..e7368df26 100755 ---- a/tests/regression/tools/notification/test_notification_kernel -+++ b/tests/regression/tools/notification/test_notification_kernel -@@ -108,6 +108,7 @@ function kernel_test - } - - if [ "$(id -u)" == "0" ]; then -+ validate_lttng_modules_present - kernel_test - else - # Kernel tests are skipped. --- -2.17.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch deleted file mode 100644 index a3362ea24..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch +++ /dev/null @@ -1,347 +0,0 @@ -From 10e8001ad876d8cb3b5a17c7492e713bbc047975 Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte -Date: Thu, 28 Mar 2019 18:31:29 -0400 -Subject: [PATCH] Fix: getgrnam is not MT-Safe, use getgrnam_r - -Running the test suite under a Yocto musl build resulted in musl -coredump due to double freeing. - -We get the following backtraces: - -0 a_crash () at ./arch/x86_64/atomic_arch.h:108 -1 unmap_chunk (self=) at src/malloc/malloc.c:515 -2 free (p=) at src/malloc/malloc.c:526 -3 0x00007f46d9dc3849 in __getgrent_a (f=f@entry=0x7f46d9d1f7e0, gr=gr@entry=0x7f46d9e24460 , line=line@entry=0x7f46d9e26058 , size=size@entry=0x7f46d92db550, mem=mem@entry=0x7f46d9e26050 , nmem=nmem@entry=0x7f46d92db558, res=0x7f46d92db548) at src/passwd/getgrent_a.c:45 -4 0x00007f46d9dc2e6b in __getgr_a (name=0x487242 "tracing", gid=gid@entry=0, gr=gr@entry=0x7f46d9e24460 , buf=buf@entry=0x7f46d9e26058 , size=size@entry=0x7f46d92db550, mem=mem@entry=0x7f46d9e26050 , nmem=0x7f46d92db558, res=0x7f46d92db548) at src/passwd/getgr_a.c:30 -5 0x00007f46d9dc3733 in getgrnam (name=) at src/passwd/getgrent.c:37 -6 0x0000000000460b29 in utils_get_group_id (name=) at ../../../lttng-tools-2.10.6/src/common/utils.c:1241 -7 0x000000000044ee69 in thread_manage_health (data=) at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/main.c:4115 -8 0x00007f46d9de1541 in start (p=) at src/thread/pthread_create.c:195 -9 0x00007f46d9dee661 in __clone () at src/thread/x86_64/clone.s:22 - -From another run: - -0 a_crash () at ./arch/x86_64/atomic_arch.h:108 -1 unmap_chunk (self=) at src/malloc/malloc.c:515 -2 free (p=) at src/malloc/malloc.c:526 -3 0x00007f5abc210849 in __getgrent_a (f=f@entry=0x7f5abc2733e0, gr=gr@entry=0x7f5abc271460 , line=line@entry=0x7f5abc273058 , size=size@entry=0x7f5abaef5510, mem=mem@entry=0x7f5abc273050 , nmem=nmem@entry=0x7f5abaef5518, res=0x7f5abaef5508) at src/passwd/getgrent_a.c:45 -4 0x00007f5abc20fe6b in __getgr_a (name=0x487242 "tracing", gid=gid@entry=0, gr=gr@entry=0x7f5abc271460 , buf=buf@entry=0x7f5abc273058 , size=size@entry=0x7f5abaef5510, mem=mem@entry=0x7f5abc273050 , nmem=0x7f5abaef5518, res=0x7f5abaef5508) at src/passwd/getgr_a.c:30 -5 0x00007f5abc210733 in getgrnam (name=) at src/passwd/getgrent.c:37 -6 0x0000000000460b29 in utils_get_group_id (name=) at ../../../lttng-tools-2.10.6/src/common/utils.c:1241 -7 0x000000000042dee4 in notification_channel_socket_create () at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/notification-thread.c:238 -8 init_thread_state (state=0x7f5abaef5560, handle=0x7f5abbf9be40) at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/notification-thread.c:375 -9 thread_notification (data=0x7f5abbf9be40) at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/notification-thread.c:495 -10 0x00007f5abc22e541 in start (p=) at src/thread/pthread_create.c:195 -11 0x00007f5abc23b661 in __clone () at src/thread/x86_64/clone.s:22 - -The problem was easily reproducible (~6 crash on ~300 runs). A prototype fix -using mutex around the getgrnam yielded no crash in over 1000 runs. This -patch yielded the same results as the prototype fix. - -Unfortunately we cannot rely on a mutex in liblttng-ctl since we cannot -enforce the locking for the application using the lib. - -Use getgrnam_r instead. - -The previous implementation of utils_get_group_id returned the gid of -the root group (0) on error/not found. lttng_check_tracing_group needs -to know if an error/not found occured, returning the root group is not -enough. We now return the gid via the passed parameter. The caller is -responsible for either defaulting to the root group or propagating the -error. - -We also do not want to warn when used in liblttng-ctl context. We might -want to move the warning elsewhere in the future. For now, pass a bool -if we need to warn or not. - -Signed-off-by: Jonathan Rajotte - -Upstream-Status: Submitted [https://patchwork.lttng.org/patch/2314703] ---- - src/bin/lttng-consumerd/health-consumerd.c | 10 ++- - src/bin/lttng-relayd/health-relayd.c | 20 ++++-- - src/bin/lttng-sessiond/main.c | 24 +++++-- - src/bin/lttng-sessiond/notification-thread.c | 10 ++- - src/common/utils.c | 75 +++++++++++++++++--- - src/common/utils.h | 4 +- - src/lib/lttng-ctl/lttng-ctl.c | 8 +-- - 7 files changed, 122 insertions(+), 29 deletions(-) - -diff --git a/src/bin/lttng-consumerd/health-consumerd.c b/src/bin/lttng-consumerd/health-consumerd.c -index 1e2f31e4..6045401a 100644 ---- a/src/bin/lttng-consumerd/health-consumerd.c -+++ b/src/bin/lttng-consumerd/health-consumerd.c -@@ -184,8 +184,14 @@ void *thread_manage_health(void *data) - is_root = !getuid(); - if (is_root) { - /* lttng health client socket path permissions */ -- ret = chown(health_unix_sock_path, 0, -- utils_get_group_id(tracing_group_name)); -+ gid_t gid; -+ -+ ret = utils_get_group_id(tracing_group_name, true, &gid); -+ if (ret) { -+ gid = 0; /* Default to root group. */ -+ } -+ -+ ret = chown(health_unix_sock_path, 0, gid); - if (ret < 0) { - ERR("Unable to set group on %s", health_unix_sock_path); - PERROR("chown"); -diff --git a/src/bin/lttng-relayd/health-relayd.c b/src/bin/lttng-relayd/health-relayd.c -index ba996621..962e88c4 100644 ---- a/src/bin/lttng-relayd/health-relayd.c -+++ b/src/bin/lttng-relayd/health-relayd.c -@@ -105,8 +105,14 @@ static int create_lttng_rundir_with_perm(const char *rundir) - int is_root = !getuid(); - - if (is_root) { -- ret = chown(rundir, 0, -- utils_get_group_id(tracing_group_name)); -+ gid_t gid; -+ -+ ret = utils_get_group_id(tracing_group_name, true, &gid); -+ if (ret) { -+ gid = 0; /* Default to root group.*/ -+ } -+ -+ ret = chown(rundir, 0, gid); - if (ret < 0) { - ERR("Unable to set group on %s", rundir); - PERROR("chown"); -@@ -256,8 +262,14 @@ void *thread_manage_health(void *data) - is_root = !getuid(); - if (is_root) { - /* lttng health client socket path permissions */ -- ret = chown(health_unix_sock_path, 0, -- utils_get_group_id(tracing_group_name)); -+ gid_t gid; -+ -+ ret = utils_get_group_id(tracing_group_name, true, &gid); -+ if (ret) { -+ gid = 0; /* Default to root group */ -+ } -+ -+ ret = chown(health_unix_sock_path, 0, gid); - if (ret < 0) { - ERR("Unable to set group on %s", health_unix_sock_path); - PERROR("chown"); -diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c -index fa6fa483..49307064 100644 ---- a/src/bin/lttng-sessiond/main.c -+++ b/src/bin/lttng-sessiond/main.c -@@ -4112,8 +4112,14 @@ static void *thread_manage_health(void *data) - - if (is_root) { - /* lttng health client socket path permissions */ -- ret = chown(config.health_unix_sock_path.value, 0, -- utils_get_group_id(config.tracing_group_name.value)); -+ gid_t gid; -+ -+ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid); -+ if (ret) { -+ gid = 0; /* Default to root group */ -+ } -+ -+ ret = chown(config.health_unix_sock_path.value, 0, &gid); - if (ret < 0) { - ERR("Unable to set group on %s", config.health_unix_sock_path.value); - PERROR("chown"); -@@ -5238,7 +5244,10 @@ static int set_permissions(char *rundir) - int ret; - gid_t gid; - -- gid = utils_get_group_id(config.tracing_group_name.value); -+ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid); -+ if (ret) { -+ gid = 0; /* Default to root group */ -+ } - - /* Set lttng run dir */ - ret = chown(rundir, 0, gid); -@@ -5349,7 +5358,14 @@ static int set_consumer_sockets(struct consumer_data *consumer_data) - goto error; - } - if (is_root) { -- ret = chown(path, 0, utils_get_group_id(config.tracing_group_name.value)); -+ gid_t gid; -+ -+ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid); -+ if (ret) { -+ gid = 0; /* Default to root group */ -+ } -+ -+ ret = chown(path, 0, gid); - if (ret < 0) { - ERR("Unable to set group on %s", path); - PERROR("chown"); -diff --git a/src/bin/lttng-sessiond/notification-thread.c b/src/bin/lttng-sessiond/notification-thread.c -index 92ac597f..18a264d9 100644 ---- a/src/bin/lttng-sessiond/notification-thread.c -+++ b/src/bin/lttng-sessiond/notification-thread.c -@@ -235,8 +235,14 @@ int notification_channel_socket_create(void) - } - - if (getuid() == 0) { -- ret = chown(sock_path, 0, -- utils_get_group_id(config.tracing_group_name.value)); -+ gid_t gid; -+ -+ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid); -+ if (ret) { -+ gid = 0; /* Default to root group. */ -+ } -+ -+ ret = chown(sock_path, 0, gid); - if (ret) { - ERR("Failed to set the notification channel socket's group"); - ret = -1; -diff --git a/src/common/utils.c b/src/common/utils.c -index c0bb031e..778bc00f 100644 ---- a/src/common/utils.c -+++ b/src/common/utils.c -@@ -1231,24 +1231,77 @@ size_t utils_get_current_time_str(const char *format, char *dst, size_t len) - } - - /* -- * Return the group ID matching name, else 0 if it cannot be found. -+ * Return 0 on success and set *gid to the group_ID matching the passed name. -+ * Else -1 if it cannot be found or an error occurred. - */ - LTTNG_HIDDEN --gid_t utils_get_group_id(const char *name) -+int utils_get_group_id(const char *name, bool warn, gid_t *gid) - { -- struct group *grp; -+ static volatile int warn_once; - -- grp = getgrnam(name); -- if (!grp) { -- static volatile int warn_once; -+ int ret; -+ long sys_len; -+ size_t len; -+ struct group grp; -+ struct group *result; -+ char *buffer = NULL; - -- if (!warn_once) { -- WARN("No tracing group detected"); -- warn_once = 1; -+ /* Get the system limit if it exists */ -+ sys_len = sysconf(_SC_GETGR_R_SIZE_MAX); -+ if (sys_len == -1) { -+ len = 1024; -+ } else { -+ len = (size_t) sys_len; -+ } -+ -+ buffer = malloc(len); -+ if (!buffer) { -+ PERROR("getgrnam_r malloc"); -+ ret = -1; -+ goto error; -+ } -+ -+ while ((ret = getgrnam_r(name, &grp, buffer, len, &result)) == ERANGE) -+ { -+ /* Buffer is not big enough, increase its size. */ -+ size_t new_len = 2 * len; -+ char *new_buffer = NULL; -+ if (new_len < len) { -+ ERR("getgrnam_r buffer size overflow"); -+ ret = -1; -+ goto error; -+ } -+ len = new_len; -+ new_buffer = realloc(buffer, len); -+ if (!new_buffer) { -+ PERROR("getgrnam_r realloc"); -+ ret = -1; -+ goto error; - } -- return 0; -+ buffer = new_buffer; -+ } -+ if (ret != 0) { -+ PERROR("getgrnam_r"); -+ ret = -1; -+ goto error; -+ } -+ -+ /* Group not found. */ -+ if (!result) { -+ ret = -1; -+ goto error; -+ } -+ -+ *gid = result->gr_gid; -+ ret = 0; -+ -+error: -+ free(buffer); -+ if (ret && warn && !warn_once) { -+ WARN("No tracing group detected"); -+ warn_once = 1; - } -- return grp->gr_gid; -+ return ret; - } - - /* -diff --git a/src/common/utils.h b/src/common/utils.h -index 18f19ef1..9c72431d 100644 ---- a/src/common/utils.h -+++ b/src/common/utils.h -@@ -22,6 +22,8 @@ - #include - #include - #include -+#include -+#include - - #define KIBI_LOG2 10 - #define MEBI_LOG2 20 -@@ -52,7 +54,7 @@ int utils_get_count_order_u64(uint64_t x); - char *utils_get_home_dir(void); - char *utils_get_user_home_dir(uid_t uid); - size_t utils_get_current_time_str(const char *format, char *dst, size_t len); --gid_t utils_get_group_id(const char *name); -+int utils_get_group_id(const char *name, bool warn, gid_t *gid); - char *utils_generate_optstring(const struct option *long_options, - size_t opt_count); - int utils_create_lock_file(const char *filepath); -diff --git a/src/lib/lttng-ctl/lttng-ctl.c b/src/lib/lttng-ctl/lttng-ctl.c -index 2d84aad9..561b0bcf 100644 ---- a/src/lib/lttng-ctl/lttng-ctl.c -+++ b/src/lib/lttng-ctl/lttng-ctl.c -@@ -208,15 +208,13 @@ end: - LTTNG_HIDDEN - int lttng_check_tracing_group(void) - { -- struct group *grp_tracing; /* no free(). See getgrnam(3) */ -- gid_t *grp_list; -+ gid_t *grp_list, tracing_gid; - int grp_list_size, grp_id, i; - int ret = -1; - const char *grp_name = tracing_group; - - /* Get GID of group 'tracing' */ -- grp_tracing = getgrnam(grp_name); -- if (!grp_tracing) { -+ if (utils_get_group_id(grp_name, false, &tracing_gid)) { - /* If grp_tracing is NULL, the group does not exist. */ - goto end; - } -@@ -241,7 +239,7 @@ int lttng_check_tracing_group(void) - } - - for (i = 0; i < grp_list_size; i++) { -- if (grp_list[i] == grp_tracing->gr_gid) { -+ if (grp_list[i] == tracing_gid) { - ret = 1; - break; - } --- -2.17.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch deleted file mode 100644 index 784a07940..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 58e4dcce48b48b68b65bffc0cd51d9e26b44c75d Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte -Date: Wed, 22 May 2019 16:44:54 -0400 -Subject: [PATCH] Fix: check for lttng modules presence before testing - -Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2019-May/028987.html] - -Signed-off-by: Jonathan Rajotte ---- - tests/regression/tools/notification/test_notification_multi_app | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app -index 29b0f62..a6baf65 100755 ---- a/tests/regression/tools/notification/test_notification_multi_app -+++ b/tests/regression/tools/notification/test_notification_multi_app -@@ -484,6 +484,7 @@ else - fi - - if [ "$(id -u)" == "0" ]; then -+ validate_lttng_modules_present - TESTS+=( - test_multi_app_kernel - test_on_register_evaluation_kernel diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb deleted file mode 100644 index 58c7864c3..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb +++ /dev/null @@ -1,168 +0,0 @@ -SECTION = "devel" -SUMMARY = "Linux Trace Toolkit Control" -DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \ -to extract program execution details from the Linux operating system \ -and interpret them." - -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \ - file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://lgpl-2.1.txt;md5=0f0d71500e6a57fd24d825f33242b9ca" - -DEPENDS = "liburcu popt libxml2 util-linux" -RDEPENDS_${PN} = "libgcc" -RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules sed" -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" -RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" -# babelstats.pl wants getopt-long -RDEPENDS_${PN}-ptest += "perl-module-getopt-long" - -PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ - am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ - PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ -" -PACKAGECONFIG ??= "lttng-ust" -PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native" -PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust" -PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod" -PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" -PACKAGECONFIG_remove_arc = "lttng-ust" - -SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \ - file://x32.patch \ - file://run-ptest \ - file://lttng-sessiond.service \ - file://0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch \ - file://0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch \ - file://0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch \ - file://0004-Skip-when-testapp-is-not-present.patch\ - file://0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch \ - file://0006-Tests-check-for-lttng-modules-presence.patch \ - file://0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch \ - file://0008-Fix-check-for-lttng-modules-presence-before-testing.patch \ - " - -SRC_URI[md5sum] = "e88c521b5da6bb48a8187af633336ecc" -SRC_URI[sha256sum] = "f05df52bbebf8ce88d1b29e9e98cfc957d2ed738a345118018237ebdb581537c" - -inherit autotools ptest pkgconfig useradd python3-dir manpages systemd - -SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service" -SYSTEMD_AUTO_ENABLE = "disable" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "tracing" - -FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \ - ${PYTHON_SITEPACKAGES_DIR}/*" -FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" -FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" - -# Since files are installed into ${libdir}/lttng/libexec we match -# the libexec insane test so skip it. -# Python module needs to keep _lttng.so -INSANE_SKIP_${PN} = "libexec dev-so" -INSANE_SKIP_${PN}-dbg = "libexec" - -do_install_append () { - # install systemd unit file - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system -} - -do_install_ptest () { - for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/load-42*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng ; do - install -D "${B}/$f" "${D}${PTEST_PATH}/$f" - done - - for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-3.0.xsd; do - install -D "${S}/$f" "${D}${PTEST_PATH}/$f" - done - - # Prevent 'make check' from recursing into non-test subdirectories. - sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile" - - # We don't need these - sed -i -e '/dist_noinst_SCRIPTS = /,/^$/d' "${D}${PTEST_PATH}/tests/Makefile" - - # We shouldn't need to build anything in tests/utils - sed -i -e 's!am__append_1 = . utils!am__append_1 = . !' \ - "${D}${PTEST_PATH}/tests/Makefile" - - # Copy the tests directory tree and the executables and - # Makefiles found within. - for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do - install -d "${D}${PTEST_PATH}/tests/$d" - find "${B}/tests/$d" -maxdepth 1 -executable -type f \ - -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + - # Take all .py scripts for tests using the python bindings. - find "${B}/tests/$d" -maxdepth 1 -type f -name "*.py" \ - -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + - test -r "${B}/tests/$d/Makefile" && \ - install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile" - done - - for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do - for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do - cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f - case $f in - *.so) - install -d ${D}${PTEST_PATH}/tests/$d/ - ln -s ../$f ${D}${PTEST_PATH}/tests/$d/$f - # Remove any rpath/runpath to pass QA check. - chrpath --delete ${D}${PTEST_PATH}/tests/$d/$f - ;; - esac - done - done - - # - # Use the versioned libs of liblttng-ust-dl. - # - ustdl="${D}${PTEST_PATH}/tests/regression/ust/ust-dl/test_ust-dl.py" - if [ -e $ustdl ]; then - sed -i -e 's!:liblttng-ust-dl.so!:liblttng-ust-dl.so.0!' $ustdl - fi - - install ${B}/tests/unit/ini_config/sample.ini ${D}${PTEST_PATH}/tests/unit/ini_config/ - - # We shouldn't need to build anything in tests/regression/tools - sed -i -e 's!^SUBDIRS = tools !SUBDIRS = !' \ - "${D}${PTEST_PATH}/tests/regression/Makefile" - - # Prevent attempts to update Makefiles during test runs, and - # silence "Making check in $SUBDIR" messages. - find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ - sed -i -e '/Makefile:/,/^$/d' -e '/%: %.in/,/^$/d' \ - -e '/echo "Making $$target in $$subdir"; \\/d' \ - -e 's/^srcdir = \(.*\)/srcdir = ./' \ - -e 's/^builddir = \(.*\)/builddir = ./' \ - -e 's/^all-am:.*/all-am:/' \ - {} + - - find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ - touch -r "${B}/Makefile" {} + - - # - # Need to stop generated binaries from rebuilding by removing their source dependencies - # - sed -e 's#\(^test.*OBJECTS.=\)#disable\1#g' \ - -e 's#\(^test.*DEPENDENCIES.=\)#disable\1#g' \ - -e 's#\(^test.*SOURCES.=\)#disable\1#g' \ - -e 's#\(^test.*LDADD.=\)#disable\1#g' \ - -i ${D}${PTEST_PATH}/tests/unit/Makefile - - # Substitute links to installed binaries. - for prog in lttng lttng-relayd lttng-sessiond lttng-consumerd lttng-crash; do - exedir="${D}${PTEST_PATH}/src/bin/${prog}" - install -d "$exedir" - case "$prog" in - lttng-consumerd) - ln -s "${libdir}/lttng/libexec/$prog" "$exedir" - ;; - *) - ln -s "${bindir}/$prog" "$exedir" - ;; - esac - done -} diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb new file mode 100644 index 000000000..469ad111c --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb @@ -0,0 +1,162 @@ +SECTION = "devel" +SUMMARY = "Linux Trace Toolkit Control" +DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \ +to extract program execution details from the Linux operating system \ +and interpret them." + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \ + file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://lgpl-2.1.txt;md5=0f0d71500e6a57fd24d825f33242b9ca" + +DEPENDS = "liburcu popt libxml2 util-linux" +RDEPENDS_${PN} = "libgcc" +RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules sed" +RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" +RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" +# babelstats.pl wants getopt-long +RDEPENDS_${PN}-ptest += "perl-module-getopt-long" + +PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ + am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ + PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ +" +PACKAGECONFIG ??= "lttng-ust" +PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native" +PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust" +PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod" +PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" +PACKAGECONFIG_remove_arc = "lttng-ust" + +SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \ + file://x32.patch \ + file://run-ptest \ + file://lttng-sessiond.service \ + file://0001-Skip-when-testapp-is-not-present.patch \ + file://0002-Fix-check-for-lttng-modules-presence-before-testing.patch \ + " + +SRC_URI[md5sum] = "e7804d10e4cade381e241601f6047373" +SRC_URI[sha256sum] = "ed71ebe00c5d985c74f30e97b614e909573cbd9276c85e05d9557a0b817a1312" + +inherit autotools ptest pkgconfig useradd python3-dir manpages systemd + +SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service" +SYSTEMD_AUTO_ENABLE = "disable" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "tracing" + +FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \ + ${PYTHON_SITEPACKAGES_DIR}/*" +FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" +FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" + +# Since files are installed into ${libdir}/lttng/libexec we match +# the libexec insane test so skip it. +# Python module needs to keep _lttng.so +INSANE_SKIP_${PN} = "libexec dev-so" +INSANE_SKIP_${PN}-dbg = "libexec" + +do_install_append () { + # install systemd unit file + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system +} + +do_install_ptest () { + for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/load-42*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng ; do + install -D "${B}/$f" "${D}${PTEST_PATH}/$f" + done + + for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-3.0.xsd; do + install -D "${S}/$f" "${D}${PTEST_PATH}/$f" + done + + # Prevent 'make check' from recursing into non-test subdirectories. + sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile" + + # We don't need these + sed -i -e '/dist_noinst_SCRIPTS = /,/^$/d' "${D}${PTEST_PATH}/tests/Makefile" + + # We shouldn't need to build anything in tests/utils + sed -i -e 's!am__append_1 = . utils!am__append_1 = . !' \ + "${D}${PTEST_PATH}/tests/Makefile" + + # Copy the tests directory tree and the executables and + # Makefiles found within. + for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do + install -d "${D}${PTEST_PATH}/tests/$d" + find "${B}/tests/$d" -maxdepth 1 -executable -type f \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + + # Take all .py scripts for tests using the python bindings. + find "${B}/tests/$d" -maxdepth 1 -type f -name "*.py" \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + + test -r "${B}/tests/$d/Makefile" && \ + install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile" + done + + for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do + for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do + cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f + case $f in + *.so) + install -d ${D}${PTEST_PATH}/tests/$d/ + ln -s ../$f ${D}${PTEST_PATH}/tests/$d/$f + # Remove any rpath/runpath to pass QA check. + chrpath --delete ${D}${PTEST_PATH}/tests/$d/$f + ;; + esac + done + done + + # + # Use the versioned libs of liblttng-ust-dl. + # + ustdl="${D}${PTEST_PATH}/tests/regression/ust/ust-dl/test_ust-dl.py" + if [ -e $ustdl ]; then + sed -i -e 's!:liblttng-ust-dl.so!:liblttng-ust-dl.so.0!' $ustdl + fi + + install ${B}/tests/unit/ini_config/sample.ini ${D}${PTEST_PATH}/tests/unit/ini_config/ + + # We shouldn't need to build anything in tests/regression/tools + sed -i -e 's!^SUBDIRS = tools !SUBDIRS = !' \ + "${D}${PTEST_PATH}/tests/regression/Makefile" + + # Prevent attempts to update Makefiles during test runs, and + # silence "Making check in $SUBDIR" messages. + find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ + sed -i -e '/Makefile:/,/^$/d' -e '/%: %.in/,/^$/d' \ + -e '/echo "Making $$target in $$subdir"; \\/d' \ + -e 's/^srcdir = \(.*\)/srcdir = ./' \ + -e 's/^builddir = \(.*\)/builddir = ./' \ + -e 's/^all-am:.*/all-am:/' \ + {} + + + find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ + touch -r "${B}/Makefile" {} + + + # + # Need to stop generated binaries from rebuilding by removing their source dependencies + # + sed -e 's#\(^test.*OBJECTS.=\)#disable\1#g' \ + -e 's#\(^test.*DEPENDENCIES.=\)#disable\1#g' \ + -e 's#\(^test.*SOURCES.=\)#disable\1#g' \ + -e 's#\(^test.*LDADD.=\)#disable\1#g' \ + -i ${D}${PTEST_PATH}/tests/unit/Makefile + + # Substitute links to installed binaries. + for prog in lttng lttng-relayd lttng-sessiond lttng-consumerd lttng-crash; do + exedir="${D}${PTEST_PATH}/src/bin/${prog}" + install -d "$exedir" + case "$prog" in + lttng-consumerd) + ln -s "${libdir}/lttng/libexec/$prog" "$exedir" + ;; + *) + ln -s "${bindir}/$prog" "$exedir" + ;; + esac + done +} -- cgit v1.2.3