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 --- meta-openembedded/.gitignore | 2 + .../recipes-filesystems/yaffs2/yaffs2-utils_git.bb | 2 +- .../recipes-support/fuse/fuse_2.9.8.bb | 72 - .../recipes-support/fuse/fuse_2.9.9.bb | 72 + ...d-Check-for-sync_file_range-libc-function.patch | 16 +- .../xfsprogs/files/disable-xfs_scrub-build.patch | 30 - .../recipes-utils/xfsprogs/xfsprogs_4.18.0.bb | 70 - .../recipes-utils/xfsprogs/xfsprogs_5.0.0.bb | 73 + .../recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb | 1 - .../files/0002-Fix-compiler-warning-flags.patch | 44 - .../recipes-multimedia/openh264/openh264_1.7.0.bb | 1 + .../recipes-support/libsrtp/libsrtp_1.6.0.bb | 4 +- ...-call-of-overloaded-distance-is-ambiguous.patch | 89 - .../kea/files/0001-remove-AC_TRY_RUN.patch | 34 + .../recipes-connectivity/kea/kea_1.4.0.bb | 52 - .../recipes-connectivity/kea/kea_1.5.0.bb | 62 + .../networkmanager/0003-dlopen-failure.patch | 34 - ...0001-Fix-build-with-musl-systemd-specific.patch | 128 +- .../musl/0002-Fix-build-with-musl.patch | 20 +- .../networkmanager/networkmanager_1.16.0.bb | 148 - .../networkmanager/networkmanager_1.18.0.bb | 146 + .../recipes-connectivity/samba/samba_4.8.11.bb | 324 -- .../recipes-connectivity/samba/samba_4.8.12.bb | 327 ++ .../0001-Add-format-string-to-fprintf-call.patch | 26 - ...GCLD-with-SIGCHLD-and-include-sys-types.h.patch | 38 - .../umip/umip/0001-support-openssl-1.1.x.patch | 88 - ...READ_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch | 143 - ...ependency-to-support-parallel-compilation.patch | 23 - .../recipes-connectivity/umip/umip/mip6d | 112 - .../recipes-connectivity/umip/umip/mip6d.service | 10 - .../recipes-connectivity/umip/umip_1.0.bb | 46 - .../wireless-regdb/wireless-regdb_2019.03.01.bb | 42 - .../wireless-regdb/wireless-regdb_2019.06.03.bb | 42 + .../packagegroups/packagegroup-meta-networking.bb | 4 +- .../recipes-daemons/atftp/atftp_0.7.2.bb | 59 + .../recipes-daemons/atftp/atftp_git.bb | 64 - .../files/atftp-0.7-sorcerers_apprentice.patch | 94 - ...tpd-0.7_circumvent_tftp_size_restrictions.patch | 163 - .../atftpd-0.7_unprotected_assignments_crash.patch | 152 - ...xy.h-Include-sys-types.h-for-u_short-u_in.patch | 25 - .../recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb | 6 +- .../0001-priv-include-limits.h-for-PATH_MAX.patch | 27 + ...lldpd.service.in-Use-fixed-path-for-mkdir.patch | 32 - .../recipes-daemons/lldpd/lldpd_0.9.8.bb | 65 - .../recipes-daemons/lldpd/lldpd_1.0.3.bb | 65 + ...1-Catch-std-ifstream-failure-by-reference.patch | 67 - .../0001-Fix-string-overflow-in-snprintf.patch | 76 - .../0002-Fix-format-truncation-errors.patch | 100 - .../0008-check-for-size-before-using-strncpy.patch | 33 - .../recipes-daemons/opensaf/opensaf_5.19.01.bb | 75 - .../recipes-daemons/opensaf/opensaf_5.19.03.bb | 71 + .../perl/libauthen/libauthen-radius-perl/run-ptest | 21 - .../test.pl-adjust-for-ptest.patch | 90 - .../perl/libauthen/libauthen-radius-perl_0.22.bb | 39 - .../recipes-devtools/python/python-ldap_2.4.45.bb | 29 - .../recipes-devtools/python/python-ldap_3.2.0.bb | 31 + .../netkit-telnet/netkit-telnet_0.17.bb | 1 + .../recipes-protocols/mdns/mdns_765.50.9.bb | 90 - .../recipes-protocols/mdns/mdns_878.200.35.bb | 89 + .../recipes-protocols/net-snmp/net-snmp_5.8.bb | 6 +- .../0001-ppoe-Dont-include-linux-if_ether.h.patch | 28 - ...0002-Enable-support-for-the-kernel-module.patch | 23 - .../rp-pppoe-3.12/configure.in-Error-fix.patch | 57 - .../rp-pppoe/rp-pppoe-3.12/configure.patch | 19 - .../rp-pppoe-3.12/configure_in_cross.patch | 153 - .../discard-use-of-dnl-in-Makefile.am.patch | 25 - .../rp-pppoe-3.12/dont-swallow-errors.patch | 26 - .../rp-pppoe/rp-pppoe-3.12/pppoe-server.default | 22 - .../rp-pppoe/rp-pppoe-3.12/pppoe-server.init | 59 - .../rp-pppoe/rp-pppoe-3.12/pppoe-server.service | 11 - .../rp-pppoe-3.12/pppoe-src-restrictions.patch | 31 - .../rp-pppoe/rp-pppoe-3.12/top-autoconf.patch | 41 - .../rp-pppoe/rp-pppoe-3.12/update-config.patch | 41 - .../0001-ppoe-Dont-include-linux-if_ether.h.patch | 28 + ...0002-Enable-support-for-the-kernel-module.patch | 23 + .../rp-pppoe/rp-pppoe/configure.in-Error-fix.patch | 57 + .../rp-pppoe/rp-pppoe/configure.patch | 19 + .../rp-pppoe/rp-pppoe/configure_in_cross.patch | 153 + .../discard-use-of-dnl-in-Makefile.am.patch | 25 + .../rp-pppoe/rp-pppoe/dont-swallow-errors.patch | 26 + .../rp-pppoe/rp-pppoe/pppoe-server.default | 22 + .../rp-pppoe/rp-pppoe/pppoe-server.init | 59 + .../rp-pppoe/rp-pppoe/pppoe-server.service | 11 + .../rp-pppoe/rp-pppoe/top-autoconf.patch | 41 + .../rp-pppoe/rp-pppoe/update-config.patch | 41 + .../recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb | 77 - .../recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb | 76 + .../0001-Makefile-pass-extra-linker-flags.patch | 10 +- .../recipes-support/ipcalc/ipcalc_0.2.2.bb | 21 - .../recipes-support/ipcalc/ipcalc_0.2.3.bb | 21 + .../0001-Disable-gcc8-specific-warnings.patch | 86 - .../ipsec-tools/0001-Fix-build-with-clang.patch | 115 - ...01-Fix-header-issues-found-with-musl-libc.patch | 249 -- .../0001-ipsec-tools-add-openssl-1.1-support.patch | 1086 ----- ...y-avoid-potential-null-pointer-dereferenc.patch | 33 - .../0002-Don-t-link-against-libfl.patch | 87 - ...parse-clear-memory-equal-to-size-of-array.patch | 30 - .../ipsec-tools/ipsec-tools/configure.patch | 13 - .../ipsec-tools/fix-CVE-2015-4047.patch | 38 - .../ipsec-tools/fix-CVE-2016-10396.patch | 207 - .../ipsec-tools/ipsec-tools/glibc-2.20.patch | 23 - ...PDATE-message-when-received-EINTR-message.patch | 220 - .../ipsec-tools/racoon-check-invalid-ivm.patch | 26 - .../racoon-check-invalid-pointers.patch | 61 - .../ipsec-tools/ipsec-tools/racoon.conf | 8 - .../ipsec-tools/ipsec-tools/racoon.conf.sample | 40 - .../ipsec-tools/ipsec-tools/racoon.service | 11 - .../ipsec-tools/ipsec-tools_0.8.2.bb | 98 - .../recipes-support/libldb/libldb_1.4.1.bb | 2 + .../recipes-support/mtr/mtr_0.87.bb | 27 - .../recipes-support/mtr/mtr_0.92.bb | 27 + .../recipes-support/nbd/nbd_3.17.bb | 19 - .../recipes-support/nbd/nbd_3.19.bb | 19 + .../files/do-not-install-pyc-and-pyo.patch | 25 - .../fix-symlink-install-error-in-cmdlang.patch | 31 +- .../openipmi/files/include_sys_types.patch | 21 +- .../files/ipmi-init-fix-the-arguments.patch | 7 +- ..._bmc_emu.c-include-readline.h-from-readli.patch | 31 + .../files/openipmi-no-openipmigui-man.patch | 27 +- ...openipmi-remove-host-path-from-la_LDFLAGS.patch | 30 +- .../files/openipmigui-not-compile-pyc-pyo.patch | 26 - .../recipes-support/openipmi/openipmi_2.0.25.bb | 111 - .../recipes-support/openipmi/openipmi_2.0.27.bb | 112 + .../recipes-support/spice/spice-protocol_git.bb | 4 +- .../0001-Convert-pthread_t-to-be-numeric.patch | 25 +- ...-Fix-compile-errors-on-Linux-32bit-system.patch | 96 + .../0001-spice-fix-compile-fail-problem.patch | 36 - .../recipes-support/spice/spice_git.bb | 12 +- meta-openembedded/meta-oe/licenses/ttf-mplus | 16 + .../phoronix-test-suite_8.6.0.bb | 41 - .../phoronix-test-suite_8.8.1.bb | 41 + .../recipes-benchmark/s-suite/s-suite_git.bb | 4 +- ...fix-sensors-detect-can-t-read-the-cpu-inf.patch | 74 - ...ensors-detect-print-a-special-message-whe.patch | 12 +- ...-limit-sys-io.h-header-include-to-just-gl.patch | 88 - ...fix-sensors-detect-can-t-read-the-cpu-inf.patch | 74 + .../recipes-bsp/lm_sensors/lmsensors_3.4.0.bb | 148 - .../recipes-bsp/lm_sensors/lmsensors_3.5.0.bb | 139 + ...-null-string-to-s-printf-formatted-string.patch | 31 - .../modemmanager/modemmanager_1.10.0.bb | 56 + .../modemmanager/modemmanager_1.8.2.bb | 58 - .../0001-usbbus-Include-stdint.h-for-uintX_t.patch | 24 + .../meta-oe/recipes-core/libnfc/libnfc_git.bb | 5 +- .../packagegroups/packagegroup-meta-oe.bb | 5 +- .../meta-oe/recipes-core/safec/safec_3.4.bb | 15 + .../recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb | 51 +- .../recipes-dbs/mysql/mariadb-native_10.3.13.bb | 20 - .../recipes-dbs/mysql/mariadb-native_10.3.15.bb | 20 + .../meta-oe/recipes-dbs/mysql/mariadb.inc | 4 +- .../meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb | 27 - .../meta-oe/recipes-dbs/mysql/mariadb_10.3.15.bb | 27 + .../files/0001-Improve-reproducibility.patch | 39 + .../meta-oe/recipes-dbs/postgresql/postgresql.inc | 4 +- .../recipes-dbs/postgresql/postgresql_11.3.bb | 1 + ...01-CMake-has-stock-FindZLIB-in-upper-case.patch | 29 + .../rocksdb/files/0001-fix-Issue-5303.patch | 80 + .../meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb | 14 +- .../android-tools-conf/android-gadget-setup | 9 + ...flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch | 59 + .../recipes-devtools/openocd/openocd_git.bb | 1 + .../recipes-devtools/php/php/php-fpm-apache.conf | 4 +- .../php/php/xfail_two_bug_tests.patch | 34 + .../meta-oe/recipes-devtools/php/php_7.3.4.bb | 25 - .../meta-oe/recipes-devtools/php/php_7.3.6.bb | 26 + .../recipes-devtools/python/python-jsmin_2.2.2.bb | 11 + .../python/python-pygobject_3.28.3.bb | 31 - .../python/python-pygobject_3.32.1.bb | 35 + .../recipes-devtools/python/python-pytoml.inc | 12 + .../python/python-pytoml_0.1.20.bb | 2 + .../recipes-devtools/python/python-six_1.12.0.bb | 2 + .../recipes-devtools/python/python-which_1.1.0.bb | 19 + .../haveged/fix-cpu-cache-size-detection.patch | 20 + .../recipes-extended/haveged/haveged_1.9.4.bb | 1 + .../recipes-extended/hwloc/hwloc_1.11.10.bb | 31 - .../recipes-extended/hwloc/hwloc_1.11.12.bb | 31 + .../mozjs/0001-To-fix-build-error-on-arm32BE.patch | 8 +- .../0001-do-not-create-python-environment.patch | 28 +- ...1-fix-compiling-failure-on-mips64-n32-bsp.patch | 19 +- .../mozjs/mozjs/0001-js-Fix-build-with-musl.patch | 31 + ...-not-include-RequiredDefines.h-for-depend.patch | 8 +- .../0001-riscv-Disable-atomic-operations.patch | 38 + .../mozjs/0005-fix-do_compile-failed-on-mips.patch | 11 +- .../mozjs/mozjs/0006-support-musl.patch | 124 +- ...010-fix-cross-compilation-on-i586-targets.patch | 9 +- .../mozjs/mozjs/JS_PUBLIC_API.patch | 48 +- .../mozjs/mozjs/add-riscv-support.patch | 38 +- .../disable-mozglue-in-stand-alone-builds.patch | 74 - .../mozjs/mozjs/format-overflow.patch | 12 +- .../meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb | 120 - .../meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb | 127 + .../0001-make-netgroup-support-configurable.patch | 93 - .../0003-make-netgroup-support-optional.patch | 232 + .../recipes-extended/polkit/polkit_0.115.bb | 57 - .../recipes-extended/polkit/polkit_0.116.bb | 57 + ...-etc-rrdcached-default-lsb.in-to-tarball-.patch | 45 - ...d-etc-files-via-EXTRA_DIST-fixes-956-some.patch | 93 - ...-rule-to-make-target-etc-rrdcached.socket.patch | 51 - .../recipes-extended/rrdtool/rrdtool_1.7.1.bb | 132 - .../recipes-extended/rrdtool/rrdtool_1.7.2.bb | 129 + .../recipes-graphics/leptonica/leptonica_1.74.4.bb | 2 +- .../recipes-graphics/ttf-fonts/ttf-mplus_027.bb | 2 +- .../ttf-fonts/ttf-vlgothic_20141206.bb | 2 +- .../xorg-driver/xf86-video-ati_18.0.1.bb | 23 - .../xorg-driver/xf86-video-ati_19.0.1.bb | 23 + .../meta-oe/recipes-kernel/crash/crash_7.2.5.bb | 8 +- .../recipes-kernel/oprofile/oprofile_1.3.0.bb | 4 - .../recipes-kernel/pm-graph/pm-graph_5.3.bb | 19 + .../recipes-kernel/turbostat/turbostat_3.4.bb | 2 + .../recipes-multimedia/libopus/libopus_1.1.3.bb | 3 +- .../mikmod/libmikmod_3.3.11.1.bb | 28 + .../recipes-multimedia/mikmod/libmikmod_3.3.6.bb | 28 - .../0001-build-sys-Use-C-11-for-building.patch | 27 - .../pulseaudio/pavucontrol_3.0.bb | 20 - .../pulseaudio/pavucontrol_4.0.bb | 18 + .../recipes-navigation/geoclue/geoclue_2.4.4.bb | 53 - .../recipes-navigation/geoclue/geoclue_2.5.3.bb | 54 + .../meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb | 2 +- .../libspatialite-4.2.0/geos-config.patch | 17 - .../libspatialite/libspatialite/geos-config.patch | 17 + .../libspatialite/libspatialite_4.2.0.bb | 23 - .../libspatialite/libspatialite_4.3.0a.bb | 21 + .../meta-oe/recipes-support/cli11/cli11_1.6.2.bb | 19 - .../meta-oe/recipes-support/cli11/cli11_1.7.1.bb | 19 + .../recipes-support/cpprest/cpprest_2.10.13.bb | 4 + .../meta-oe/recipes-support/gsl/gsl_1.15.bb | 7 - .../meta-oe/recipes-support/gsl/gsl_2.5.bb | 6 + .../hunspell/hunspell-dictionaries.bb | 151 + .../recipes-support/hunspell/hunspell_1.7.0.bb | 7 +- .../imagemagick/imagemagick_7.0.8.bb | 4 +- .../meta-oe/recipes-support/lcov/lcov_1.11.bb | 52 - .../meta-oe/recipes-support/lcov/lcov_1.14.bb | 52 + .../meta-oe/recipes-support/libgpiod/libgpiod.inc | 3 - .../recipes-support/libgpiod/libgpiod_0.3.3.bb | 3 + .../recipes-support/libgpiod/libgpiod_1.3.bb | 3 + .../recipes-support/libp11/libp11_0.4.10.bb | 27 + .../meta-oe/recipes-support/libp11/libp11_0.4.7.bb | 26 - .../meta-oe/recipes-support/mcelog/mcelog_162.bb | 2 +- ...ools-modify-Makefile.inc-for-cross-compil.patch | 28 +- .../multipath-tools/multipath-tools_0.8.0.bb | 111 - .../multipath-tools/multipath-tools_0.8.1.bb | 111 + .../meta-oe/recipes-support/nano/nano_4.1.bb | 20 - .../meta-oe/recipes-support/nano/nano_4.2.bb | 20 + .../meta-oe/recipes-support/ne10/ne10_1.2.1.bb | 4 +- .../0001-Use-off64_t-instead-of-__off64_t.patch | 31 - .../0001-configure.ac-don-t-use-dnet-config.patch | 16 +- ...0001-include-poll.h-instead-of-sys-poll.h.patch | 26 - ...1-misc-Do-not-print-NULL-string-into-logs.patch | 31 - .../0002-Rename-poll.h-to-vm_poll.h.patch | 115 - .../0002-add-include-sys-sysmacros.h.patch | 17 +- ...03-Use-configure-test-for-struct-timespec.patch | 45 + ...osix-strerror_r-unless-on-gnu-libc-system.patch | 39 - ...ix-definition-of-ALLPERMS-and-ACCESSPERMS.patch | 58 + .../0004-Use-uintmax_t-for-handling-rlim_t.patch | 29 - ...05-Use-configure-test-for-struct-timespec.patch | 45 - ...re-to-test-for-feature-instead-of-platfor.patch | 135 + ...ix-definition-of-ALLPERMS-and-ACCESSPERMS.patch | 58 - ...Use-configure-test-for-sys-stat.h-include.patch | 25 + .../0007-Fix-subdir-objects-configure-error.patch | 24 + ...re-to-test-for-feature-instead-of-platfor.patch | 135 - ...0008-include-poll.h-instead-of-sys-poll.h.patch | 26 + .../0009-Rename-poll.h-to-vm_poll.h.patch | 115 + ...osix-strerror_r-unless-on-gnu-libc-system.patch | 39 + ...Use-configure-test-for-sys-stat.h-include.patch | 25 - .../0011-Use-uintmax_t-for-handling-rlim_t.patch | 29 + .../0012-Use-off64_t-instead-of-__off64_t.patch | 31 + ...3-misc-Do-not-print-NULL-string-into-logs.patch | 31 + .../0014-Fix-new-warnings-from-gcc9.patch | 1281 ++++++ .../fix-subdir-objects-configure-error.patch | 12 - .../open-vm-tools/open-vm-tools_10.3.5.bb | 35 +- .../pidgin/funyahoo-plusplus_git.bb | 25 + .../meta-oe/recipes-support/pidgin/icyque_git.bb | 27 + .../recipes-support/pidgin/pidgin-sipe_1.24.0.bb | 34 + .../pidgin/pidgin/purple-OE-branding-25.patch | 6 +- .../recipes-support/pidgin/pidgin_2.12.0.bb | 117 - .../recipes-support/pidgin/pidgin_2.13.0.bb | 117 + .../recipes-support/pidgin/purple-skypeweb_git.bb | 26 + .../0001-dpkg-Support-muslx32-build.patch | 41 - ...stop-daemon-Accept-SIG-prefixed-signal-na.patch | 39 - ...nux-wrs-kernel-version-which-has-characte.patch | 38 - ...tinsts-expect-D-to-be-set-when-running-in.patch | 75 - ...-function-doesn-t-work-properly-for-all-s.patch | 31 - .../0005-dpkg-compiler.m4-remove-Wvla.patch | 36 - ...0006-add-musleabi-to-known-target-tripets.patch | 42 - ...uild.c-Remove-usage-of-clamp-mtime-in-tar.patch | 39 - .../add_armeb_triplet_entry.patch | 48 - .../start-stop-daemon/arch_pm.patch | 29 - .../start-stop-daemon/noman.patch | 22 - .../remove-tar-no-timestamp.patch | 17 - .../start-stop-daemon/start-stop-daemon_1.18.25.bb | 87 - .../recipes-support/syslog-ng/syslog-ng.inc | 1 + ...ll-bash_completion-script-in-etc-bash_com.patch | 33 + ...helper-Use-sh-interpreter-instead-of-bash.patch | 38 + .../meta-oe/recipes-support/udisks/udisks_1.0.5.bb | 4 +- .../recipes-support/uriparser/uriparser_0.8.4.bb | 16 - .../recipes-support/uriparser/uriparser_0.9.3.bb | 15 + .../meta-oe/recipes-support/uthash/uthash_2.1.0.bb | 7 +- .../libauthen/libauthen-radius-perl/run-ptest | 21 + .../test.pl-adjust-for-ptest.patch | 90 + .../libauthen/libauthen-radius-perl_0.22.bb | 39 + .../libcapture/libcapture-tiny-perl_0.46.bb | 37 - .../libcapture/libcapture-tiny-perl_0.48.bb | 45 + .../recipes-perl/libcgi/libcgi-perl_4.38.bb | 25 - .../recipes-perl/libcgi/libcgi-perl_4.43.bb | 50 + .../libcrypt/libcrypt-openssl-guess-perl_0.11.bb | 37 + .../libcrypt/libcrypt-openssl-guess_0.11.bb | 21 - .../libcrypt/libcrypt-openssl-random-perl_0.11.bb | 15 - .../libcrypt/libcrypt-openssl-random-perl_0.15.bb | 34 + .../libcrypt/libcrypt-openssl-rsa-perl_0.30.bb | 24 - .../libcrypt/libcrypt-openssl-rsa-perl_0.31.bb | 38 + .../libextutils/libextutils-config-perl_0.008.bb | 3 +- .../libextutils-installpaths-perl_0.011.bb | 25 - .../libextutils-installpaths-perl_0.012.bb | 34 + .../libhtml/libhtml-parser-perl_3.72.bb | 22 +- .../libhtml/libhtml-tagset-perl_3.20.bb | 29 + .../libstrictures/libstrictures-perl_2.000003.bb | 45 - .../libstrictures/libstrictures-perl_2.000006.bb | 48 + .../libterm/libterm-readkey-perl_2.37.bb | 36 - .../libterm/libterm-readkey-perl_2.38.bb | 43 + .../libtest/libtest-deep-perl_1.128.bb | 56 + .../libxml/libxml-libxml-perl_2.0134.bb | 26 +- .../recipes-devtools/python/python-babel.inc | 6 +- .../recipes-devtools/python/python-babel_2.6.0.bb | 6 - .../recipes-devtools/python/python-babel_2.7.0.bb | 6 + .../recipes-devtools/python/python-cachetools.inc | 4 +- .../python/python-cachetools_3.1.0.bb | 2 - .../python/python-cachetools_3.1.1.bb | 2 + .../python/python-cryptography-vectors.inc | 4 +- .../python/python-cryptography-vectors_2.6.1.bb | 2 - .../python/python-cryptography-vectors_2.7.bb | 2 + .../python/python-cryptography.inc | 4 +- .../python/python-cryptography_2.6.1.bb | 22 - .../python/python-cryptography_2.7.bb | 22 + .../recipes-devtools/python/python-cython.inc | 4 +- .../python/python-cython_0.29.10.bb | 10 + .../python/python-cython_0.29.7.bb | 10 - .../recipes-devtools/python/python-lxml.inc | 4 +- .../recipes-devtools/python/python-lxml_4.3.3.bb | 2 - .../recipes-devtools/python/python-lxml_4.3.4.bb | 2 + .../recipes-devtools/python/python-mako.inc | 6 +- .../recipes-devtools/python/python-mako_1.0.10.bb | 2 - .../recipes-devtools/python/python-mako_1.0.12.bb | 2 + .../recipes-devtools/python/python-obd.inc | 6 +- .../recipes-devtools/python/python-pbr_5.2.0.bb | 13 - .../recipes-devtools/python/python-pbr_5.2.1.bb | 13 + .../recipes-devtools/python/python-psutil.inc | 6 +- .../recipes-devtools/python/python-psutil_5.6.2.bb | 6 - .../recipes-devtools/python/python-psutil_5.6.3.bb | 6 + .../recipes-devtools/python/python-pysnmp_4.3.5.bb | 25 - .../recipes-devtools/python/python-pysnmp_4.4.9.bb | 26 + .../recipes-devtools/python/python-requests.inc | 4 +- .../python/python-requests_2.21.0.bb | 4 - .../python/python-requests_2.22.0.bb | 4 + .../recipes-devtools/python/python-urllib3.inc | 4 +- .../python/python-urllib3_1.25.2.bb | 2 - .../python/python-urllib3_1.25.3.bb | 2 + .../recipes-devtools/python/python3-babel_2.6.0.bb | 2 - .../recipes-devtools/python/python3-babel_2.7.0.bb | 2 + .../python/python3-cachetools_3.1.0.bb | 2 - .../python/python3-cachetools_3.1.1.bb | 2 + .../python/python3-cryptography-vectors_2.6.1.bb | 2 - .../python/python3-cryptography-vectors_2.7.bb | 2 + .../python/python3-cryptography_2.6.1.bb | 8 - .../python/python3-cryptography_2.7.bb | 8 + .../python/python3-cython_0.29.10.bb | 18 + .../python/python3-cython_0.29.7.bb | 18 - .../recipes-devtools/python/python3-lxml_4.3.3.bb | 3 - .../recipes-devtools/python/python3-lxml_4.3.4.bb | 3 + .../recipes-devtools/python/python3-obd_0.7.0.bb | 2 - .../recipes-devtools/python/python3-obd_0.7.1.bb | 2 + .../python/python3-psutil_5.6.2.bb | 4 - .../python/python3-psutil_5.6.3.bb | 4 + .../python/python3-requests_2.21.0.bb | 2 - .../python/python3-requests_2.22.0.bb | 2 + .../python/python3-urllib3_1.25.2.bb | 2 - .../python/python3-urllib3_1.25.3.bb | 2 + .../pywbem/python-pywbem_0.11.0.bb | 9 +- .../pywbem/python3-pywbem_0.11.0.bb | 9 +- .../recipes-httpd/apache2/apache2_2.4.39.bb | 3 +- .../recipes-httpd/nginx/files/nginx.service | 2 +- .../meta-webserver/recipes-httpd/nginx/nginx.inc | 3 +- .../recipes-httpd/nginx/nginx_1.14.2.bb | 10 - .../recipes-httpd/nginx/nginx_1.15.7.bb | 6 - .../recipes-httpd/nginx/nginx_1.16.0.bb | 10 + .../recipes-httpd/nginx/nginx_1.17.0.bb | 6 + .../recipes-php/phpmyadmin/phpmyadmin_4.8.5.bb | 41 - .../recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb | 41 + .../recipes-php/xdebug/xdebug_2.7.0RC2.bb | 35 - .../recipes-php/xdebug/xdebug_2.7.2.bb | 35 + .../fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch | 18 - .../recipes-support/fcgi/fcgi_git.bb | 7 +- .../xfce4-screensaver/fix-cross-compile.patch | 60 + .../xfce4-screensaver/xfce4-screensaver_0.1.4.bb | 19 + .../recipes-graphics/lxdm/lxdm/gdmflexiserver | 3 + .../recipes-graphics/lxdm/lxdm_%.bbappend | 7 + .../recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb | 37 - .../recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb | 37 + .../libxfce4util/libxfce4util_4.13.2.bb | 10 - .../libxfce4util/libxfce4util_4.13.3.bb | 10 + .../packagegroups/packagegroup-xfce-extended.bb | 1 + .../thunar-volman/thunar-volman_0.9.1.bb | 17 - .../thunar-volman/thunar-volman_0.9.2.bb | 17 + .../meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb | 32 - .../meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb | 32 + .../xfce4-appfinder/xfce4-appfinder_4.13.2.bb | 14 - .../xfce4-appfinder/xfce4-appfinder_4.13.3.bb | 14 + .../recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb | 40 - .../recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb | 40 + .../xfce4-power-manager_1.6.1.bb | 44 - .../xfce4-power-manager_1.6.2.bb | 44 + .../xfce4-session/xfce4-session_4.13.1.bb | 28 - .../xfce4-session/xfce4-session_4.13.2.bb | 48 + .../0001-xsettings.xml-Set-default-themes.patch | 10 +- .../meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb | 20 - .../meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb | 20 + .../recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb | 17 - .../recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb | 17 + .../meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb | 38 - .../meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb | 38 + meta-raspberrypi/classes/sdcard_image-rpi.bbclass | 2 +- .../conf/machine/include/rpi-default-versions.inc | 2 +- meta-raspberrypi/recipes-bsp/common/firmware.inc | 8 +- ...-applications-to-set-next-resource-handle.patch | 4 +- ...ayland-Add-support-for-the-Wayland-winsys.patch | 22 +- .../files/0003-wayland-Add-Wayland-example.patch | 4 +- ...-wayland-egl-Add-bcm_host-to-dependencies.patch | 4 +- ...emove-faulty-assert-to-make-weston-happy-.patch | 4 +- ...6-zero-out-wl-buffers-in-egl_surface_free.patch | 4 +- ...007-initialize-front-back-wayland-buffers.patch | 4 +- .../userland/files/0008-Remove-RPC_FLUSH.patch | 4 +- .../files/0009-fix-cmake-dependency-race.patch | 4 +- ...Fix-for-framerate-with-nested-composition.patch | 4 +- .../0011-build-shared-library-for-vchostif.patch | 4 +- ...nt-buffer-wrapping-interface-for-dispmanx.patch | 4 +- ...13-Implement-triple-buffering-for-wayland.patch | 4 +- ...-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch | 4 +- .../0015-EGL-glplatform.h-define-EGL_CAST.patch | 4 +- ...ple-wayland-compositor-state-data-per-pro.patch | 4 +- ...kport-typedef-for-EGL_EXT_image_dma_buf_i.patch | 4 +- ...-EGL_IMG_context_priority-related-defines.patch | 4 +- .../recipes-graphics/userland/userland_git.bb | 4 +- .../recipes-kernel/linux/linux-raspberrypi_4.19.bb | 4 +- ...o-acquire-buffer-when-src-pad-isn-t-activ.patch | 46 - .../0001-config-files-path.patch | 150 - .../0003-no-timeout-on-get-state.patch | 24 - ...erly-handle-drain-requests-while-flushing.patch | 30 - ...-gst_omx_video_dec_set_format-if-there-s-.patch | 24 - ...o-acquire-buffer-when-src-pad-isn-t-activ.patch | 48 + .../0001-config-files-path.patch | 150 + .../0003-no-timeout-on-get-state.patch | 24 + ...erly-handle-drain-requests-while-flushing.patch | 30 + ...-gst_omx_video_dec_set_format-if-there-s-.patch | 36 + .../gstreamer/gstreamer1.0-omx_1.14%.bbappend | 12 - .../gstreamer/gstreamer1.0-omx_1.16%.bbappend | 12 + meta-security/lib/oeqa/runtime/cases/checksec.py | 33 + meta-security/meta-integrity/README.md | 250 ++ .../meta-integrity/classes/ima-evm-rootfs.bbclass | 92 + meta-security/meta-integrity/conf/layer.conf | 24 + .../meta-integrity/data/debug-keys/privkey_ima.pem | 16 + .../meta-integrity/data/debug-keys/x509_ima.der | Bin 0 -> 707 bytes .../meta-integrity/lib/oeqa/runtime/cases/ima.py | 129 + .../recipes-core/base-files/base-files-ima.inc | 5 + .../recipes-core/base-files/base-files_%.bbappend | 1 + .../recipes-core/images/integrity-image-minimal.bb | 22 + .../initrdscripts/initramfs-framework-ima.bb | 28 + .../initrdscripts/initramfs-framework-ima/ima | 52 + .../packagegroups/packagegroup-ima-evm-utils.bb | 9 + .../systemd/files/machine-id-commit-sync.conf | 2 + .../systemd/files/random-seed-sync.conf | 3 + .../recipes-core/systemd/systemd_%.bbappend | 13 + .../recipes-kernel/linux/linux-%.bbappend | 3 + .../0001-ima-fix-ima_inode_post_setattr.patch | 51 + ...port-for-creating-files-using-the-mknodat.patch | 138 + ...limit-file-hash-setting-by-user-to-fix-an.patch | 60 + .../recipes-kernel/linux/linux/ima.cfg | 18 + .../recipes-kernel/linux/linux/ima_evm_root_ca.cfg | 3 + ...tils-link-to-libcrypto-instead-of-OpenSSL.patch | 65 + ...m-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch | 43 + ...ls-include-hash-info.gen-into-distributio.patch | 31 + ...004-ima-evm-utils-update-.gitignore-files.patch | 34 + ...command-line-apply-operation-to-all-paths.patch | 68 + .../ima-evm-utils/disable-doc-creation.patch | 50 + ...do-not-depend-on-xattr.h-with-IMA-defines.patch | 47 + .../ima-evm-utils/ima-evm-utils_git.bb | 41 + .../files/ima_policy_appraise_all | 29 + .../ima-policy-appraise-all_1.0.bb | 18 + .../ima_policy_hashed/files/ima_policy_hashed | 77 + .../ima_policy_hashed/ima-policy-hashed_1.0.bb | 20 + .../ima_policy_simple/files/ima_policy_simple | 4 + .../ima_policy_simple/ima-policy-simple_1.0.bb | 18 + .../meta-integrity/scripts/ima-gen-CA-signed.sh | 48 + .../meta-integrity/scripts/ima-gen-local-ca.sh | 42 + .../meta-integrity/scripts/ima-gen-self-signed.sh | 41 + .../recipes-ids/samhain/samhain-client_4.3.2.bb | 1 + .../recipes-ids/samhain/samhain-server_4.3.2.bb | 1 + .../recipes-security/bastille/bastille_3.2.1.bb | 4 +- .../recipes-security/checksec/checksec_1.11.1.bb | 19 + .../recipes-security/checksec/checksec_1.11.bb | 19 - .../files/0001-To-fix-build-error-of-xrang.patch | 28 + .../fail2ban/python3-fail2ban_0.10.4.0.bb | 4 + .../keyutils/files/fix_library_install_path.patch | 28 + .../recipes-security/keyutils/keyutils_1.6.bb | 14 +- .../recipes-security/scapy/python-scapy.inc | 7 - .../recipes-security/scapy/python-scapy_2.4.2.bb | 5 + .../recipes-security/scapy/python3-scapy_2.4.2.bb | 4 + poky/bitbake/lib/bb/build.py | 79 +- poky/bitbake/lib/bb/cache.py | 12 +- poky/bitbake/lib/bb/cooker.py | 61 +- poky/bitbake/lib/bb/cookerdata.py | 16 +- poky/bitbake/lib/bb/fetch2/__init__.py | 5 + poky/bitbake/lib/bb/fetch2/npm.py | 19 +- poky/bitbake/lib/bb/fetch2/svn.py | 19 + poky/bitbake/lib/bb/main.py | 2 +- poky/bitbake/lib/bb/progress.py | 16 +- poky/bitbake/lib/bb/runqueue.py | 8 +- poky/bitbake/lib/bb/siggen.py | 8 +- poky/bitbake/lib/bb/taskdata.py | 2 +- poky/bitbake/lib/bb/tests/fetch.py | 80 + poky/bitbake/lib/bb/ui/knotty.py | 2 +- poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml | 2 +- poky/bitbake/lib/toaster/orm/fixtures/poky.xml | 2 +- poky/documentation/Makefile | 4 +- .../dev-manual/dev-manual-common-tasks.xml | 320 +- .../dev-manual/figures/cute-files-npm-example.png | Bin 0 -> 26248 bytes .../mega-manual/figures/cute-files-npm-example.png | Bin 0 -> 26248 bytes .../overview-manual/overview-manual-concepts.xml | 11 +- poky/documentation/ref-manual/migration.xml | 4 +- poky/documentation/ref-manual/ref-classes.xml | 57 +- .../ref-manual/ref-devtool-reference.xml | 179 +- poky/documentation/ref-manual/ref-features.xml | 4 - poky/documentation/ref-manual/ref-tasks.xml | 44 +- poky/documentation/ref-manual/ref-variables.xml | 26 +- poky/documentation/sdk-manual/sdk-extensible.xml | 4 +- poky/meta-poky/conf/local.conf.sample | 4 +- poky/meta-poky/recipes-core/tiny-init/tiny-init.bb | 1 + .../license/incompatible-license-alias.bb | 3 + .../recipes-test/license/incompatible-license.bb | 3 + .../license/incompatible-nonspdx-license.bb | 3 + .../multiconfig/multiconfig-image-packager_0.1.bb | 2 +- .../conf/machine/beaglebone-yocto.conf | 2 +- 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 +- .../lib/recipetool/create_buildsys_python.py | 22 +- poky/scripts/lib/resulttool/manualexecution.py | 31 +- poky/scripts/lib/resulttool/merge.py | 20 +- poky/scripts/lib/resulttool/report.py | 104 +- poky/scripts/lib/resulttool/resultutils.py | 19 +- poky/scripts/lib/resulttool/store.py | 9 +- .../resulttool/template/test_report_full_text.txt | 38 +- poky/scripts/lib/wic/engine.py | 7 +- poky/scripts/lib/wic/filemap.py | 5 +- poky/scripts/lib/wic/plugins/source/bootimg-efi.py | 38 +- .../lib/wic/plugins/source/bootimg-pcbios.py | 8 +- .../lib/wic/plugins/source/isoimage-isohybrid.py | 21 +- poky/scripts/runqemu | 83 +- 1054 files changed, 25015 insertions(+), 25769 deletions(-) delete mode 100644 meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb create mode 100644 meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb delete mode 100644 meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch delete mode 100644 meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb create mode 100644 meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.11.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch delete mode 100755 meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.06.03.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch create mode 100644 meta-openembedded/meta-networking/recipes-daemons/lldpd/files/0001-priv-include-limits.h-for-PATH_MAX.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.3.bb delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.01.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb delete mode 100644 meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest delete mode 100644 meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch delete mode 100644 meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb delete mode 100644 meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb create mode 100644 meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb create mode 100644 meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.200.35.bb delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.default delete mode 100755 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.init delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.service delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0001-ppoe-Dont-include-linux-if_ether.h.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0002-Enable-support-for-the-kernel-module.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.in-Error-fix.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure_in_cross.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/discard-use-of-dnl-in-Makefile.am.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/dont-swallow-errors.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.default create mode 100755 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.init create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.service create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/top-autoconf.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/update-config.patch delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb create mode 100644 meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.92.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.19.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch create mode 100644 meta-openembedded/meta-oe/licenses/ttf-mplus delete mode 100644 meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch delete mode 100644 meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch create mode 100644 meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0002-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch delete mode 100644 meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/safec/safec_3.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.15.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.15.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch create mode 100644 meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch create mode 100644 meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc create mode 100644 meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.20.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.12.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js-Fix-build-with-musl.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-riscv-Disable-atomic-operations.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0001-add-missing-etc-rrdcached-default-lsb.in-to-tarball-.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0002-properly-add-etc-files-via-EXTRA_DIST-fixes-956-some.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0003-Fixed-No-rule-to-make-target-etc-rrdcached.socket.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb delete mode 100644 meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch create mode 100644 meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch delete mode 100644 meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb create mode 100755 meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/nano/nano_4.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.24.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-tools-Install-bash_completion-script-in-etc-bash_com.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.3.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest create mode 100644 meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch create mode 100644 meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.43.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.128.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.6.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.6.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.7.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.10.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.10.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.12.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.21.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.22.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.6.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.6.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.7.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.10.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.21.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.22.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.3.bb delete mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb delete mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb create mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb create mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb delete mode 100644 meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.5.bb create mode 100644 meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb delete mode 100644 meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.bb create mode 100644 meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.2.bb delete mode 100644 meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch create mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch create mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.4.bb create mode 100644 meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm/gdmflexiserver create mode 100644 meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm_%.bbappend delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb delete mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch delete mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-config-files-path.patch delete mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0003-no-timeout-on-get-state.patch delete mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0004-Properly-handle-drain-requests-while-flushing.patch delete mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch create mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch create mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-config-files-path.patch create mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0003-no-timeout-on-get-state.patch create mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0004-Properly-handle-drain-requests-while-flushing.patch create mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch delete mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14%.bbappend create mode 100644 meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend create mode 100644 meta-security/lib/oeqa/runtime/cases/checksec.py create mode 100644 meta-security/meta-integrity/README.md create mode 100644 meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass create mode 100644 meta-security/meta-integrity/conf/layer.conf create mode 100644 meta-security/meta-integrity/data/debug-keys/privkey_ima.pem create mode 100644 meta-security/meta-integrity/data/debug-keys/x509_ima.der create mode 100644 meta-security/meta-integrity/lib/oeqa/runtime/cases/ima.py create mode 100644 meta-security/meta-integrity/recipes-core/base-files/base-files-ima.inc create mode 100644 meta-security/meta-integrity/recipes-core/base-files/base-files_%.bbappend create mode 100644 meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb create mode 100644 meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb create mode 100644 meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima create mode 100644 meta-security/meta-integrity/recipes-core/packagegroups/packagegroup-ima-evm-utils.bb create mode 100644 meta-security/meta-integrity/recipes-core/systemd/files/machine-id-commit-sync.conf create mode 100644 meta-security/meta-integrity/recipes-core/systemd/files/random-seed-sync.conf create mode 100644 meta-security/meta-integrity/recipes-core/systemd/systemd_%.bbappend create mode 100644 meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend create mode 100644 meta-security/meta-integrity/recipes-kernel/linux/linux/0001-ima-fix-ima_inode_post_setattr.patch create mode 100644 meta-security/meta-integrity/recipes-kernel/linux/linux/0002-ima-add-support-for-creating-files-using-the-mknodat.patch create mode 100644 meta-security/meta-integrity/recipes-kernel/linux/linux/Revert-ima-limit-file-hash-setting-by-user-to-fix-an.patch create mode 100644 meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg create mode 100644 meta-security/meta-integrity/recipes-kernel/linux/linux/ima_evm_root_ca.cfg create mode 100644 meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch create mode 100644 meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch create mode 100644 meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch create mode 100644 meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0004-ima-evm-utils-update-.gitignore-files.patch create mode 100644 meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/command-line-apply-operation-to-all-paths.patch create mode 100644 meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/disable-doc-creation.patch create mode 100644 meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch create mode 100644 meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils_git.bb create mode 100644 meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/files/ima_policy_appraise_all create mode 100644 meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb create mode 100644 meta-security/meta-integrity/recipes-security/ima_policy_hashed/files/ima_policy_hashed create mode 100644 meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb create mode 100644 meta-security/meta-integrity/recipes-security/ima_policy_simple/files/ima_policy_simple create mode 100644 meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb create mode 100755 meta-security/meta-integrity/scripts/ima-gen-CA-signed.sh create mode 100755 meta-security/meta-integrity/scripts/ima-gen-local-ca.sh create mode 100755 meta-security/meta-integrity/scripts/ima-gen-self-signed.sh create mode 100644 meta-security/recipes-security/checksec/checksec_1.11.1.bb delete mode 100644 meta-security/recipes-security/checksec/checksec_1.11.bb create mode 100644 meta-security/recipes-security/fail2ban/files/0001-To-fix-build-error-of-xrang.patch create mode 100644 meta-security/recipes-security/keyutils/files/fix_library_install_path.patch create mode 100644 poky/documentation/dev-manual/figures/cute-files-npm-example.png create mode 100644 poky/documentation/mega-manual/figures/cute-files-npm-example.png create mode 100644 poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb create mode 100644 poky/meta-selftest/recipes-test/license/incompatible-license.bb create mode 100644 poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb 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 diff --git a/meta-openembedded/.gitignore b/meta-openembedded/.gitignore index b093583d7..c01df45ec 100644 --- a/meta-openembedded/.gitignore +++ b/meta-openembedded/.gitignore @@ -1,3 +1,5 @@ +*.pyc +*.pyo /*.patch *.swp *.orig diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb index 8628bea0b..7ecae4c1c 100644 --- a/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb +++ b/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb @@ -19,7 +19,7 @@ SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \ file://0001-define-loff_t-if-not-already-defined.patch \ " -SRCREV = "3439fa4e60dd9799766b2c101f799ed9e565b632" +SRCREV = "b4ce1bb1b46accb1619dc07164ef6945feded9db" UPSTREAM_CHECK_COMMITS = "1" diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb deleted file mode 100644 index caa75c7f5..000000000 --- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb +++ /dev/null @@ -1,72 +0,0 @@ -SUMMARY = "Implementation of a fully functional filesystem in a userspace program" -DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ - programs to export a virtual filesystem to the Linux kernel. FUSE \ - also aims to provide a secure method for non privileged users to \ - create and mount their own filesystem implementations. \ - " -HOMEPAGE = "https://github.com/libfuse/libfuse" -SECTION = "libs" -LICENSE = "GPLv2 & LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.gz \ - file://gold-unversioned-symbol.patch \ - file://aarch64.patch \ - file://0001-fuse-fix-the-return-value-of-help-option.patch \ - file://fuse.conf \ -" -SRC_URI[md5sum] = "f365e848a82504edb0b7a33df790ca78" -SRC_URI[sha256sum] = "5e84f81d8dd527ea74f39b6bc001c874c02bad6871d7a9b0c14efb57430eafe3" - -UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" -UPSTREAM_CHECK_REGEX = "fuse\-(?P2(\.\d+)+).tar.gz" - -inherit autotools pkgconfig update-rc.d systemd - -INITSCRIPT_NAME = "fuse" -INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ." - -SYSTEMD_SERVICE_${PN} = "" - -DEPENDS = "gettext-native" - -PACKAGES =+ "fuse-utils libulockmgr libulockmgr-dev" - -RPROVIDES_${PN}-dbg += "fuse-utils-dbg libulockmgr-dbg" - -RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils" - -FILES_${PN} += "${libdir}/libfuse.so.*" -FILES_${PN}-dev += "${libdir}/libfuse*.la" - -FILES_libulockmgr = "${libdir}/libulockmgr.so.*" -FILES_libulockmgr-dev += "${libdir}/libulock*.la" - -# Forbid auto-renaming to libfuse-utils -FILES_fuse-utils = "${bindir} ${base_sbindir}" -DEBIAN_NOAUTONAME_fuse-utils = "1" -DEBIAN_NOAUTONAME_${PN}-dbg = "1" - -do_configure_prepend() { - # Make this explicit so overriding base_sbindir propagates properly. - export MOUNT_FUSE_PATH="${base_sbindir}" -} - -do_install_append() { - rm -rf ${D}${base_prefix}/dev - - # systemd class remove the sysv_initddir only if systemd_system_unitdir - # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then - rm -rf ${D}${sysconfdir}/init.d/ - fi - - # Install systemd related configuration file - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/modules-load.d - install -m 0644 ${WORKDIR}/fuse.conf ${D}${sysconfdir}/modules-load.d - fi -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb new file mode 100644 index 000000000..c83e7f6d3 --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb @@ -0,0 +1,72 @@ +SUMMARY = "Implementation of a fully functional filesystem in a userspace program" +DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ + programs to export a virtual filesystem to the Linux kernel. FUSE \ + also aims to provide a secure method for non privileged users to \ + create and mount their own filesystem implementations. \ + " +HOMEPAGE = "https://github.com/libfuse/libfuse" +SECTION = "libs" +LICENSE = "GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.gz \ + file://gold-unversioned-symbol.patch \ + file://aarch64.patch \ + file://0001-fuse-fix-the-return-value-of-help-option.patch \ + file://fuse.conf \ +" +SRC_URI[md5sum] = "8000410aadc9231fd48495f7642f3312" +SRC_URI[sha256sum] = "d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5" + +UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" +UPSTREAM_CHECK_REGEX = "fuse\-(?P2(\.\d+)+).tar.gz" + +inherit autotools pkgconfig update-rc.d systemd + +INITSCRIPT_NAME = "fuse" +INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ." + +SYSTEMD_SERVICE_${PN} = "" + +DEPENDS = "gettext-native" + +PACKAGES =+ "fuse-utils libulockmgr libulockmgr-dev" + +RPROVIDES_${PN}-dbg += "fuse-utils-dbg libulockmgr-dbg" + +RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils" + +FILES_${PN} += "${libdir}/libfuse.so.*" +FILES_${PN}-dev += "${libdir}/libfuse*.la" + +FILES_libulockmgr = "${libdir}/libulockmgr.so.*" +FILES_libulockmgr-dev += "${libdir}/libulock*.la" + +# Forbid auto-renaming to libfuse-utils +FILES_fuse-utils = "${bindir} ${base_sbindir}" +DEBIAN_NOAUTONAME_fuse-utils = "1" +DEBIAN_NOAUTONAME_${PN}-dbg = "1" + +do_configure_prepend() { + # Make this explicit so overriding base_sbindir propagates properly. + export MOUNT_FUSE_PATH="${base_sbindir}" +} + +do_install_append() { + rm -rf ${D}${base_prefix}/dev + + # systemd class remove the sysv_initddir only if systemd_system_unitdir + # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then + rm -rf ${D}${sysconfdir}/init.d/ + fi + + # Install systemd related configuration file + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/modules-load.d + install -m 0644 ${WORKDIR}/fuse.conf ${D}${sysconfdir}/modules-load.d + fi +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch index 231da806c..b5071aea6 100644 --- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch +++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch @@ -1,4 +1,4 @@ -From f8a22f16c03e51d3c779b12f37d362faaa0ecf31 Mon Sep 17 00:00:00 2001 +From 1a4c9ebbb8731f2e3631d77b7eeaf3c373141d88 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 31 Jan 2018 21:28:53 -0800 Subject: [PATCH] build: Check for sync_file_range libc function @@ -16,10 +16,10 @@ Signed-off-by: Khem Raj 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/include/builddefs.in b/include/builddefs.in -index b895949..a388c83 100644 +index d38dc7e..706eca6 100644 --- a/include/builddefs.in +++ b/include/builddefs.in -@@ -95,6 +95,7 @@ HAVE_FIEMAP = @have_fiemap@ +@@ -94,6 +94,7 @@ HAVE_FIEMAP = @have_fiemap@ HAVE_PREADV = @have_preadv@ HAVE_PWRITEV2 = @have_pwritev2@ HAVE_COPY_FILE_RANGE = @have_copy_file_range@ @@ -28,11 +28,11 @@ index b895949..a388c83 100644 HAVE_SYNCFS = @have_syncfs@ HAVE_READDIR = @have_readdir@ diff --git a/io/Makefile b/io/Makefile -index 00ede48..dd001b0 100644 +index 484e2b5..2751dcb 100644 --- a/io/Makefile +++ b/io/Makefile -@@ -60,10 +60,13 @@ CFILES += inject.c resblks.c - LCFLAGS += -DHAVE_INJECT -DHAVE_RESBLKS +@@ -53,10 +53,13 @@ else + LSRCFILES += fiemap.c endif -ifeq ($(HAVE_COPY_FILE_RANGE),yes) @@ -47,10 +47,10 @@ index 00ede48..dd001b0 100644 ifeq ($(HAVE_SYNC_FILE_RANGE),yes) CFILES += sync_file_range.c diff --git a/io/io.h b/io/io.h -index e1f3d95..fe2e6a2 100644 +index 6469179..678b3d7 100644 --- a/io/io.h +++ b/io/io.h -@@ -151,7 +151,7 @@ extern void fiemap_init(void); +@@ -146,7 +146,7 @@ extern void fiemap_init(void); #define fiemap_init() do { } while (0) #endif diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch deleted file mode 100644 index c07b4b50b..000000000 --- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 2bd40e5ed4df0b0a42beff8806b1ec5daa372c48 Mon Sep 17 00:00:00 2001 -From: Yi Zhao -Date: Thu, 19 Jul 2018 16:49:41 +0800 -Subject: [PATCH] Disable xfs_scrub build - -Disable xfs_scrub build since it is experimental. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Yi Zhao ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 7ddfa31..cd60319 100644 ---- a/Makefile -+++ b/Makefile -@@ -48,7 +48,7 @@ LIBFROG_SUBDIR = libfrog - DLIB_SUBDIRS = libxlog libxcmd libhandle - LIB_SUBDIRS = libxfs $(DLIB_SUBDIRS) - TOOL_SUBDIRS = copy db estimate fsck growfs io logprint mkfs quota \ -- mdrestore repair rtcp m4 man doc debian spaceman scrub -+ mdrestore repair rtcp m4 man doc debian spaceman - - ifneq ("$(PKG_PLATFORM)","darwin") - TOOL_SUBDIRS += fsr --- -2.7.4 - diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb deleted file mode 100644 index 88603db80..000000000 --- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb +++ /dev/null @@ -1,70 +0,0 @@ -SUMMARY = "XFS Filesystem Utilities" -HOMEPAGE = "http://oss.sgi.com/projects/xfs" -SECTION = "base" -LICENSE = "GPLv2 & LGPLv2.1" -LICENSE_libhandle = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038 \ - file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" -DEPENDS = "util-linux util-linux-native" -SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ - file://remove_flags_from_build_flags.patch \ - file://0001-build-Check-for-sync_file_range-libc-function.patch \ - file://disable-xfs_scrub-build.patch \ - file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \ - file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ - " -SRC_URI[md5sum] = "5f80b631b68df89a8b9283307e96d2e8" -SRC_URI[sha256sum] = "397dc96f51aeeff73d021d3418d3172377b2685f2740ca60525096c070aa3df1" - -inherit autotools-brokensep - -PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" - -DEPENDS += "util-linux" - -RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" - -FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs" -FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs" -FILES_${PN}-repair = "${base_sbindir}/xfs_repair" - -FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}" - -EXTRA_OECONF = "--enable-gettext=no \ - INSTALL_USER=root \ - INSTALL_GROUP=root \ - ac_cv_header_aio_h=yes \ - ac_cv_lib_rt_lio_listio=yes \ -" - -DISABLE_STATIC = "" -EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" - -PACKAGECONFIG ??= "readline blkid" - -PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline" -PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" - -export DEBUG="-DNDEBUG" -export BUILD_VERBOSE="1" -export tagname="CC" - -EXTRA_OEMAKE = "DIST_ROOT='${D}'" - -do_configure () { - export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" - # Prevent Makefile from calling configure without arguments, - # when do_configure gets called for a second time. - rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure - # Recreate configure script. - oe_runmake configure - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} - oe_runconf -} - -do_install_append() { - oe_runmake 'DESTDIR=${D}' install-dev - rm ${D}${libdir}/*.la - rmdir --ignore-fail-on-non-empty ${D}${libdir} -} diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb new file mode 100644 index 000000000..188c56680 --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb @@ -0,0 +1,73 @@ +SUMMARY = "XFS Filesystem Utilities" +HOMEPAGE = "http://oss.sgi.com/projects/xfs" +SECTION = "base" +LICENSE = "GPLv2 & LGPLv2.1" +LICENSE_libhandle = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038 \ + file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" +DEPENDS = "util-linux util-linux-native" +SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ + file://remove_flags_from_build_flags.patch \ + file://0001-build-Check-for-sync_file_range-libc-function.patch \ + file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \ + file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ + " +SRC_URI[md5sum] = "b6acc4aa93a952595fc8f2e7447be6f2" +SRC_URI[sha256sum] = "fcc2e6478aed55408a341567c0459f514e575296d8827d9004cae8aa0367dc4a" + +inherit autotools-brokensep + +PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" + +DEPENDS += "util-linux" + +RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" + +FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs" +FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs" +FILES_${PN}-repair = "${base_sbindir}/xfs_repair" + +FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}" + +EXTRA_OECONF = "--enable-gettext=no \ + --enable-scrub=no \ + INSTALL_USER=root \ + INSTALL_GROUP=root \ + ac_cv_header_aio_h=yes \ + ac_cv_lib_rt_lio_listio=yes \ +" + +DISABLE_STATIC = "" +EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" + +PACKAGECONFIG ??= "readline blkid" + +PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline" +PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" + +export DEBUG="-DNDEBUG" +export BUILD_VERBOSE="1" +export tagname="CC" + +EXTRA_OEMAKE = "DIST_ROOT='${D}'" + +do_configure () { + export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" + # Prevent Makefile from calling configure without arguments, + # when do_configure gets called for a second time. + rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure + # Recreate configure script. + oe_runmake configure + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} + oe_runconf +} + +do_install_append() { + oe_runmake 'DESTDIR=${D}' install-dev + rm ${D}${libdir}/*.la + rmdir --ignore-fail-on-non-empty ${D}${libdir} + + ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a + ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so +} diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb index 2aa7ccebf..3f491181d 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb @@ -7,7 +7,6 @@ SRCREV = "3d43b280298c39a67d1d889e01e173f52c12da35" SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http \ file://dvb-scan-table \ file://0001-Fix-generate-keynames.patch \ - file://0002-Fix-compiler-warning-flags.patch \ file://0003-handle-static-shared-only-build.patch \ file://0004-Makefile-remove-test.patch \ file://0005-libucsi-optimization-removal.patch \ diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch deleted file mode 100644 index 9c6276beb..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9b8f1df41f7579da63c27763ff184d351e4c7fef Mon Sep 17 00:00:00 2001 -From: Simon Dawson -Date: Sun, 4 Jan 2015 12:06:18 +0100 -Subject: [PATCH] Fix compiler warning flags - - When building for bfin, the build fails as follows. - - cc1: error: unrecognized command line option "-Wno-packed-bitfield-compat" - -An example of an autobuild failure arising from this is the following. - - http://autobuild.buildroot.net/results/92e/92e472004812a3616f62d766a9ea07a997a66e89/ - http://autobuild.buildroot.net/results/6e7/6e7b48ad9768349d983985c3067c4267cde80541/ - -Clearly, not all toolchains provide a gcc that understands -the -Wno-packed-bitfield-compat flag; remove usage of this flag. - -Wno-packed-bitfield-compat option was added in gcc 4.4. - -[Romain: - - This patch is also needed for bfin toolchains which use gcc 4.3.5 - - Add a link to bfin build failure] -Signed-off-by: Simon Dawson -Signed-off-by: Romain Naour ---- - util/scan/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/util/scan/Makefile b/util/scan/Makefile -index d48c478..88667c5 100644 ---- a/util/scan/Makefile -+++ b/util/scan/Makefile -@@ -14,7 +14,7 @@ inst_bin = $(binaries) - - removing = atsc_psip_section.c atsc_psip_section.h - --CPPFLAGS += -Wno-packed-bitfield-compat -D__KERNEL_STRICT_NAMES -+CPPFLAGS += -D__KERNEL_STRICT_NAMES - - .PHONY: all - --- -1.9.3 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb index 44c46f81e..e2f028ac5 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb @@ -23,6 +23,7 @@ COMPATIBLE_MACHINE_mips = "(.*)" COMPATIBLE_MACHINE_mips64 = "(.*)" EXTRA_OEMAKE_armv7a = "ARCH=arm" +EXTRA_OEMAKE_armv7ve = "ARCH=arm" EXTRA_OEMAKE_aarch64 = "ARCH=arm64" EXTRA_OEMAKE_x86 = "ARCH=i386" EXTRA_OEMAKE_x86-64 = "ARCH=x86_64" diff --git a/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb b/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb index d3ab5b71c..6c868185f 100644 --- a/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb @@ -11,6 +11,8 @@ SRC_URI = "git://github.com/cisco/libsrtp.git;protocol=https;branch=1_6_x_thrott file://0001-Rename-conflicting-variable-mips.patch \ " -inherit autotools +inherit autotools pkgconfig + +EXTRA_OEMAKE += "shared_library" ALLOW_EMPTY_${PN} = "1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch deleted file mode 100644 index fb16ecbf9..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 8ea2ee451a1af7c5b5c8f4b36c1f77d44442064d Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Sep 2018 13:02:35 -0700 -Subject: [PATCH] Fix error: call of overloaded distance is ambiguous -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The boost::iterators::distance function template is an adapted version -of std::distance for the Boost iterator traversal in 2.68 it has started -to fail with argument dependent lookup and compiler is erroring out - -with - -error: call of overloaded ‘distance' - -boost implementation of distance is protected against being found by ADL - -The way function is called in libdhcp means it will be found via ADL and -all namespaces will be considered which is providing problematic since -its getting it from both std:: and boost:: namespaces - -so let it not rely on ADL by qualifying then calls with std:: namespace - -Upstream-Status: Submitted [https://github.com/isc-projects/kea/pull/103] -Signed-off-by: Khem Raj ---- - src/lib/dhcp/libdhcp++.cc | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/lib/dhcp/libdhcp++.cc b/src/lib/dhcp/libdhcp++.cc -index 330c02b..ced705d 100644 ---- a/src/lib/dhcp/libdhcp++.cc -+++ b/src/lib/dhcp/libdhcp++.cc -@@ -419,14 +419,14 @@ size_t LibDHCP::unpackOptions6(const OptionBuffer& buf, - // We previously did the lookup only for dhcp6 option space, but with the - // addition of S46 options, we now do it for every space. - range = idx.equal_range(opt_type); -- num_defs = distance(range.first, range.second); -+ num_defs = std::distance(range.first, range.second); - - // Standard option definitions do not include the definition for - // our option or we're searching for non-standard option. Try to - // find the definition among runtime option definitions. - if (num_defs == 0) { - range = runtime_idx.equal_range(opt_type); -- num_defs = distance(range.first, range.second); -+ num_defs = std::distance(range.first, range.second); - } - - OptionPtr opt; -@@ -538,14 +538,14 @@ size_t LibDHCP::unpackOptions4(const OptionBuffer& buf, - // may be standard options in other spaces (e.g. radius). So we now do - // the lookup for every space. - range = idx.equal_range(opt_type); -- num_defs = distance(range.first, range.second); -+ num_defs = std::distance(range.first, range.second); - - // Standard option definitions do not include the definition for - // our option or we're searching for non-standard option. Try to - // find the definition among runtime option definitions. - if (num_defs == 0) { - range = runtime_idx.equal_range(opt_type); -- num_defs = distance(range.first, range.second); -+ num_defs = std::distance(range.first, range.second); - } - - // Check if option unpacking must be deferred -@@ -638,7 +638,7 @@ size_t LibDHCP::unpackVendorOptions6(const uint32_t vendor_id, - idx->equal_range(opt_type); - // Get the number of returned option definitions for the - // option code. -- size_t num_defs = distance(range.first, range.second); -+ size_t num_defs = std::distance(range.first, range.second); - - if (num_defs > 1) { - // Multiple options of the same code are not supported -@@ -746,7 +746,7 @@ size_t LibDHCP::unpackVendorOptions4(const uint32_t vendor_id, const OptionBuffe - idx->equal_range(opt_type); - // Get the number of returned option definitions for - // the option code. -- size_t num_defs = distance(range.first, range.second); -+ size_t num_defs = std::distance(range.first, range.second); - - if (num_defs > 1) { - // Multiple options of the same code are not --- -2.18.0 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch new file mode 100644 index 000000000..d7ca9ff8f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch @@ -0,0 +1,34 @@ +From 9d6b8321c5b46199baca907f3d42bdcaaf1958a8 Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Thu, 23 May 2019 23:59:42 -0700 +Subject: [PATCH] remove AC_TRY_RUN + +AC_TRY_RUN doesn't work in cross compile env, +use AC_COMPILE_IFELSE instead to fix below configure +error: + | checking for usuable C++11 regex... configure: error: in `/builddir/tmp/work/core2-64-poky-linux/kea/1.5.0-r0/build': + | configure: error: cannot run test program while cross compiling + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Mingli Yu +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c880b77..dd40c7c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -580,7 +580,7 @@ AC_TRY_COMPILE([ + AC_MSG_RESULT(no)) + + AC_MSG_CHECKING(for usuable C++11 regex) +-AC_TRY_RUN([ ++AC_COMPILE_IFELSE([ + #include + #include + int main() { +-- +2.21.0 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb deleted file mode 100644 index 67de07b31..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "ISC Kea DHCP Server" -DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS." -HOMEPAGE = "http://kea.isc.org" -SECTION = "connectivity" -LICENSE = "MPL-2.0 & Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=1666a9c4bb55adbc8939d85643096bd3" - -DEPENDS += "kea-native" - -SRC_URI = "\ - http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \ - file://0003-Makefile.am-update-hooksdir-for-lease_cmds.patch \ - file://0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch \ - file://kea-dhcp4.service \ - file://kea-dhcp6.service \ - file://kea-dhcp-ddns.service \ -" -SRC_URI[md5sum] = "26eedd749101642757d788431605aaa5" -SRC_URI[sha256sum] = "c0f8ecb93657adfc5ab970c91706754e601084828493f053f159661d21b31128" - -inherit autotools systemd - -SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service" -SYSTEMD_AUTO_ENABLE = "disable" - -do_configure_prepend_class-target() { - mkdir -p ${B}/src/lib/log/compiler/ - ln -sf ${STAGING_BINDIR_NATIVE}/kea-msg-compiler ${B}/src/lib/log/compiler/kea-msg-compiler -} - -do_install_append_class-target() { - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir} - sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \ - -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - ${D}${systemd_system_unitdir}/kea-dhcp*service -} - -do_install_append() { - rm -rf "${D}${localstatedir}" -} - -PACKAGECONFIG ??= "openssl log4cplus boost" - -PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_TARGET}${prefix},,openssl,openssl" -PACKAGECONFIG[log4cplus] = "--with-log4cplus=${STAGING_DIR_TARGET}${prefix},,log4cplus,log4cplus" -PACKAGECONFIG[boost] = "--with-boost-include=${STAGING_INCDIR} --with-boost-lib-dir=${STAGING_LIBDIR} --with-boost-libs=-lboost_system,,boost,boost" - -FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a" -FILES_${PN} += "${libdir}/hooks/*.so" - -BBCLASSEXTEND += "native" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb new file mode 100644 index 000000000..fb166df60 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb @@ -0,0 +1,62 @@ +SUMMARY = "ISC Kea DHCP Server" +DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS." +HOMEPAGE = "http://kea.isc.org" +SECTION = "connectivity" +LICENSE = "MPL-2.0 & Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=2ed44ce4e0bbfdc1abfa6bf949b7ba3a" + +DEPENDS += "kea-native" + +SRC_URI = "\ + http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \ + file://0003-Makefile.am-update-hooksdir-for-lease_cmds.patch \ + file://0001-remove-AC_TRY_RUN.patch \ + file://kea-dhcp4.service \ + file://kea-dhcp6.service \ + file://kea-dhcp-ddns.service \ +" +SRC_URI[md5sum] = "591d38e5fcc0251a8812e8bb1337578a" +SRC_URI[sha256sum] = "edce4fab68ca7af607cf7f5bc86596e04fe0ef4b8e88906e339cdefcf21daaec" + +inherit autotools systemd + +SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service" +SYSTEMD_AUTO_ENABLE = "disable" + +DEBUG_OPTIMIZATION_remove_mips = " -Og" +DEBUG_OPTIMIZATION_append_mips = " -O" +BUILD_OPTIMIZATION_remove_mips = " -Og" +BUILD_OPTIMIZATION_append_mips = " -O" + +DEBUG_OPTIMIZATION_remove_mipsel = " -Og" +DEBUG_OPTIMIZATION_append_mipsel = " -O" +BUILD_OPTIMIZATION_remove_mipsel = " -Og" +BUILD_OPTIMIZATION_append_mipsel = " -O" + +do_configure_prepend_class-target() { + mkdir -p ${B}/src/lib/log/compiler/ + ln -sf ${STAGING_BINDIR_NATIVE}/kea-msg-compiler ${B}/src/lib/log/compiler/kea-msg-compiler +} + +do_install_append_class-target() { + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir} + sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${systemd_system_unitdir}/kea-dhcp*service +} + +do_install_append() { + rm -rf "${D}${localstatedir}" +} + +PACKAGECONFIG ??= "openssl log4cplus boost" + +PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_TARGET}${prefix},,openssl,openssl" +PACKAGECONFIG[log4cplus] = "--with-log4cplus=${STAGING_DIR_TARGET}${prefix},,log4cplus,log4cplus" +PACKAGECONFIG[boost] = "--with-boost-include=${STAGING_INCDIR} --with-boost-lib-dir=${STAGING_LIBDIR} --with-boost-libs=-lboost_system,,boost,boost" + +FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a" +FILES_${PN} += "${libdir}/hooks/*.so" + +BBCLASSEXTEND += "native" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch deleted file mode 100644 index e99c22710..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Thu, 22 Mar 2018 18:18:06 +0100 -Subject: [PATCH] musl: dlopen is included so LD_LIBS="" instead of - LD_LIBS="none required" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Pending - -Stolen from [1] and prettyfied slightly - -[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches - -Signed-off-by: Andreas Müller ---- - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.ac b/configure.ac -index 487a266..96ae4f7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -235,6 +235,7 @@ dnl - dnl Checks for libdl - on certain platforms its part of libc - dnl - AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=]) -+AS_IF([test "$ac_cv_search_dlopen" = "none required"],[ac_cv_search_dlopen=""]) - AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen") - - PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0], --- -2.14.3 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch index accd2f256..af6f938ce 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch @@ -1,7 +1,7 @@ -From 7b09945585e6ce65049fa4039f26caee8daa44b9 Mon Sep 17 00:00:00 2001 +From a89c2e6d40606f563467a83fb98933e990e71377 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 2 Apr 2019 01:34:35 +0200 -Subject: [PATCH 1/2] Fix build with musl - systemd specific +Subject: [PATCH] Fix build with musl - systemd specific MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -14,27 +14,27 @@ Upstream-Status: Pending Signed-off-by: Andreas Müller --- shared/systemd/src/basic/in-addr-util.c | 1 + - shared/systemd/src/basic/process-util.c | 9 ++++++++ - shared/systemd/src/basic/socket-util.h | 6 +++++ + shared/systemd/src/basic/process-util.c | 9 +++++++++ + shared/systemd/src/basic/socket-util.h | 6 ++++++ + shared/systemd/src/basic/sort-util.h | 27 ++++--------------------- shared/systemd/src/basic/stdio-util.h | 2 ++ shared/systemd/src/basic/string-util.h | 5 +++++ - shared/systemd/src/basic/util.h | 29 +++++-------------------- - 6 files changed, 28 insertions(+), 24 deletions(-) + 6 files changed, 27 insertions(+), 23 deletions(-) diff --git a/shared/systemd/src/basic/in-addr-util.c b/shared/systemd/src/basic/in-addr-util.c -index 5ced350..c6b52b8 100644 +index 5899f62..0adb248 100644 --- a/shared/systemd/src/basic/in-addr-util.c +++ b/shared/systemd/src/basic/in-addr-util.c -@@ -13,6 +13,7 @@ +@@ -14,6 +14,7 @@ #include "in-addr-util.h" #include "macro.h" #include "parse-util.h" +#include "string-util.h" + #include "random-util.h" + #include "strxcpyx.h" #include "util.h" - - bool in4_addr_is_null(const struct in_addr *a) { diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c -index b0afb5c..7adc8bd 100644 +index 7431be3..189060a 100644 --- a/shared/systemd/src/basic/process-util.c +++ b/shared/systemd/src/basic/process-util.c @@ -21,6 +21,9 @@ @@ -47,7 +47,7 @@ index b0afb5c..7adc8bd 100644 #if 0 /* NM_IGNORED */ #if HAVE_VALGRIND_VALGRIND_H #include -@@ -1168,11 +1171,13 @@ void reset_cached_pid(void) { +@@ -1183,11 +1186,13 @@ void reset_cached_pid(void) { cached_pid = CACHED_PID_UNSET; } @@ -61,7 +61,7 @@ index b0afb5c..7adc8bd 100644 pid_t getpid_cached(void) { static bool installed = false; -@@ -1201,7 +1206,11 @@ pid_t getpid_cached(void) { +@@ -1216,7 +1221,11 @@ pid_t getpid_cached(void) { * only half-documented (glibc doesn't document it but LSB does — though only superficially) * we'll check for errors only in the most generic fashion possible. */ @@ -74,7 +74,7 @@ index b0afb5c..7adc8bd 100644 cached_pid = CACHED_PID_UNSET; return new_pid; diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h -index d2246a8..76f257f 100644 +index 15443f1..4807198 100644 --- a/shared/systemd/src/basic/socket-util.h +++ b/shared/systemd/src/basic/socket-util.h @@ -13,6 +13,12 @@ @@ -90,55 +90,13 @@ index d2246a8..76f257f 100644 #include "macro.h" #include "missing_socket.h" #include "sparse-endian.h" -diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h -index dc67b6e..6336243 100644 ---- a/shared/systemd/src/basic/stdio-util.h -+++ b/shared/systemd/src/basic/stdio-util.h -@@ -1,7 +1,9 @@ - /* SPDX-License-Identifier: LGPL-2.1+ */ - #pragma once +diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h +index e029f86..1e8b6e1 100644 +--- a/shared/systemd/src/basic/sort-util.h ++++ b/shared/systemd/src/basic/sort-util.h +@@ -5,15 +5,10 @@ -+#if defined(__GLIBC__) - #include -+#endif - #include - #include - #include -diff --git a/shared/systemd/src/basic/string-util.h b/shared/systemd/src/basic/string-util.h -index 38070ab..6b918e0 100644 ---- a/shared/systemd/src/basic/string-util.h -+++ b/shared/systemd/src/basic/string-util.h -@@ -27,6 +27,11 @@ - #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0) - #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0) - -+/* musl does not know strndupa */ -+#if !defined(__GLIBC__) -+#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s) -+#endif -+ - int strcmp_ptr(const char *a, const char *b) _pure_; - - static inline bool streq_ptr(const char *a, const char *b) { -diff --git a/shared/systemd/src/basic/util.h b/shared/systemd/src/basic/util.h -index dc33d66..cc768e9 100644 ---- a/shared/systemd/src/basic/util.h -+++ b/shared/systemd/src/basic/util.h -@@ -27,6 +27,11 @@ #include "macro.h" - #include "time-util.h" - -+#if !defined(__GLIBC__) -+typedef int (*__compar_fn_t) (const void*, const void*); -+typedef __compar_fn_t comparison_fn_t; -+#endif -+ - size_t page_size(void) _pure_; - #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) - -@@ -66,16 +71,6 @@ int prot_from_flags(int flags) _const_; - bool in_initrd(void); - void in_initrd_force(bool value); -void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size, - __compar_d_fn_t compar, void *arg); @@ -149,14 +107,18 @@ index dc33d66..cc768e9 100644 - int (*_func_)(const typeof(b[0])*, const typeof(b[0])*, typeof(userdata)) = func; \ - xbsearch_r((const void*) _k, (b), (n), sizeof((b)[0]), (__compar_d_fn_t) _func_, userdata); \ - }) -- ++#if !defined(__GLIBC__) ++typedef int (*__compar_fn_t) (const void*, const void*); ++typedef __compar_fn_t comparison_fn_t; ++#endif + /** * Normal bsearch requires base to be nonnull. Here were require - * that only if nmemb > 0. -@@ -116,20 +111,6 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn +@@ -54,17 +49,3 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn + int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \ qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \ }) - +- -static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) { - if (nmemb <= 1) - return; @@ -170,10 +132,36 @@ index dc33d66..cc768e9 100644 - int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \ - qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \ - }) -- - /* Normal memcpy requires src to be nonnull. We do nothing if n is 0. */ - static inline void memcpy_safe(void *dst, const void *src, size_t n) { - if (n == 0) +diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h +index c3b9448..e80a938 100644 +--- a/shared/systemd/src/basic/stdio-util.h ++++ b/shared/systemd/src/basic/stdio-util.h +@@ -1,7 +1,9 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + #pragma once + ++#if defined(__GLIBC__) + #include ++#endif + #include + #include + #include +diff --git a/shared/systemd/src/basic/string-util.h b/shared/systemd/src/basic/string-util.h +index b23f4c8..8f2f6e0 100644 +--- a/shared/systemd/src/basic/string-util.h ++++ b/shared/systemd/src/basic/string-util.h +@@ -27,6 +27,11 @@ + #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0) + #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0) + ++/* musl does not know strndupa */ ++#if !defined(__GLIBC__) ++#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s) ++#endif ++ + int strcmp_ptr(const char *a, const char *b) _pure_; + + static inline bool streq_ptr(const char *a, const char *b) { -- -2.20.1 +2.17.1 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch index 25f9a4a00..e0973af1e 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch @@ -1,4 +1,4 @@ -From 0b0f2d5abe27b2c9587f449795f0ae3568fc3e38 Mon Sep 17 00:00:00 2001 +From 3d1307735667758f44378585482fe421db086af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 8 Apr 2019 23:10:43 +0200 Subject: [PATCH 2/2] Fix build with musl @@ -23,7 +23,7 @@ The build issues caused by definition conflicts musl vs linux-libc headers Note: Be aware that this is still nasty business: We have to trust that musl headers define same signatures as linux would do - just because musl-makers consider -linux-libc headers 'notoriously broken for userspace' [2] (search for +linux-libc headers 'notoriously broken for userspace' [2] (search for 'error: redefinition of'). [1] http://lists.openembedded.org/pipermail/openembedded-core/2019-March/280440.html @@ -53,7 +53,7 @@ index 43fbbc1..3eae286 100644 #include "nmtui.h" diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h -index 2b5baba..8a50131 100644 +index 2b5baba..f7abab6 100644 --- a/libnm-core/nm-utils.h +++ b/libnm-core/nm-utils.h @@ -25,6 +25,10 @@ @@ -68,7 +68,7 @@ index 2b5baba..8a50131 100644 #include diff --git a/shared/nm-default.h b/shared/nm-default.h -index 26d6476..b29e8af 100644 +index 54e9916..26e9f4e 100644 --- a/shared/nm-default.h +++ b/shared/nm-default.h @@ -211,6 +211,9 @@ @@ -82,7 +82,7 @@ index 26d6476..b29e8af 100644 /*****************************************************************************/ diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c -index 7514fa7..d305fa5 100644 +index bd4fbcc..f70b309 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -24,6 +24,7 @@ @@ -102,17 +102,17 @@ index 7514fa7..d305fa5 100644 #include diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c -index 2f5c75b..d6ca6d9 100644 +index d4b0115..22a3a90 100644 --- a/src/platform/nm-linux-platform.c +++ b/src/platform/nm-linux-platform.c -@@ -27,7 +27,6 @@ - #include +@@ -28,7 +28,6 @@ #include + #include #include -#include + #include #include #include - #include -- -2.20.1 +2.17.1 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb deleted file mode 100644 index 9f01f1bc1..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb +++ /dev/null @@ -1,148 +0,0 @@ -SUMMARY = "NetworkManager" -HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" -SECTION = "net/misc" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \ - file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \ - file://docs/api/html/license.html;md5=233931303ef80eded167add1f60a50c1 \ -" - -DEPENDS = " \ - intltool-native \ - libxslt-native \ - libnl \ - libgudev \ - util-linux \ - libndp \ - libnewt \ - jansson \ - curl \ -" - -inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc - -SRC_URI = " \ - ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ - file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ - file://0002-Do-not-create-settings-settings-property-documentati.patch \ - file://0003-dlopen-failure.patch \ -" -SRC_URI_append_libc-musl = " \ - file://musl/0001-Fix-build-with-musl-systemd-specific.patch \ - file://musl/0002-Fix-build-with-musl.patch \ -" - -SRC_URI[md5sum] = "10abacaafb162a67d2942adf03e7e9e4" -SRC_URI[sha256sum] = "8e962833b6ca03edda1bc57ed6614a7b8c2339531b44acef098d05f2324c5d2c" - -UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.16/" -UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P1\.10(\.\d+)+).tar.xz" - -S = "${WORKDIR}/NetworkManager-${PV}" - -EXTRA_OECONF = " \ - --disable-ifcfg-rh \ - --disable-more-warnings \ - --with-iptables=${sbindir}/iptables \ - --with-tests \ - --with-nmtui=yes \ - --with-udev-dir=${nonarch_base_libdir}/udev \ -" - -# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template -# avoids: -# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? -# -# and -# -# | In file included from ../NetworkManager-1.16.0/src/systemd/nm-sd-utils-core.c:25: -# | ../NetworkManager-1.16.0/src/systemd/sd-adapt-core/nm-sd-adapt-core.h:68:6: error: #error neither secure_getenv nor __secure_getenv is available -# | # error neither secure_getenv nor __secure_getenv is available -# | ^~~~~ -CFLAGS_append_libc-musl = " \ - -DRTLD_DEEPBIND=0 \ - -DHAVE_SECURE_GETENV \ - -Dsecure_getenv=getenv \ -" - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs" -} - -PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ -" -PACKAGECONFIG[systemd] = " \ - --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \ - --without-systemdsystemunitdir, \ -" -PACKAGECONFIG[polkit] = "--enable-polkit --enable-polkit-agent,--disable-polkit --disable-polkit-agent,polkit" -PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5" -# consolekit is not picked by shlibs, so add it to RDEPENDS too -PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit" -PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager" -PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" -# Use full featured dhcp client instead of internal one -PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client" -PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" -PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" -PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib" -PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" -PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant" -PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" -PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" - -PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \ - ${PN}-nmtui ${PN}-nmtui-doc \ - ${PN}-adsl \ -" - -FILES_libnmutil += "${libdir}/libnm-util.so.*" -FILES_libnmglib += "${libdir}/libnm-glib.so.*" -FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*" - -FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so" - -FILES_${PN} += " \ - ${libexecdir} \ - ${libdir}/NetworkManager/${PV}/*.so \ - ${nonarch_libdir}/NetworkManager/VPN \ - ${nonarch_libdir}/NetworkManager/conf.d \ - ${datadir}/polkit-1 \ - ${datadir}/dbus-1 \ - ${noarch_base_libdir}/udev/* \ - ${systemd_unitdir}/system \ - ${libdir}/pppd \ -" - -RRECOMMENDS_${PN} += "iptables \ - ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ -" -RCONFLICTS_${PN} = "connman" - -FILES_${PN}-dev += " \ - ${datadir}/NetworkManager/gdb-cmd \ - ${libdir}/pppd/*/*.la \ - ${libdir}/NetworkManager/*.la \ - ${libdir}/NetworkManager/${PV}/*.la \ -" - -FILES_${PN}-nmtui = " \ - ${bindir}/nmtui \ - ${bindir}/nmtui-edit \ - ${bindir}/nmtui-connect \ - ${bindir}/nmtui-hostname \ -" - -FILES_${PN}-nmtui-doc = " \ - ${mandir}/man1/nmtui* \ -" - -SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" - -do_install_append() { - rm -rf ${D}/run ${D}${localstatedir}/run -} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb new file mode 100644 index 000000000..9215a8676 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb @@ -0,0 +1,146 @@ +SUMMARY = "NetworkManager" +HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" +SECTION = "net/misc" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \ + file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \ + file://docs/api/html/license.html;md5=233931303ef80eded167add1f60a50c1 \ +" + +DEPENDS = " \ + intltool-native \ + libxslt-native \ + libnl \ + libgudev \ + util-linux \ + libndp \ + libnewt \ + jansson \ + curl \ +" + +inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc + +SRC_URI = " \ + ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ + file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ + file://0002-Do-not-create-settings-settings-property-documentati.patch \ +" +SRC_URI_append_libc-musl = " \ + file://musl/0001-Fix-build-with-musl-systemd-specific.patch \ + file://musl/0002-Fix-build-with-musl.patch \ +" +SRC_URI[md5sum] = "c8c27116a8083bab5d5fcca0d03e988a" +SRC_URI[sha256sum] = "c6e8df25e5a3c7309bc17664be8971689314884cdd08afdd6b0847d29d2a8ba6" + +UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.16/" +UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P1\.10(\.\d+)+).tar.xz" + +S = "${WORKDIR}/NetworkManager-${PV}" + +EXTRA_OECONF = " \ + --disable-ifcfg-rh \ + --disable-more-warnings \ + --with-iptables=${sbindir}/iptables \ + --with-tests \ + --with-nmtui=yes \ + --with-udev-dir=${nonarch_base_libdir}/udev \ +" + +# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template +# avoids: +# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? +# +# and +# +# | In file included from ../NetworkManager-1.16.0/src/systemd/nm-sd-utils-core.c:25: +# | ../NetworkManager-1.16.0/src/systemd/sd-adapt-core/nm-sd-adapt-core.h:68:6: error: #error neither secure_getenv nor __secure_getenv is available +# | # error neither secure_getenv nor __secure_getenv is available +# | ^~~~~ +CFLAGS_append_libc-musl = " \ + -DRTLD_DEEPBIND=0 \ + -DHAVE_SECURE_GETENV \ + -Dsecure_getenv=getenv \ +" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs" +} + +PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ +" +PACKAGECONFIG[systemd] = " \ + --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \ + --without-systemdsystemunitdir, \ +" +PACKAGECONFIG[polkit] = "--enable-polkit --enable-polkit-agent,--disable-polkit --disable-polkit-agent,polkit" +PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5" +# consolekit is not picked by shlibs, so add it to RDEPENDS too +PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit" +PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager" +PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" +# Use full featured dhcp client instead of internal one +PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client" +PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" +PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" +PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib" +PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" +PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant" +PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" +PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" + +PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \ + ${PN}-nmtui ${PN}-nmtui-doc \ + ${PN}-adsl \ +" + +FILES_libnmutil += "${libdir}/libnm-util.so.*" +FILES_libnmglib += "${libdir}/libnm-glib.so.*" +FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*" + +FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so" + +FILES_${PN} += " \ + ${libexecdir} \ + ${libdir}/NetworkManager/${PV}/*.so \ + ${nonarch_libdir}/NetworkManager/VPN \ + ${nonarch_libdir}/NetworkManager/conf.d \ + ${datadir}/polkit-1 \ + ${datadir}/dbus-1 \ + ${noarch_base_libdir}/udev/* \ + ${systemd_unitdir}/system \ + ${libdir}/pppd \ +" + +RRECOMMENDS_${PN} += "iptables \ + ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ +" +RCONFLICTS_${PN} = "connman" + +FILES_${PN}-dev += " \ + ${datadir}/NetworkManager/gdb-cmd \ + ${libdir}/pppd/*/*.la \ + ${libdir}/NetworkManager/*.la \ + ${libdir}/NetworkManager/${PV}/*.la \ +" + +FILES_${PN}-nmtui = " \ + ${bindir}/nmtui \ + ${bindir}/nmtui-edit \ + ${bindir}/nmtui-connect \ + ${bindir}/nmtui-hostname \ +" + +FILES_${PN}-nmtui-doc = " \ + ${mandir}/man1/nmtui* \ +" + +SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" + +do_install_append() { + rm -rf ${D}/run ${D}${localstatedir}/run +} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.11.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.11.bb deleted file mode 100644 index 8c08d1ed3..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.11.bb +++ /dev/null @@ -1,324 +0,0 @@ -HOMEPAGE = "https://www.samba.org/" -SECTION = "console/network" - -LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \ - file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 " - -SAMBA_MIRROR = "http://samba.org/samba/ftp" -MIRRORS += "\ -${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ -${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ -" - -SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ - file://smb.conf \ - file://16-do-not-check-xsltproc-manpages.patch \ - file://20-do-not-import-target-module-while-cross-compile.patch \ - file://21-add-config-option-without-valgrind.patch \ - file://netdb_defines.patch \ - file://glibc_only.patch \ - file://iconv-4.7.0.patch \ - file://dnsserver-4.7.0.patch \ - file://smb_conf-4.7.0.patch \ - file://volatiles.03_samba \ - " -SRC_URI_append_libc-musl = " \ - file://samba-pam.patch \ - file://samba-4.3.9-remove-getpwent_r.patch \ - file://cmocka-uintptr_t.patch \ - " - -SRC_URI[md5sum] = "de61611075e97ea98140a42d9189d9a5" -SRC_URI[sha256sum] = "d294a8d7455d7d252d7bafc9c474855ea6e0ebe559c3babcd303a5c24e58710a" - -UPSTREAM_CHECK_REGEX = "samba\-(?P4\.8(\.\d+)+).tar.gz" - -inherit systemd waf-samba cpan-base perlnative update-rc.d -# remove default added RDEPENDS on perl -RDEPENDS_${PN}_remove = "perl" - -DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libbsd libaio libpam" - -inherit distro_features_check -REQUIRED_DISTRO_FEATURES = "pam" - -DEPENDS_append_libc-musl = " libtirpc" -CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" -LDFLAGS_append_libc-musl = " -ltirpc" - -INITSCRIPT_NAME = "samba" -INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." - -SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind" -SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service" -SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" -SYSTEMD_SERVICE_winbind = "winbind.service" - -# There are prerequisite settings to enable ad-dc, so disable the service by default. -# Reference: -# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller -SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable" - -# Use krb5. Build active domain controller. -# -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ - acl ad-dc cups gnutls ldap mitkrb5 \ -" - -RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt" - -PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" -PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" -PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" -PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" -PACKAGECONFIG[sasl] = ",,cyrus-sasl" -PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" -PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" -PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" -PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," -PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" -PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" -PACKAGECONFIG[libunwind] = ", , libunwind" - -# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS, -# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to: -# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html -# So the working combination is: -# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable -# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable -# -# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where -# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow. -# -PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,," -PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," -PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," - -SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" -SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" -SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" -SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" - -# These libraries are supposed to replace others supplied by packages, but decorate the names of -# .so files so there will not be a conflict. This is not done consistantly, so be very careful -# when adding to this list. -# -SAMBA4_LIBS="heimdal,cmocka,ldb,pyldb-util,NONE" - -# interim packages: As long as ldb/pyldb-util are in SAMBA4_LIBS we need to pack -# bundled libraries in seperate packages. Otherwise they are auto-packed in -# package 'samba' which RDEPENDS on lots of packages not wanted e.g autostarting -# nmbd/smbd daemons -# Once 'ldb,pyldb-util' are removed from SAMBA4_LIBS the bundled packages can -# be removed again. -PACKAGES =+ "${PN}-bundled-ldb ${PN}-bundled-pyldb-util" -FILES_${PN}-bundled-ldb = "${libdir}/samba/libldb${SOLIBS}" -FILES_${PN}-bundled-pyldb-util = "${libdir}/samba/libpyldb-util${SOLIBS}" - -EXTRA_OECONF += "--enable-fhs \ - --with-piddir=/run \ - --with-sockets-dir=/run/samba \ - --with-modulesdir=${libdir}/samba \ - --with-lockdir=${localstatedir}/lib/samba \ - --with-cachedir=${localstatedir}/lib/samba \ - --disable-rpath-install \ - --with-shared-modules=${SAMBA4_MODULES} \ - --bundled-libraries=${SAMBA4_LIBS} \ - ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ - --with-cluster-support \ - --with-profiling-data \ - --with-libiconv=${STAGING_DIR_HOST}${prefix} \ - --with-pam --with-pammodulesdir=${base_libdir}/security \ - " - -LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -do_install_append() { - for section in 1 5 7; do - install -d ${D}${mandir}/man$section - install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section - done - for section in 1 5 7 8; do - install -d ${D}${mandir}/man$section - install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section - done - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ - sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ - -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ - -i ${D}${systemd_system_unitdir}/*.service - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then - rm -f ${D}${systemd_system_unitdir}/samba.service - fi - - install -d ${D}${sysconfdir}/tmpfiles.d - install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf - echo "d ${localstatedir}/log/samba 0755 root root -" \ - >> ${D}${sysconfdir}/tmpfiles.d/samba.conf - install -d ${D}${sysconfdir}/init.d - install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba - sed -e 's,/opt/samba/bin,${sbindir},g' \ - -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ - -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ - -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ - -e 's,/usr/bin,${base_bindir},g' \ - -i ${D}${sysconfdir}/init.d/samba - - install -d ${D}${sysconfdir}/samba - echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts - install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf - install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba - - install -d ${D}${sysconfdir}/default - install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba - - # install ctdb config file and test cases - install -D -m 0644 ${S}/ctdb/tests/onnode/nodes ${D}${sysconfdir}/ctdb/nodes - # the items are from ctdb/tests/run_tests.sh - for d in onnode takeover tool eventscripts cunit simple complex; do - testdir=${D}${datadir}/ctdb-tests/$d - install -d $testdir - cp ${S}/ctdb/tests/$d/*.sh $testdir - cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true - done - - # fix file-rdeps qa warning - if [ -f ${D}${bindir}/onnode ]; then - sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode - fi - - chmod 0750 ${D}${sysconfdir}/sudoers.d - rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log -} - -PACKAGES =+ "${PN}-python ${PN}-pidl \ - ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ - winbind \ - ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \ - smbclient ${PN}-client ${PN}-server ${PN}-test" - -python samba_populate_packages() { - def module_hook(file, pkg, pattern, format, basename): - pn = d.getVar('PN') - d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) - - mlprefix = d.getVar('MLPREFIX') or '' - pam_libdir = d.expand('${base_libdir}/security') - pam_pkgname = mlprefix + 'pam-plugin%s' - do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) - - libdir = d.getVar('libdir') - do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) - pkglibdir = '%s/samba' % libdir - do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) - moduledir = '%s/samba/auth' % libdir - do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) - moduledir = '%s/samba/pdb' % libdir - do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) -} - -PACKAGESPLITFUNCS_prepend = "samba_populate_packages " -PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" - -RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules" -RDEPENDS_${PN}-python += "pytalloc python-tdb" - -FILES_${PN}-base = "${sbindir}/nmbd \ - ${sbindir}/smbd \ - ${sysconfdir}/init.d \ - ${systemd_system_unitdir}/nmb.service \ - ${systemd_system_unitdir}/smb.service" - -FILES_${PN}-ad-dc = "${sbindir}/samba \ - ${systemd_system_unitdir}/samba.service \ - ${libdir}/krb5/plugins/kdb/samba.so \ -" -RDEPENDS_${PN}-ad-dc = "krb5-kdc" - -FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ - ${bindir}/ctdb_run_cluster_tests \ - ${sysconfdir}/ctdb/nodes \ - ${datadir}/ctdb-tests \ - ${datadir}/ctdb/tests \ - ${localstatedir}/lib/ctdb \ - " - -FILES_${BPN}-common = "${sysconfdir}/default \ - ${sysconfdir}/samba \ - ${sysconfdir}/tmpfiles.d \ - ${localstatedir}/lib/samba \ - ${localstatedir}/spool/samba \ -" - -FILES_${PN} += "${libdir}/vfs/*.so \ - ${libdir}/charset/*.so \ - ${libdir}/*.dat \ - ${libdir}/auth/*.so \ -" - -FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb" - -FILES_${PN}-testsuite = "${bindir}/gentest \ - ${bindir}/locktest \ - ${bindir}/masktest \ - ${bindir}/ndrdump \ - ${bindir}/smbtorture" - -FILES_registry-tools = "${bindir}/regdiff \ - ${bindir}/regpatch \ - ${bindir}/regshell \ - ${bindir}/regtree" - -FILES_winbind = "${sbindir}/winbindd \ - ${bindir}/wbinfo \ - ${bindir}/ntlm_auth \ - ${libdir}/samba/idmap \ - ${libdir}/samba/nss_info \ - ${libdir}/winbind_krb5_locator.so \ - ${libdir}/winbind-krb5-localauth.so \ - ${sysconfdir}/init.d/winbind \ - ${systemd_system_unitdir}/winbind.service" - -FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" - -FILES_smbclient = "${bindir}/cifsdd \ - ${bindir}/rpcclient \ - ${bindir}/smbcacls \ - ${bindir}/smbclient \ - ${bindir}/smbcquotas \ - ${bindir}/smbget \ - ${bindir}/smbspool \ - ${bindir}/smbtar \ - ${bindir}/smbtree \ - ${libdir}/samba/smbspool_krb5_wrapper" - -RDEPENDS_${PN}-pidl_append = " perl" -FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse" - -RDEPENDS_${PN}-client = "\ - smbclient \ - winbind \ - registry-tools \ - ${PN}-pidl \ - " - -ALLOW_EMPTY_${PN}-client = "1" - -RDEPENDS_${PN}-server = "\ - ${PN} \ - winbind \ - registry-tools \ - " - -ALLOW_EMPTY_${PN}-server = "1" - -RDEPENDS_${PN}-test = "\ - ${PN}-ctdb-tests \ - ${PN}-testsuite \ - " - -ALLOW_EMPTY_${PN}-test = "1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb new file mode 100644 index 000000000..762a5bc61 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb @@ -0,0 +1,327 @@ +HOMEPAGE = "https://www.samba.org/" +SECTION = "console/network" + +LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \ + file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 " + +SAMBA_MIRROR = "http://samba.org/samba/ftp" +MIRRORS += "\ +${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ +${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ +" + +SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ + file://smb.conf \ + file://16-do-not-check-xsltproc-manpages.patch \ + file://20-do-not-import-target-module-while-cross-compile.patch \ + file://21-add-config-option-without-valgrind.patch \ + file://netdb_defines.patch \ + file://glibc_only.patch \ + file://iconv-4.7.0.patch \ + file://dnsserver-4.7.0.patch \ + file://smb_conf-4.7.0.patch \ + file://volatiles.03_samba \ + " +SRC_URI_append_libc-musl = " \ + file://samba-pam.patch \ + file://samba-4.3.9-remove-getpwent_r.patch \ + file://cmocka-uintptr_t.patch \ + " + +SRC_URI[md5sum] = "25de700c8f1148fd13973a49a51c059e" +SRC_URI[sha256sum] = "c162d519101e15d1a1d76df063bfefe8d1656f57fb74e1ef19fe05d341a65d8f" + +UPSTREAM_CHECK_REGEX = "samba\-(?P4\.8(\.\d+)+).tar.gz" + +inherit systemd waf-samba cpan-base perlnative update-rc.d +# remove default added RDEPENDS on perl +RDEPENDS_${PN}_remove = "perl" + +DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libbsd libaio libpam" + +RCONFLICTS_${PN} = "libldb" +RCONFLICTS_${PN}-python = "pyldb" + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "pam" + +DEPENDS_append_libc-musl = " libtirpc" +CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" +LDFLAGS_append_libc-musl = " -ltirpc" + +INITSCRIPT_NAME = "samba" +INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." + +SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind" +SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service" +SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" +SYSTEMD_SERVICE_winbind = "winbind.service" + +# There are prerequisite settings to enable ad-dc, so disable the service by default. +# Reference: +# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller +SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable" + +# Use krb5. Build active domain controller. +# +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ + acl ad-dc cups gnutls ldap mitkrb5 \ +" + +RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt" + +PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" +PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" +PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[sasl] = ",,cyrus-sasl" +PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" +PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" +PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" +PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," +PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" +PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" +PACKAGECONFIG[libunwind] = ", , libunwind" + +# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS, +# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to: +# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html +# So the working combination is: +# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable +# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable +# +# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where +# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow. +# +PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,," +PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," +PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," + +SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" +SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" +SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" +SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" + +# These libraries are supposed to replace others supplied by packages, but decorate the names of +# .so files so there will not be a conflict. This is not done consistantly, so be very careful +# when adding to this list. +# +SAMBA4_LIBS="heimdal,cmocka,ldb,pyldb-util,NONE" + +# interim packages: As long as ldb/pyldb-util are in SAMBA4_LIBS we need to pack +# bundled libraries in seperate packages. Otherwise they are auto-packed in +# package 'samba' which RDEPENDS on lots of packages not wanted e.g autostarting +# nmbd/smbd daemons +# Once 'ldb,pyldb-util' are removed from SAMBA4_LIBS the bundled packages can +# be removed again. +PACKAGES =+ "${PN}-bundled-ldb ${PN}-bundled-pyldb-util" +FILES_${PN}-bundled-ldb = "${libdir}/samba/libldb${SOLIBS}" +FILES_${PN}-bundled-pyldb-util = "${libdir}/samba/libpyldb-util${SOLIBS}" + +EXTRA_OECONF += "--enable-fhs \ + --with-piddir=/run \ + --with-sockets-dir=/run/samba \ + --with-modulesdir=${libdir}/samba \ + --with-lockdir=${localstatedir}/lib/samba \ + --with-cachedir=${localstatedir}/lib/samba \ + --disable-rpath-install \ + --with-shared-modules=${SAMBA4_MODULES} \ + --bundled-libraries=${SAMBA4_LIBS} \ + ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ + --with-cluster-support \ + --with-profiling-data \ + --with-libiconv=${STAGING_DIR_HOST}${prefix} \ + --with-pam --with-pammodulesdir=${base_libdir}/security \ + " + +LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +do_install_append() { + for section in 1 5 7; do + install -d ${D}${mandir}/man$section + install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section + done + for section in 1 5 7 8; do + install -d ${D}${mandir}/man$section + install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section + done + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ + sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ + -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ + -i ${D}${systemd_system_unitdir}/*.service + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then + rm -f ${D}${systemd_system_unitdir}/samba.service + fi + + install -d ${D}${sysconfdir}/tmpfiles.d + install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf + echo "d ${localstatedir}/log/samba 0755 root root -" \ + >> ${D}${sysconfdir}/tmpfiles.d/samba.conf + install -d ${D}${sysconfdir}/init.d + install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba + sed -e 's,/opt/samba/bin,${sbindir},g' \ + -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ + -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ + -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ + -e 's,/usr/bin,${base_bindir},g' \ + -i ${D}${sysconfdir}/init.d/samba + + install -d ${D}${sysconfdir}/samba + echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts + install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf + install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba + + install -d ${D}${sysconfdir}/default + install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba + + # install ctdb config file and test cases + install -D -m 0644 ${S}/ctdb/tests/onnode/nodes ${D}${sysconfdir}/ctdb/nodes + # the items are from ctdb/tests/run_tests.sh + for d in onnode takeover tool eventscripts cunit simple complex; do + testdir=${D}${datadir}/ctdb-tests/$d + install -d $testdir + cp ${S}/ctdb/tests/$d/*.sh $testdir + cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true + done + + # fix file-rdeps qa warning + if [ -f ${D}${bindir}/onnode ]; then + sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode + fi + + chmod 0750 ${D}${sysconfdir}/sudoers.d + rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log +} + +PACKAGES =+ "${PN}-python ${PN}-pidl \ + ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ + winbind \ + ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \ + smbclient ${PN}-client ${PN}-server ${PN}-test" + +python samba_populate_packages() { + def module_hook(file, pkg, pattern, format, basename): + pn = d.getVar('PN') + d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) + + mlprefix = d.getVar('MLPREFIX') or '' + pam_libdir = d.expand('${base_libdir}/security') + pam_pkgname = mlprefix + 'pam-plugin%s' + do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) + + libdir = d.getVar('libdir') + do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) + pkglibdir = '%s/samba' % libdir + do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) + moduledir = '%s/samba/auth' % libdir + do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) + moduledir = '%s/samba/pdb' % libdir + do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) +} + +PACKAGESPLITFUNCS_prepend = "samba_populate_packages " +PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" + +RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules" +RDEPENDS_${PN}-python += "pytalloc python-tdb" + +FILES_${PN}-base = "${sbindir}/nmbd \ + ${sbindir}/smbd \ + ${sysconfdir}/init.d \ + ${systemd_system_unitdir}/nmb.service \ + ${systemd_system_unitdir}/smb.service" + +FILES_${PN}-ad-dc = "${sbindir}/samba \ + ${systemd_system_unitdir}/samba.service \ + ${libdir}/krb5/plugins/kdb/samba.so \ +" +RDEPENDS_${PN}-ad-dc = "krb5-kdc" + +FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ + ${bindir}/ctdb_run_cluster_tests \ + ${sysconfdir}/ctdb/nodes \ + ${datadir}/ctdb-tests \ + ${datadir}/ctdb/tests \ + ${localstatedir}/lib/ctdb \ + " + +FILES_${BPN}-common = "${sysconfdir}/default \ + ${sysconfdir}/samba \ + ${sysconfdir}/tmpfiles.d \ + ${localstatedir}/lib/samba \ + ${localstatedir}/spool/samba \ +" + +FILES_${PN} += "${libdir}/vfs/*.so \ + ${libdir}/charset/*.so \ + ${libdir}/*.dat \ + ${libdir}/auth/*.so \ +" + +FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb" + +FILES_${PN}-testsuite = "${bindir}/gentest \ + ${bindir}/locktest \ + ${bindir}/masktest \ + ${bindir}/ndrdump \ + ${bindir}/smbtorture" + +FILES_registry-tools = "${bindir}/regdiff \ + ${bindir}/regpatch \ + ${bindir}/regshell \ + ${bindir}/regtree" + +FILES_winbind = "${sbindir}/winbindd \ + ${bindir}/wbinfo \ + ${bindir}/ntlm_auth \ + ${libdir}/samba/idmap \ + ${libdir}/samba/nss_info \ + ${libdir}/winbind_krb5_locator.so \ + ${libdir}/winbind-krb5-localauth.so \ + ${sysconfdir}/init.d/winbind \ + ${systemd_system_unitdir}/winbind.service" + +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" + +FILES_smbclient = "${bindir}/cifsdd \ + ${bindir}/rpcclient \ + ${bindir}/smbcacls \ + ${bindir}/smbclient \ + ${bindir}/smbcquotas \ + ${bindir}/smbget \ + ${bindir}/smbspool \ + ${bindir}/smbtar \ + ${bindir}/smbtree \ + ${libdir}/samba/smbspool_krb5_wrapper" + +RDEPENDS_${PN}-pidl_append = " perl" +FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse" + +RDEPENDS_${PN}-client = "\ + smbclient \ + winbind \ + registry-tools \ + ${PN}-pidl \ + " + +ALLOW_EMPTY_${PN}-client = "1" + +RDEPENDS_${PN}-server = "\ + ${PN} \ + winbind \ + registry-tools \ + " + +ALLOW_EMPTY_${PN}-server = "1" + +RDEPENDS_${PN}-test = "\ + ${PN}-ctdb-tests \ + ${PN}-testsuite \ + " + +ALLOW_EMPTY_${PN}-test = "1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch deleted file mode 100644 index 8e5f4da36..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a0ad5128d14b022239445e251cf4a9826e86aa96 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 27 Jun 2017 07:48:31 -0700 -Subject: [PATCH] Add format string to fprintf() call - -Signed-off-by: Khem Raj ---- - src/vt.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/vt.c b/src/vt.c -index 795d393..a533d3d 100644 ---- a/src/vt.c -+++ b/src/vt.c -@@ -499,7 +499,7 @@ static int vt_cmd_dump_candidates(const struct vt_handle *vh, - } - llen += cmdlen; - -- ret = fprintf(vh->vh_stream, e->cmd); -+ ret = fprintf(vh->vh_stream, "%s", e->cmd); - if (ret < 0) - return ret; - --- -2.13.2 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch deleted file mode 100644 index 153bced39..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch +++ /dev/null @@ -1,38 +0,0 @@ -From f567740cf64978ac9db014c786b6d0267b244f33 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 4 Mar 2018 22:30:30 -0800 -Subject: [PATCH 1/2] replace SIGCLD with SIGCHLD and include sys/types.h - -Fixes -main.c:129:10: error: 'SIGCLD' undeclared (first use in this function); did you mean 'SIGCHLD'? - signal(SIGCLD, sig_child); - ^~~~~~ - SIGCHLD - -main.c:125:2: warning: implicit declaration of function 'umask' [-Wimplicit-function-declaration] - umask(0); - ^~~~~ - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - src/main.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: git/src/main.c -=================================================================== ---- git.orig/src/main.c -+++ git/src/main.c -@@ -133,9 +133,9 @@ static void daemon_start(int ignsigcld) - - if (ignsigcld) { - #ifdef SIGTSTP -- signal(SIGCLD, sig_child); -+ signal(SIGCHLD, sig_child); - #else -- signal(SIGCLD, SIG_IGN); -+ signal(SIGCHLD, SIG_IGN); - #endif - } - } diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch deleted file mode 100644 index d8355e25f..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 62784e8b6df8ff3a907c1f816154808bea9d7064 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Tue, 25 Sep 2018 14:38:14 +0800 -Subject: [PATCH] support openssl 1.1.x - -Long time no maintain from upstream since 2013 -(git://git.umip.org/umip/umip.git), backport a -fix from openSUSE - -Upstream-Status: Backport [openSUSE] -http://ftp.gwdg.de/pub/opensuse/source/distribution/leap/15.0/repo/oss/src/mipv6d-2.0.2.umip.0.4-lp150.1.2.src.rpm - -Signed-off-by: Hongxu Jia ---- - src/keygen.c | 12 ++++++++++++ - src/mh.c | 17 ++++++++++++++++- - 2 files changed, 28 insertions(+), 1 deletion(-) - -diff --git a/src/keygen.c b/src/keygen.c -index e434a38..b902644 100644 ---- a/src/keygen.c -+++ b/src/keygen.c -@@ -172,6 +172,7 @@ static void build_kgen_token(struct in6_addr *addr, uint8_t *nonce, - uint8_t tmp[20]; - #ifdef HAVE_LIBCRYPTO - unsigned int len = 20; -+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL - HMAC_CTX ctx; - - HMAC_CTX_init(&ctx); -@@ -182,6 +183,17 @@ static void build_kgen_token(struct in6_addr *addr, uint8_t *nonce, - HMAC_Final(&ctx, tmp, &len); - HMAC_CTX_cleanup(&ctx); - #else -+ HMAC_CTX *ctx; -+ ctx = HMAC_CTX_new(); -+ HMAC_Init_ex(ctx, key_cn, sizeof(key_cn), EVP_sha1(), NULL); -+ HMAC_Update(ctx, (unsigned char *)addr, sizeof(*addr)); -+ HMAC_Update(ctx, nonce, NONCE_LENGTH); -+ HMAC_Update(ctx, &id, sizeof(id)); -+ HMAC_Final(ctx, tmp, &len); -+ HMAC_CTX_free(ctx); -+#endif // End of defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL -+ -+#else - HMAC_SHA1_CTX ctx; - - HMAC_SHA1_init(&ctx, key_cn, sizeof(key_cn)); -diff --git a/src/mh.c b/src/mh.c -index cba9a33..212eb5a 100644 ---- a/src/mh.c -+++ b/src/mh.c -@@ -518,9 +518,10 @@ static int calculate_auth_data(const struct iovec *iov, int iovlen, - - #ifdef HAVE_LIBCRYPTO - unsigned int len = HMAC_SHA1_HASH_LEN; -- HMAC_CTX ctx; - const EVP_MD *evp_md = EVP_sha1(); - -+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL -+ HMAC_CTX ctx; - HMAC_CTX_init(&ctx); - HMAC_Init_ex(&ctx, key, HMAC_SHA1_KEY_SIZE, evp_md, NULL); - -@@ -532,6 +533,20 @@ static int calculate_auth_data(const struct iovec *iov, int iovlen, - HMAC_Final(&ctx, buf, &len); - HMAC_CTX_cleanup(&ctx); - #else -+ HMAC_CTX *ctx; -+ ctx = HMAC_CTX_new(); -+ HMAC_Init_ex(ctx, key, HMAC_SHA1_KEY_SIZE, evp_md, NULL); -+ -+ HMAC_Update(ctx, (uint8_t *)coa, sizeof(*coa)); -+ HMAC_Update(ctx, (uint8_t *)cn, sizeof(*coa)); -+ for (i = 0; i < iovlen; i++) { -+ HMAC_Update(ctx, (uint8_t *)iov[i].iov_base, iov[i].iov_len); -+ } -+ HMAC_Final(ctx, buf, &len); -+ HMAC_CTX_free(ctx); -+#endif -+ -+#else - HMAC_SHA1_CTX ctx; - - HMAC_SHA1_init(&ctx, key, HMAC_SHA1_KEY_SIZE); --- -2.7.4 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch deleted file mode 100644 index 90d12da14..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 19b6cf8099e1974b5fc39086fc54103b0cbc2658 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 4 Mar 2018 23:01:25 -0800 -Subject: [PATCH 2/2] replace PTHREAD_MUTEX_FAST_NP with PTHREAD_MUTEX_NORMAL - -PTHREAD_MUTEX_FAST_NP is not available on non-posix systems -e.g. musl - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - src/ha.c | 2 +- - src/icmp6.c | 2 +- - src/mh.c | 2 +- - src/mn.c | 2 +- - src/movement.c | 2 +- - src/mpdisc_ha.c | 2 +- - src/mpdisc_mn.c | 2 +- - src/tqueue.c | 2 +- - src/tunnelctl.c | 2 +- - 9 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/src/ha.c b/src/ha.c -index fbdcff0..b2f811e 100644 ---- a/src/ha.c -+++ b/src/ha.c -@@ -1246,7 +1246,7 @@ int ha_init(void) - { - pthread_mutexattr_t mattrs; - pthread_mutexattr_init(&mattrs); -- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); -+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); - if (pthread_mutex_init(&bu_worker_mutex, &mattrs) || - pthread_cond_init(&cond, NULL)) - return -1; -diff --git a/src/icmp6.c b/src/icmp6.c -index 3695135..6460634 100644 ---- a/src/icmp6.c -+++ b/src/icmp6.c -@@ -243,7 +243,7 @@ int icmp6_init(void) - return -1; - /* create ICMP listener thread */ - pthread_mutexattr_init(&mattrs); -- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); -+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); - if (pthread_mutex_init(&icmp6_sock.send_mutex, &mattrs) || - pthread_rwlock_init(&handler_lock, NULL) || - pthread_create(&icmp6_listener, NULL, icmp6_listen, NULL)) -diff --git a/src/mh.c b/src/mh.c -index 60e345e..7928f4c 100644 ---- a/src/mh.c -+++ b/src/mh.c -@@ -204,7 +204,7 @@ int mh_init(void) - return -1; - - pthread_mutexattr_init(&mattrs); -- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); -+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); - if (pthread_mutex_init(&mh_sock.send_mutex, &mattrs) || - pthread_rwlock_init(&handler_lock, NULL) || - pthread_create(&mh_listener, NULL, mh_listen, NULL)) -diff --git a/src/mn.c b/src/mn.c -index 092cfcb..8f7f448 100644 ---- a/src/mn.c -+++ b/src/mn.c -@@ -1478,7 +1478,7 @@ static struct home_addr_info *hai_copy(struct home_addr_info *conf_hai) - if (hai != NULL) { - pthread_mutexattr_t mattrs; - pthread_mutexattr_init(&mattrs); -- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); -+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); - - memcpy(hai, conf_hai, sizeof(struct home_addr_info)); - -diff --git a/src/movement.c b/src/movement.c -index d985937..6400448 100644 ---- a/src/movement.c -+++ b/src/movement.c -@@ -2013,7 +2013,7 @@ int md_init(void) - int val; - - pthread_mutexattr_init(&mattrs); -- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); -+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); - if (pthread_mutex_init(&iface_lock, &mattrs)) - return -1; - -diff --git a/src/mpdisc_ha.c b/src/mpdisc_ha.c -index 40ba05f..fd7a90d 100644 ---- a/src/mpdisc_ha.c -+++ b/src/mpdisc_ha.c -@@ -559,7 +559,7 @@ int mpd_ha_init(void) - { - pthread_mutexattr_t mattrs; - pthread_mutexattr_init(&mattrs); -- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); -+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); - if (pthread_mutex_init(&mpa_lock, &mattrs) || - pthread_rwlock_init(&prefix_lock, NULL) || - hash_init(&mpa_hash, DOUBLE_ADDR, MPA_BUCKETS) < 0) -diff --git a/src/mpdisc_mn.c b/src/mpdisc_mn.c -index 4873bd6..ada02bd 100644 ---- a/src/mpdisc_mn.c -+++ b/src/mpdisc_mn.c -@@ -267,7 +267,7 @@ int mpd_mn_init(void) - { - pthread_mutexattr_t mattrs; - pthread_mutexattr_init(&mattrs); -- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); -+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); - if (pthread_mutex_init(&mps_lock, &mattrs)) - return -1; - if (hash_init(&mps_hash, DOUBLE_ADDR, MPS_BUCKETS) < 0) -diff --git a/src/tqueue.c b/src/tqueue.c -index 2f7aa0b..9c185b8 100644 ---- a/src/tqueue.c -+++ b/src/tqueue.c -@@ -65,7 +65,7 @@ int taskqueue_init(void) - { - pthread_mutexattr_t mattrs; - pthread_mutexattr_init(&mattrs); -- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); -+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); - if (pthread_mutex_init(&mutex, &mattrs) || - pthread_cond_init(&cond, NULL) || - pthread_create(&tq_runner, NULL, runner, NULL)) -diff --git a/src/tunnelctl.c b/src/tunnelctl.c -index 23fc20b..813b8ec 100644 ---- a/src/tunnelctl.c -+++ b/src/tunnelctl.c -@@ -433,7 +433,7 @@ int tunnelctl_init(void) - return -1; - - pthread_mutexattr_init(&mattrs); -- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP); -+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL); - if (pthread_mutex_init(&tnl_lock, &mattrs)) - return -1; - --- -2.16.2 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch deleted file mode 100644 index dbf008264..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch +++ /dev/null @@ -1,23 +0,0 @@ -When "make -j10", the compilation will fail, -because scan.c has included gram.h, but gram.h was produced -after scan.c was compiled - -So add this dependency to ensure that gram.h is produced -before scan.c is produced. - -Upstream-Status: Inappropriate [upstream is not active] - -Signed-off-by: Roy.Li -Signed-off-by: Jackie Huang ---- - src/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -81,3 +81,5 @@ CLEANFILES = gram.c gram.h \ - - DISTCLEANFILES = $(BUILT_SOURCES) - MAINTAINERCLEANFILES = Makefile.in -+ -+scan.c: gram.h diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d deleted file mode 100755 index ebd70a6cc..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/sh -# -# mip6d Start script for the Mobile IPv6 daemon -# -# chkconfig: - 55 25 -# description: The mobile IPv6 daemon allows nodes to remain \ -# reachable while moving around in the IPv6 Internet. -# processname: mip6d -# config: /etc/mip6d.conf -# config: /etc/sysconfig/mip6d -# -### BEGIN INIT INFO -# Provides: mipv6-daemon -# Required-Start: $local_fs $remote_fs $network $named -# Required-Stop: $local_fs $remote_fs $network -# Should-Start: $syslog -# Should-Stop: $network $syslog -# Default-Start: -# Default-Stop: 0 1 6 -# Short-Description: Start and stop Mobile IPV6 daemon -# Description: The mobile IPv6 daemon allows nodes to remain -# reachable while moving around in the IPv6 Internet. -### END INIT INFO - -# Source function library. -. /etc/init.d/functions - -if [ -f /etc/sysconfig/mip6d ]; then - . /etc/sysconfig/mip6d -fi - -mip6d=/usr/sbin/mip6d -prog="mip6d" -lockfile=/var/lock/subsys/$prog - -start() { - [ -x $mip6d ] || exit 5 - echo -n $"Starting $prog: " - start-stop-daemon -S -x ${mip6d} && success || failure - retval=$? - echo - [ $retval -eq 0 ] && touch ${lockfile} - return $retval -} - -stop() { - echo -n $"Stopping $prog: " - start-stop-daemon -K -x $mip6d - retval=$? - echo - [ $retval -eq 0 ] && rm -f ${lockfile} - return $retval -} - -restart() { - stop - start -} - -reload() -{ - echo -n $"Reloading $prog configuration: " - killproc $mip6d -HUP - retval=$? - echo - return $retval -} - -force_reload() { - restart -} - -rh_status() { - status $prog -} - -rh_status_q() { - rh_status > /dev/null 2>&1 -} - -case "$1" in - start) - rh_status_q && exit 0 - $1 - ;; - stop) - rh_status_q || exit 0 - $1 - ;; - restart) - $1 - ;; - reload) - rh_status_q || exit 7 - $1 - ;; - force-reload) - force_reload - ;; - status) - rh_status - ;; - condrestart|try-restart) - rh_status_q || exit 0 - restart - ;; - *) - echo $"Usage: $prog {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" - exit 2 -esac - -exit $? diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service deleted file mode 100644 index 2b5a5b9f1..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=MIPL Mobile IPv6 -After=network.target - -[Service] -EnvironmentFile=-@SYSCONFDIR@/sysconfig/mip6d -ExecStart=@SBINDIR@/mip6d $ARGS - -[Install] -WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb deleted file mode 100644 index 43367b550..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Mobile IPv6 and NEMO for Linux" -DESCRIPTION = "UMIP is an open source implementation of Mobile IPv6 and NEMO \ -Basic Support for Linux. It is released under the GPLv2 license. It supports \ -the following IETF RFC: RFC6275 (Mobile IPv6), RFC3963 (NEMO), RFC3776 and \ -RFC4877 (IPsec and IKEv2)." -HOMEPAGE = "http://umip.org/" -SECTION = "System Environment/Base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=073dc31ccb2ebed70db54f1e8aeb4c33" -DEPENDS = "openssl ipsec-tools radvd indent-native bison-native" - -SRC_URI = "git://git.umip.org/umip/umip.git \ - file://add-dependency-to-support-parallel-compilation.patch \ - file://mip6d \ - file://mip6d.service \ - file://0001-Add-format-string-to-fprintf-call.patch \ - file://0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch \ - file://0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch \ - file://0001-support-openssl-1.1.x.patch \ - " -SRCREV = "cbd441c5db719db554ff2b4fcb02fef88ae2f791" - -# Depends on ipsec-tools which is already MACHINE_ARCH (and also RRECOMMENDS kernel modules) -PACKAGE_ARCH = "${MACHINE_ARCH}" - -S = "${WORKDIR}/git" - -EXTRA_OECONF = "--enable-vt" - -inherit autotools-brokensep systemd update-rc.d - -INITSCRIPT_NAME = "mip6d" -INITSCRIPT_PARAMS = "start 64 . stop 36 0 1 2 3 4 5 6 ." - -SYSTEMD_SERVICE_${PN} = "mip6d.service" -SYSTEMD_AUTO_ENABLE = "disable" - -do_install_append() { - install -D -m 0755 ${WORKDIR}/mip6d ${D}${sysconfdir}/init.d/mip6d - install -D -m 0644 ${WORKDIR}/mip6d.service ${D}${systemd_system_unitdir}/mip6d.service - sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - ${D}${systemd_system_unitdir}/mip6d.service -} - -RRECOMMENDS_${PN} = "kernel-module-mip6 kernel-module-ipv6" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb b/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb deleted file mode 100644 index 7b7de5849..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.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] = "b5eb2d0cc23f5e495a59405e34ce437f" -SRC_URI[sha256sum] = "3a4e6f7006599bc5764f86e1e86422710da13ad80e0242147b61c6855ebc915f" - -inherit bin_package allarch - -do_install() { - install -d -m0755 ${D}${nonarch_libdir}/crda - install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys - install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin - install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem - - install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db - install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s -} - -# Install static regulatory DB in /lib/firmware for kernel to load. -# This requires Linux kernel >= v4.15. -# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass in kernel's recipe. -PACKAGES =+ "${PN}-static" -RCONFLICTS_${PN} = "${PN}-static" - -FILES_${PN}-static = " \ - ${nonarch_base_libdir}/firmware/regulatory.db \ - ${nonarch_base_libdir}/firmware/regulatory.db.p7s \ -" - -# Native users might want to use the source of regulatory DB. -# This is for example used by Linux kernel <= v4.14 and kernel_wireless_regdb.bbclass. -do_install_append_class-native() { - install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt -} - -RSUGGESTS_${PN} = "crda" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.06.03.bb b/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.06.03.bb new file mode 100644 index 000000000..ded44b3d4 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.06.03.bb @@ -0,0 +1,42 @@ +SUMMARY = "Wireless Central Regulatory Domain Database" +HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA" +SECTION = "net" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" + +SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" +SRC_URI[md5sum] = "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 64eabe462..3770601a4 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 @@ -34,7 +34,7 @@ RDEPENDS_packagegroup-meta-networking-connectivity = "\ openconnect ez-ipupdate mosquitto sethdlc crda \ dibbler-server dibbler-client dibbler-requestor dibbler-relay \ libdnet ufw civetweb freeradius kea daq \ - mbedtls relayd snort dhcpcd rdate vlan umip vpnc \ + mbedtls relayd snort dhcpcd rdate vlan vpnc \ inetutils wolfssl lftp miniupnpd networkmanager \ networkmanager-openvpn rdist nanomsg python-networkmanager \ wireless-regdb \ @@ -93,7 +93,7 @@ RDEPENDS_packagegroup-meta-networking-support = "\ ncp ndisc6 mtr tinyproxy ssmping ntp \ wpan-tools bridge-utils ifenslave celt051 pimd \ nbd-client nbd-server nbd-trdump \ - phytool fwknop htpdate tcpreplay ipsec-tools \ + phytool fwknop htpdate tcpreplay \ traceroute geoip-perl geoip geoipupdate esmtp \ libtdb netcf dnsmasq curlpp openipmi drbd-utils \ drbd tunctl dovecot ipvsadm stunnel chrony spice-protocol \ diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb b/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb new file mode 100644 index 000000000..ff9084dbf --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb @@ -0,0 +1,59 @@ +SUMMARY = "Advanced TFTP server and client" +SECTION = "net" +HOMEPAGE = "http://packages.debian.org/atftp" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRCREV = "52b71f0831dcbde508bd3a961d84abb80a62480f" + +SRC_URI = "git://git.code.sf.net/p/atftp/code \ + file://atftpd.init \ + file://atftpd.service \ +" +SRC_URI_append_libc-musl = " file://0001-argz.h-fix-musl-compile-add-missing-defines.patch \ + file://0002-tftp.h-tftpd.h-fix-musl-compile-missing-include.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools update-rc.d systemd + +PACKAGECONFIG ??= "tcp-wrappers" +PACKAGECONFIG[pcre] = "--enable-libpcre,--disable-libpcre,libpcre" +PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" +PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline" + +INITSCRIPT_PACKAGES = "${PN}d" +INITSCRIPT_NAME_${PN}d = "atftpd" +INITSCRIPT_PARAMS_${PN}d = "defaults 80" + + +EXTRA_OEMAKE = "CFLAGS='${CFLAGS} -std=gnu89'" + +do_install_append() { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/atftpd.init ${D}${sysconfdir}/init.d/atftpd + + install -d ${D}/srv/tftp + + rm ${D}${sbindir}/in.tftpd + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/atftpd.service ${D}${systemd_unitdir}/system +} + +PACKAGES =+ "${PN}d" + +FILES_${PN} = "${bindir}/*" + +FILES_${PN}d = "${sbindir}/* \ + ${sysconfdir} \ + /srv/tftp \ + ${systemd_unitdir}/system/atftpd.service \ +" + +SYSTEMD_PACKAGES = "${PN}d" +SYSTEMD_SERVICE_${PN}d = "atftpd.service" +RPROVIDES_${PN}d += "${PN}d-systemd" +RREPLACES_${PN}d += "${PN}d-systemd" +RCONFLICTS_${PN}d += "${PN}d-systemd" diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb b/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb deleted file mode 100644 index a9949d59a..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "Advanced TFTP server and client" -SECTION = "net" -HOMEPAGE = "http://packages.debian.org/atftp" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f" -PV = "0.7.1+git${SRCPV}" -PR = "r3" - -SRCREV = "be3291a18c069ae23a124ffdc56d64a5ff0bbec7" - -SRC_URI = "git://git.code.sf.net/p/atftp/code \ - file://atftpd-0.7_circumvent_tftp_size_restrictions.patch \ - file://atftpd-0.7_unprotected_assignments_crash.patch \ - file://atftpd.init \ - file://atftpd.service \ - file://atftp-0.7-sorcerers_apprentice.patch \ -" -SRC_URI_append_libc-musl = " file://0001-argz.h-fix-musl-compile-add-missing-defines.patch \ - file://0002-tftp.h-tftpd.h-fix-musl-compile-missing-include.patch \ - " - -S = "${WORKDIR}/git" - -inherit autotools update-rc.d systemd - -PACKAGECONFIG ??= "tcp-wrappers" -PACKAGECONFIG[pcre] = "--enable-libpcre,--disable-libpcre,libpcre" -PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" -PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline" - -INITSCRIPT_PACKAGES = "${PN}d" -INITSCRIPT_NAME_${PN}d = "atftpd" -INITSCRIPT_PARAMS_${PN}d = "defaults 80" - - -EXTRA_OEMAKE = "CFLAGS='${CFLAGS} -std=gnu89'" - -do_install_append() { - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/atftpd.init ${D}${sysconfdir}/init.d/atftpd - - install -d ${D}/srv/tftp - - rm ${D}${sbindir}/in.tftpd - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/atftpd.service ${D}${systemd_unitdir}/system -} - -PACKAGES =+ "${PN}d" - -FILES_${PN} = "${bindir}/*" - -FILES_${PN}d = "${sbindir}/* \ - ${sysconfdir} \ - /srv/tftp \ - ${systemd_unitdir}/system/atftpd.service \ -" - -SYSTEMD_PACKAGES = "${PN}d" -SYSTEMD_SERVICE_${PN}d = "atftpd.service" -RPROVIDES_${PN}d += "${PN}d-systemd" -RREPLACES_${PN}d += "${PN}d-systemd" -RCONFLICTS_${PN}d += "${PN}d-systemd" diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch b/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch deleted file mode 100644 index fc64291cd..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch +++ /dev/null @@ -1,94 +0,0 @@ -atftp exhibits the well known "Sorcerer's Apprentice Syndrome"(SAS) problem. -According to RFC 1350, the fix to SAS is quite simple: further copies of the -acknowledgment for a particular data block would be ignored. - -Patch originally from OpenSUSE: -https://build.opensuse.org/package/view_file?file=atftp-0.7-sorcerers_apprentice.patch&package=atftp.539&project=openSUSE%3A12.1%3AUpdate&rev=84569792975e00573d7df597d2a6e895 - -Upstream-Status: Pending - -Signed-off-by: Roy.Li -Index: atftp-0.7/tftp_file.c -=================================================================== ---- atftp-0.7.orig/tftp_file.c 2011-11-22 15:12:53.792744083 +0100 -+++ atftp-0.7/tftp_file.c 2011-11-22 15:13:51.706421893 +0100 -@@ -605,6 +605,7 @@ - int timeout_state = state; /* what state should we go on when timeout */ - int result; - long block_number = 0; -+ long last_requested_block = -1; - long last_block = -1; - int data_size; /* size of data received */ - int sockfd = data->sockfd; /* just to simplify calls */ -@@ -765,6 +766,17 @@ - connected = 1; - } - block_number = ntohs(tftphdr->th_block); -+ -+ if (last_requested_block >= block_number) -+ { -+ if (data->trace) -+ fprintf(stderr, "received duplicated ACK = %ld>\n", -+ last_requested_block, block_number); -+ break; -+ } -+ else -+ last_requested_block = block_number; -+ - if (data->trace) - fprintf(stderr, "received ACK \n", - block_number); -Index: atftp-0.7/tftpd_file.c -=================================================================== ---- atftp-0.7.orig/tftpd_file.c 2011-11-22 15:12:53.793744112 +0100 -+++ atftp-0.7/tftpd_file.c 2011-11-22 15:15:04.617534260 +0100 -@@ -403,6 +403,7 @@ - int timeout_state = state; - int result; - long block_number = 0; -+ long last_requested_block = -1; - long last_block = -1; - int block_loops = 0; - int data_size; -@@ -859,6 +860,32 @@ - { - logger(LOG_DEBUG, "received ACK ", block_number); - } -+ -+ /* check whether the block request isn't already fulfilled */ -+ -+ /* multicast, block numbers could contain gaps */ -+ if (multicast) { -+ if (last_requested_block >= block_number) -+ { -+ if (data->trace) -+ logger(LOG_DEBUG, "received duplicated ACK = %d>", last_requested_block, block_number); -+ break; -+ } -+ else -+ last_requested_block = block_number; -+ /* unicast, blocks should be requested one after another */ -+ } else { -+ if (last_requested_block + 1 != block_number && last_requested_block != -1) -+ { -+ if (data->trace) -+ logger(LOG_DEBUG, "received out of order ACK ", last_requested_block + 1, block_number); -+ break; -+ } -+ else -+ last_requested_block = block_number; -+ } -+ -+ - if (ntohs(tftphdr->th_block) == 65535) - { - block_loops++; -@@ -958,6 +985,8 @@ - /* nedd to send an oack to that client */ - state = S_SEND_OACK; - fseek(fp, 0, SEEK_SET); -+ /* reset the last block received counter */ -+ last_requested_block = -1; - } - else - { diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch b/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch deleted file mode 100644 index 280b570b2..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch +++ /dev/null @@ -1,163 +0,0 @@ -Fate #303031: Circumvent TFTP size restrictions in atftpd -The size of a single image file that can be transferred with TFTP is limited to -2^(2*8) *BLOCKSIZE (as per RFC 1350 there are only two bytes for the block -counter). This is problematic for one of our customers who needs to transfer -100+ MB Windows images using a TFTP client (NT bootloader) which has a -hardwared BLOCKSIZE setting of 1432). - -block rollover -http://www.compuphase.com/tftp.htm - -Patch originally from OpenSUSE: -https://build.opensuse.org/package/show?package=atftp&project=openSUSE%3A12.2 - -Upstream-Status: Pending - -Index: git/tftp_def.h -=================================================================== ---- git.orig/tftp_def.h 2012-11-19 16:28:50.221027144 -0800 -+++ git/tftp_def.h 2012-11-20 17:40:54.391206979 -0800 -@@ -32,6 +32,7 @@ - #define TIMEOUT 5 /* Client timeout */ - #define S_TIMEOUT 5 /* Server timout. */ - #define NB_OF_RETRY 5 -+#define MAXBLOCKS 1000000 /* maximum number of blocks in a download */ - - /* definition to use tftp_options structure */ - #define OPT_FILENAME 0 -Index: git/tftp_file.c -=================================================================== ---- git.orig/tftp_file.c 2012-11-19 16:28:50.221027144 -0800 -+++ git/tftp_file.c 2012-11-19 16:28:51.201027167 -0800 -@@ -622,8 +622,8 @@ - int state = S_SEND_REQ; /* current state in the state machine */ - int timeout_state = state; /* what state should we go on when timeout */ - int result; -- int block_number = 0; -- int last_block = -1; -+ long block_number = 0; -+ long last_block = -1; - int data_size; /* size of data received */ - int sockfd = data->sockfd; /* just to simplify calls */ - struct sockaddr_storage sa; /* a copy of data.sa_peer */ -@@ -637,8 +637,8 @@ - int convert = 0; /* if true, do netascii convertion */ - char string[MAXLEN]; - -- int prev_block_number = 0; /* needed to support netascii convertion */ -- int prev_file_pos = 0; -+ long prev_block_number = 0; /* needed to support netascii convertion */ -+ long prev_file_pos = 0; - int temp = 0; - - data->file_size = 0; -@@ -745,7 +745,7 @@ - data_size, data->data_buffer); - data->file_size += data_size; - if (data->trace) -- fprintf(stderr, "sent DATA \n", -+ fprintf(stderr, "sent DATA \n", - block_number + 1, data_size - 4); - state = S_WAIT_PACKET; - break; -@@ -785,7 +785,7 @@ - } - block_number = ntohs(tftphdr->th_block); - if (data->trace) -- fprintf(stderr, "received ACK \n", -+ fprintf(stderr, "received ACK \n", - block_number); - if ((last_block != -1) && (block_number > last_block)) - { -Index: git/tftp_io.c -=================================================================== ---- git.orig/tftp_io.c 2012-11-19 16:28:50.221027144 -0800 -+++ git/tftp_io.c 2012-11-19 16:28:51.201027167 -0800 -@@ -350,8 +350,8 @@ - /* - * Read from file and do netascii conversion if needed - */ --int tftp_file_read(FILE *fp, char *data_buffer, int data_buffer_size, int block_number, -- int convert, int *prev_block_number, int *prev_file_pos, int *temp) -+int tftp_file_read(FILE *fp, char *data_buffer, int data_buffer_size, long block_number, -+ int convert, long *prev_block_number, long *prev_file_pos, int *temp) - { - int i; - int c; -Index: git/tftp_io.h -=================================================================== ---- git.orig/tftp_io.h 2012-11-19 16:28:50.221027144 -0800 -+++ git/tftp_io.h 2012-11-19 16:28:51.201027167 -0800 -@@ -52,8 +52,8 @@ - int tftp_get_packet(int sock1, int sock2, int *sock, struct sockaddr_storage *sa, - struct sockaddr_storage *from, struct sockaddr_storage *to, - int timeout, int *size, char *data); --int tftp_file_read(FILE *fp, char *buffer, int buffer_size, int block_number, int convert, -- int *prev_block_number, int *prev_file_pos, int *temp); -+int tftp_file_read(FILE *fp, char *buffer, int buffer_size, long block_number, int convert, -+ long *prev_block_number, long *prev_file_pos, int *temp); - int tftp_file_write(FILE *fp, char *data_buffer, int data_buffer_size, int block_number, - int data_size, int convert, int *prev_block_number, int *temp); - #endif -Index: git/tftpd_file.c -=================================================================== ---- git.orig/tftpd_file.c 2012-11-19 16:28:50.225027144 -0800 -+++ git/tftpd_file.c 2012-11-19 16:28:51.201027167 -0800 -@@ -407,8 +407,9 @@ - int state = S_BEGIN; - int timeout_state = state; - int result; -- int block_number = 0; -- int last_block = -1; -+ long block_number = 0; -+ long last_block = -1; -+ int block_loops = 0; - int data_size; - struct sockaddr_storage *sa = &data->client_info->client; - struct sockaddr_storage from; -@@ -431,8 +432,8 @@ - struct client_info *client_old = NULL; - struct tftp_opt options[OPT_NUMBER]; - -- int prev_block_number = 0; /* needed to support netascii convertion */ -- int prev_file_pos = 0; -+ long prev_block_number = 0; /* needed to support netascii convertion */ -+ long prev_file_pos = 0; - int temp = 0; - - /* look for mode option */ -@@ -565,11 +566,12 @@ - logger(LOG_INFO, "blksize option -> %d", result); - } - -- /* Verify that the file can be sent in 2^16 block of BLKSIZE octets */ -- if ((file_stat.st_size / (data->data_buffer_size - 4)) > 65535) -+ /* Verify that the file can be sent in MAXBLOCKS blocks of BLKSIZE octets */ -+ if ((file_stat.st_size / (data->data_buffer_size - 4)) > MAXBLOCKS) - { - tftp_send_error(sockfd, sa, EUNDEF, data->data_buffer, data->data_buffer_size); -- logger(LOG_NOTICE, "Requested file to big, increase BLKSIZE"); -+ logger(LOG_NOTICE, "Requested file too big, increase BLKSIZE"); -+ logger(LOG_NOTICE, "Only %d blocks of %d bytes can be served.", MAXBLOCKS, data->data_buffer_size); - if (data->trace) - logger(LOG_DEBUG, "sent ERROR ", EUNDEF, - tftp_errmsg[EUNDEF]); -@@ -880,10 +882,15 @@ - } - /* The ACK is from the current client */ - number_of_timeout = 0; -- block_number = ntohs(tftphdr->th_block); -+ block_number = (block_loops * 65536) + ntohs(tftphdr->th_block); - if (data->trace) -- logger(LOG_DEBUG, "received ACK ", -- block_number); -+ { -+ logger(LOG_DEBUG, "received ACK ", block_number); -+ } -+ if (ntohs(tftphdr->th_block) == 65535) -+ { -+ block_loops++; -+ }; - if ((last_block != -1) && (block_number > last_block)) - { - state = S_END; diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch b/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch deleted file mode 100644 index 28fba6cf5..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch +++ /dev/null @@ -1,152 +0,0 @@ -Avoid assigning thread data outside of mutex lock - -Patch originally from OpenSUSE: -https://build.opensuse.org/package/show?package=atftp&project=openSUSE%3A12.2 - -Upstream-Status: Pending - -Index: git/tftpd_list.c -=================================================================== ---- git.orig/tftpd_list.c 2012-10-24 21:48:47.000000000 -0700 -+++ git/tftpd_list.c 2012-10-24 21:52:04.266205076 -0700 -@@ -49,11 +49,11 @@ - */ - int tftpd_list_add(struct thread_data *new) - { -- struct thread_data *current = thread_data; -+ struct thread_data *current; - int ret; - - pthread_mutex_lock(&thread_list_mutex); -- -+ current = thread_data; - number_of_thread++; - - ret = number_of_thread; -@@ -81,11 +81,13 @@ - */ - int tftpd_list_remove(struct thread_data *old) - { -- struct thread_data *current = thread_data; -+ struct thread_data *current; - int ret; - - pthread_mutex_lock(&thread_list_mutex); - -+ current = thread_data; -+ - number_of_thread--; - ret = number_of_thread; - -@@ -137,23 +139,26 @@ - struct thread_data *data, - struct client_info *client) - { -- struct thread_data *current = thread_data; /* head of the list */ -- struct tftp_opt *tftp_options = data->tftp_options; -+ struct thread_data *current; /* head of the list */ -+ struct tftp_opt *tftp_options; - struct client_info *tmp; - char options[MAXLEN]; - char string[MAXLEN]; - char *index; - int len; - -+ /* lock the whole list before walking it */ -+ pthread_mutex_lock(&thread_list_mutex); -+ - *thread = NULL; - -+ current = thread_data; -+ tftp_options = data->tftp_options; -+ - opt_request_to_string(tftp_options, options, MAXLEN); - index = strstr(options, "multicast"); - len = (int)index - (int)options; - -- /* lock the whole list before walking it */ -- pthread_mutex_lock(&thread_list_mutex); -- - while (current) - { - if (current != data) -@@ -214,9 +219,10 @@ - void tftpd_clientlist_remove(struct thread_data *thread, - struct client_info *client) - { -- struct client_info *tmp = thread->client_info; -+ struct client_info *tmp; - - pthread_mutex_lock(&thread->client_mutex); -+ tmp = thread->client_info; - while ((tmp->next != client) && (tmp->next != NULL)) - tmp = tmp->next; - if (tmp->next == NULL) -@@ -231,9 +237,11 @@ - void tftpd_clientlist_free(struct thread_data *thread) - { - struct client_info *tmp; -- struct client_info *head = thread->client_info; -+ struct client_info *head; - - pthread_mutex_lock(&thread->client_mutex); -+ head = thread->client_info; -+ - while (head) - { - tmp = head; -@@ -250,9 +258,10 @@ - struct client_info *client, - struct sockaddr_storage *sock) - { -- struct client_info *head = thread->client_info; -+ struct client_info *head; - - pthread_mutex_lock(&thread->client_mutex); -+ head = thread->client_info; - - if (client) - { -@@ -334,10 +343,10 @@ - - void tftpd_list_kill_threads(void) - { -- struct thread_data *current = thread_data; /* head of list */ -+ struct thread_data *current; /* head of list */ - - pthread_mutex_lock(&thread_list_mutex); -- -+ current = thread_data; - - while (current != NULL) - { -Index: git/tftpd_mcast.c -=================================================================== ---- git.orig/tftpd_mcast.c 2012-10-24 21:48:47.000000000 -0700 -+++ git/tftpd_mcast.c 2012-10-24 21:49:11.570201582 -0700 -@@ -51,9 +51,11 @@ - */ - int tftpd_mcast_get_tid(char **addr, short *port) - { -- struct tid *current = tid_list; -+ struct tid *current; - - pthread_mutex_lock(&mcast_tid_list); -+ current = tid_list; -+ - /* walk the list for a free tid */ - while (current != NULL) - { -@@ -74,9 +76,11 @@ - - int tftpd_mcast_free_tid(char *addr, short port) - { -- struct tid *current = tid_list; -+ struct tid *current; - - pthread_mutex_lock(&mcast_tid_list); -+ current = tid_list; -+ - while (current != NULL) - { - if ((current->used == 1) && (current->port == port) && diff --git a/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch deleted file mode 100644 index 82cdc36ac..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch +++ /dev/null @@ -1,25 +0,0 @@ -From a557651a08e21e3c7c7f5eca9f5405f86624903f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 14 Jul 2017 22:42:51 -0700 -Subject: [PATCH] src/igmpproxy.h: Include sys/types.h for u_short/u_init - -Signed-off-by: Khem Raj ---- - src/igmpproxy.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/igmpproxy.h b/src/igmpproxy.h -index 4dabd1c..4454729 100644 ---- a/src/igmpproxy.h -+++ b/src/igmpproxy.h -@@ -46,6 +46,7 @@ - #include - - #include -+#include - #include - #include - #include --- -2.13.3 - diff --git a/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb index c99ebe0e9..db96d487b 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb +++ b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb @@ -4,12 +4,8 @@ HOMEPAGE = "http://sourceforge.net/projects/igmpproxy/" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=432040ff3a55670c1dec0c32b209ad69" -SRC_URI = "https://github.com/pali/igmpproxy/releases/download/${PV}/igmpproxy-${PV}.tar.gz \ - file://0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch \ -" +SRC_URI = "https://github.com/pali/igmpproxy/releases/download/${PV}/${BP}.tar.gz" SRC_URI[md5sum] = "3a9c2cb42c1f5ee0cb769a4884545641" SRC_URI[sha256sum] = "d351e623037390f575c1203d9cbb7ba33a8bdef85a3c5e1d2901c5a2a38449a1" inherit autotools pkgconfig - -CFLAGS += "-D_GNU_SOURCE" diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/0001-priv-include-limits.h-for-PATH_MAX.patch b/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/0001-priv-include-limits.h-for-PATH_MAX.patch new file mode 100644 index 000000000..9ea4a9ffb --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/0001-priv-include-limits.h-for-PATH_MAX.patch @@ -0,0 +1,27 @@ +From c6a283bfcbfefe9c89113e81b0f792c12c4eefb8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=B6ren=20Tempel?= +Date: Mon, 25 Mar 2019 18:43:03 +0100 +Subject: [PATCH] priv: include limits.h for PATH_MAX + +Upstream-Status: Backport + +Signed-off-by: Oleksandr Kravchuk +--- + src/daemon/priv.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/daemon/priv.c b/src/daemon/priv.c +index f4d6bdf..ba5ae58 100644 +--- a/src/daemon/priv.c ++++ b/src/daemon/priv.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch b/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch deleted file mode 100644 index 4876e1794..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f9f3e4dd31588cce5f655730da7b5c3f56a9bdc1 Mon Sep 17 00:00:00 2001 -From: Fabio Berton -Date: Tue, 26 Sep 2017 09:19:51 -0300 -Subject: [PATCH] src/daemon/lldpd.service.in: Use fixed path for mkdir command -Organization: O.S. Systems Software LTDA. - -@mkdir_p@ is expanded to host tools path ../build/tmp/hosttools/mkdir that -doesn't exist on target. Remove @mkdir_p@ and use /bin/mkdir -p to -create /var/run/lldpd directory. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Fabio Berton ---- - src/daemon/lldpd.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon/lldpd.service.in b/src/daemon/lldpd.service.in -index fdb7338..4291830 100644 ---- a/src/daemon/lldpd.service.in -+++ b/src/daemon/lldpd.service.in -@@ -9,7 +9,7 @@ Type=notify - NotifyAccess=main - EnvironmentFile=-/etc/default/lldpd - EnvironmentFile=-/etc/sysconfig/lldpd --ExecStartPre=@mkdir_p@ @PRIVSEP_CHROOT@ -+ExecStartPre=/bin/mkdir -p @PRIVSEP_CHROOT@ - ExecStart=@sbindir@/lldpd $DAEMON_ARGS $LLDPD_OPTIONS - Restart=on-failure - PrivateTmp=yes --- -2.14.2 diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb deleted file mode 100644 index dbd84cf67..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb +++ /dev/null @@ -1,65 +0,0 @@ -SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments" -SECTION = "net/misc" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d" - -DEPENDS = "libbsd libevent" - -SRC_URI = "\ - http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \ - file://lldpd.init.d \ - file://lldpd.default \ - file://src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch \ - " - -SRC_URI[md5sum] = "8809600492f6b73149eb19158e819c1f" -SRC_URI[sha256sum] = "9ee494e91bc33938575b2c09b26188c486ef8eac6e2155d250c189cc4e988c4f" - -inherit autotools update-rc.d useradd systemd pkgconfig bash-completion - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd" -GROUPADD_PARAM_${PN} = "--system lldpd" - -EXTRA_OECONF += "--without-embedded-libevent \ - --disable-oldies \ - --with-privsep-user=lldpd \ - --with-privsep-group=lldpd \ - --with-systemdsystemunitdir=${systemd_system_unitdir} \ - --without-sysusersdir \ -" - -PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3" -PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2" -PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp" -PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" -PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp" -PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp" -PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp" -PACKAGECONFIG[edp] = "--enable-edp,--disable-edp" -PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp" -PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed" -PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1" -PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3" -PACKAGECONFIG[custom] = "--enable-custom,--disable-custom" - -INITSCRIPT_NAME = "lldpd" -INITSCRIPT_PARAMS = "defaults" - -SYSTEMD_SERVICE_${PN} = "lldpd.service" - -do_install_append() { - install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd - install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd - # Make an empty configuration file - touch ${D}${sysconfdir}/lldpd.conf -} - -PACKAGES =+ "${PN}-zsh-completion" - -FILES_${PN} += "${libdir}/sysusers.d" -RDEPENDS_${PN} += "os-release" - -FILES_${PN}-zsh-completion += "${datadir}/zsh/" -# FIXME: zsh is broken in meta-oe so this cannot be enabled for now -#RDEPENDS_${PN}-zsh-completion += "zsh" diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.3.bb b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.3.bb new file mode 100644 index 000000000..e650b5795 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.3.bb @@ -0,0 +1,65 @@ +SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments" +SECTION = "net/misc" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d" + +DEPENDS = "libbsd libevent" + +SRC_URI = "\ + http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \ + file://lldpd.init.d \ + file://lldpd.default \ + file://0001-priv-include-limits.h-for-PATH_MAX.patch \ + " + +SRC_URI[md5sum] = "04844328f053ee343344d892efb8a00c" +SRC_URI[sha256sum] = "39fced395168015416bfe78b95414facf066f841f349024433aa20ab54e4c360" + +inherit autotools update-rc.d useradd systemd pkgconfig bash-completion + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd" +GROUPADD_PARAM_${PN} = "--system lldpd" + +EXTRA_OECONF += "--without-embedded-libevent \ + --disable-oldies \ + --with-privsep-user=lldpd \ + --with-privsep-group=lldpd \ + --with-systemdsystemunitdir=${systemd_system_unitdir} \ + --without-sysusersdir \ +" + +PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3" +PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2" +PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp" +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" +PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp" +PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp" +PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp" +PACKAGECONFIG[edp] = "--enable-edp,--disable-edp" +PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp" +PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed" +PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1" +PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3" +PACKAGECONFIG[custom] = "--enable-custom,--disable-custom" + +INITSCRIPT_NAME = "lldpd" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_SERVICE_${PN} = "lldpd.service" + +do_install_append() { + install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd + install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd + # Make an empty configuration file + touch ${D}${sysconfdir}/lldpd.conf +} + +PACKAGES =+ "${PN}-zsh-completion" + +FILES_${PN} += "${libdir}/sysusers.d" +RDEPENDS_${PN} += "os-release" + +FILES_${PN}-zsh-completion += "${datadir}/zsh/" +# FIXME: zsh is broken in meta-oe so this cannot be enabled for now +#RDEPENDS_${PN}-zsh-completion += "zsh" diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch deleted file mode 100644 index 30fdb8bf1..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 38c5343f84799fc5041575f3ec808f7476b6eea3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 16 Apr 2018 14:33:35 -0700 -Subject: [PATCH] Catch std::ifstream::failure by reference - -Fixes -error: catching polymorphic type 'class std::ios_base::failure' by value -[-Werror=catch-value=] - } catch (std::ofstream::failure) { - ^~~~~~~ - -Signed-off-by: Khem Raj - ---- - src/base/conf.cc | 4 ++-- - src/dtm/dtmnd/dtm_main.cc | 2 +- - src/dtm/dtmnd/multicast.cc | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/base/conf.cc b/src/base/conf.cc -index d5755a1..4820357 100644 ---- a/src/base/conf.cc -+++ b/src/base/conf.cc -@@ -189,7 +189,7 @@ std::string Conf::ReadFile(const std::string& path_name, - try { - str.open(path_name); - str >> contents; -- } catch (std::ifstream::failure) { -+ } catch (std::ifstream::failure& e) { - contents.clear(); - } - return (str.fail() || contents.empty()) ? default_contents : contents; -@@ -203,7 +203,7 @@ void Conf::WriteFileAtomically(const std::string& path_name, - try { - str.open(tmp_file, std::ofstream::out | std::ofstream::trunc); - str << contents << std::endl; -- } catch (std::ofstream::failure) { -+ } catch (std::ofstream::failure& e) { - success = false; - } - str.close(); -diff --git a/src/dtm/dtmnd/dtm_main.cc b/src/dtm/dtmnd/dtm_main.cc -index 585e11e..5cf6ad7 100644 ---- a/src/dtm/dtmnd/dtm_main.cc -+++ b/src/dtm/dtmnd/dtm_main.cc -@@ -367,7 +367,7 @@ void UpdateNodeIdFile(DTM_INTERNODE_CB *cb) { - try { - str.open(PKGLOCALSTATEDIR "/node_id", std::ofstream::out); - str << std::hex << node_id << std::endl; -- } catch (std::ofstream::failure) { -+ } catch (std::ofstream::failure& e) { - } - str.close(); - } -diff --git a/src/dtm/dtmnd/multicast.cc b/src/dtm/dtmnd/multicast.cc -index cadc002..7c25fea 100644 ---- a/src/dtm/dtmnd/multicast.cc -+++ b/src/dtm/dtmnd/multicast.cc -@@ -199,7 +199,7 @@ bool Multicast::GetPeersFromFile(const std::string &path_name) { - } - } - } -- } catch (std::ifstream::failure) { -+ } catch (std::ifstream::failure& e) { - LOG_ER("Caught std::ifstream::failure when reading file '%s', peers=%zu", - path_name.c_str(), static_cast(peers_.size())); - peers_.clear(); diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch deleted file mode 100644 index 93c75777f..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 88661a60629894353512c53ed32f2b901f64149c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 16 Apr 2018 18:29:17 -0700 -Subject: [PATCH] Fix string overflow in snprintf - -Fixes errors like -error: '%s' dir -ective output may be truncated writing up to 255 bytes into a region of size 32 [-Werror=forma -t-truncation=] - snprintf(reinterpret_cast(Healthy.key), sizeof(Healthy.key), "%s", - ^~~~ - hlth_str); - ~~~~~~~~ - -Signed-off-by: Khem Raj - ---- - src/log/logd/lgs_util.cc | 4 ++-- - src/rde/rded/rde_amf.cc | 2 +- - src/smf/smfd/SmfUpgradeCampaign.cc | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/log/logd/lgs_util.cc b/src/log/logd/lgs_util.cc -index ac93d5a..cce80f3 100644 ---- a/src/log/logd/lgs_util.cc -+++ b/src/log/logd/lgs_util.cc -@@ -200,12 +200,12 @@ char *lgs_get_time(time_t *time_in) { - - stringSize = 5 * sizeof(char); - snprintf(srcString, (size_t)stringSize, "%d", -- (timeStampData->tm_year + START_YEAR)); -+ (timeStampData->tm_year + START_YEAR) & 0x4dU); - - strncpy(timeStampString, srcString, stringSize); - - stringSize = 3 * sizeof(char); -- snprintf(srcString, (size_t)stringSize, "%02d", (timeStampData->tm_mon + 1)); -+ snprintf(srcString, (size_t)stringSize, "%02d", (timeStampData->tm_mon + 1) & 0x2dU); - - strncat(timeStampString, srcString, stringSize); - -diff --git a/src/rde/rded/rde_amf.cc b/src/rde/rded/rde_amf.cc -index 81e521e..d53cc48 100644 ---- a/src/rde/rded/rde_amf.cc -+++ b/src/rde/rded/rde_amf.cc -@@ -102,7 +102,7 @@ static uint32_t rde_amf_healthcheck_start(RDE_AMF_CB *rde_amf_cb) { - SaAmfHealthcheckKeyT Healthy; - SaNameT SaCompName; - char *phlth_ptr; -- char hlth_str[256]; -+ char hlth_str[32]; - - TRACE_ENTER(); - -diff --git a/src/smf/smfd/SmfUpgradeCampaign.cc b/src/smf/smfd/SmfUpgradeCampaign.cc -index c30ea14..098f17a 100644 ---- a/src/smf/smfd/SmfUpgradeCampaign.cc -+++ b/src/smf/smfd/SmfUpgradeCampaign.cc -@@ -447,7 +447,7 @@ SaAisErrorT SmfUpgradeCampaign::tooManyRestarts(bool *o_result) { - TRACE_ENTER(); - SaAisErrorT rc = SA_AIS_OK; - SaImmAttrValuesT_2 **attributes; -- int curCnt = 0; -+ short int curCnt = 0; - - /* Read the SmfCampRestartInfo object smfCampRestartCnt attr */ - std::string obj = "smfRestartInfo=info," + -@@ -473,7 +473,7 @@ SaAisErrorT SmfUpgradeCampaign::tooManyRestarts(bool *o_result) { - attrsmfCampRestartCnt.SetAttributeName("smfCampRestartCnt"); - attrsmfCampRestartCnt.SetAttributeType("SA_IMM_ATTR_SAUINT32T"); - char buf[5]; -- snprintf(buf, 4, "%d", curCnt); -+ snprintf(buf, 4, "%hd", curCnt); - attrsmfCampRestartCnt.AddAttributeValue(buf); - imoCampRestartInfo.AddValue(attrsmfCampRestartCnt); - diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch deleted file mode 100644 index f98e28da9..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch +++ /dev/null @@ -1,100 +0,0 @@ -From c5034fe42df8923bcefc10e163151997d70b6241 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 16 Apr 2018 14:56:47 -0700 -Subject: [PATCH] Fix format-truncation errors - -Fixes errors with gcc8 eg. -error: '%u' directive output may be truncated writing between 1 and 10 bytes into a region of size between 0 and 254 [-Werror=format-truncation=] - -Signed-off-by: Khem Raj - ---- - src/base/daemon.c | 4 ++-- - src/mds/mds_c_db.c | 8 ++++---- - src/mds/mds_core.h | 4 ++-- - src/mds/mds_dt2c.h | 2 +- - 4 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/src/base/daemon.c b/src/base/daemon.c -index 361dd8d..4001b73 100644 ---- a/src/base/daemon.c -+++ b/src/base/daemon.c -@@ -95,11 +95,11 @@ static int __create_pidfile(const char *pidfile) - { - FILE *file = NULL; - int fd, rc = 0; -- char pidfiletmp[NAME_MAX] = {0}; -+ char pidfiletmp[NAME_MAX+12] = {0}; - pid_t pid; - - pid = getpid(); -- snprintf(pidfiletmp, NAME_MAX, "%s.%u.tmp", pidfile, pid); -+ snprintf(pidfiletmp, NAME_MAX+12, "%s.%u.tmp", pidfile, pid); - - /* open the file and associate a stream with it */ - if (((fd = open(pidfiletmp, O_RDWR | O_CREAT, 0644)) == -1) || -diff --git a/src/mds/mds_c_db.c b/src/mds/mds_c_db.c -index e6b95cd..3d4a222 100644 ---- a/src/mds/mds_c_db.c -+++ b/src/mds/mds_c_db.c -@@ -124,10 +124,10 @@ void get_adest_details(MDS_DEST adest, char *adest_details) - } - - if (remote == true) -- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN, -+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24, - "", ncs_node_id, process_name); - else -- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN, -+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24, - "", ncs_node_id, process_name); - - m_MDS_LOG_DBG("MDS:DB: adest_details: %s ", adest_details); -@@ -207,10 +207,10 @@ void get_subtn_adest_details(MDS_PWE_HDL pwe_hdl, MDS_SVC_ID svc_id, - } - - if (remote == true) -- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN, -+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24, - "", ncs_node_id, process_name); - else -- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN, -+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24, - "", ncs_node_id, process_name); - done: - m_MDS_LOG_DBG("MDS:DB: adest_details: %s ", adest_details); -diff --git a/src/mds/mds_core.h b/src/mds/mds_core.h -index 37696d4..7f5225d 100644 ---- a/src/mds/mds_core.h -+++ b/src/mds/mds_core.h -@@ -163,7 +163,7 @@ typedef struct mds_subscription_results_info { - uint32_t msg_snd_cnt; /* Message send count to this destination */ - uint32_t msg_rcv_cnt; /* Message rcv count from this destination */ - char sub_adest_details -- [MDS_MAX_PROCESS_NAME_LEN]; /* */ -+ [MDS_MAX_PROCESS_NAME_LEN+24]; /* */ - - } MDS_SUBSCRIPTION_RESULTS_INFO; - -@@ -194,7 +194,7 @@ typedef struct mds_subscription_info { - count is grater than ZERO bcast (multi-unicast) */ - uint32_t prev_ver_sub_count; - char sub_adest_details -- [MDS_MAX_PROCESS_NAME_LEN]; /* */ -+ [MDS_MAX_PROCESS_NAME_LEN+24]; /* */ - - } MDS_SUBSCRIPTION_INFO; - -diff --git a/src/mds/mds_dt2c.h b/src/mds/mds_dt2c.h -index 012999c..006b722 100644 ---- a/src/mds/mds_dt2c.h -+++ b/src/mds/mds_dt2c.h -@@ -143,7 +143,7 @@ typedef struct mdtm_send_req { - */ - MDS_DEST adest; /* MDTM to do local/remote routing, destination adest */ - char sub_adest_details -- [MDS_MAX_PROCESS_NAME_LEN]; /* */ -+ [MDS_MAX_PROCESS_NAME_LEN+24]; /* */ - MDS_SEND_PRIORITY_TYPE pri; - MDS_CLIENT_MSG_FORMAT_VER - msg_fmt_ver; /* message format version specification */ diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch deleted file mode 100644 index 497bb07d8..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 29510dd81e3a5e96151afdb0702863cbfd640766 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 22 Jun 2018 18:58:59 -0700 -Subject: [PATCH] check for size before using strncpy - -ensures that size is never execeding the string length -that execPath can hold - -Fixes -error: '__builtin___strncpy_chk' specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=] - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - src/imm/immnd/immnd_proc.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/imm/immnd/immnd_proc.c b/src/imm/immnd/immnd_proc.c -index 015932a..c8f115e 100644 ---- a/src/imm/immnd/immnd_proc.c -+++ b/src/imm/immnd/immnd_proc.c -@@ -1902,6 +1902,10 @@ static int immnd_forkPbe(IMMND_CB *cb) - LOG_ER("Pathname too long: %u max is 1023", newLen); - return -1; - } -+ if (execDirLen > 1023 || execDirLen < 0) { -+ LOG_ER("Execdir name too long: %u max is 1023", execDirLen); -+ return -1; -+ } - - strncpy(execPath, cb->mProgName, execDirLen); - execPath[execDirLen] = 0; diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.01.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.01.bb deleted file mode 100644 index 3e4d33e00..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.01.bb +++ /dev/null @@ -1,75 +0,0 @@ -SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification" -DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \ -middleware consistent with Service Availability Forum (SA Forum) \ -specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \ -established by leading Communications and Enterprise Computing Companies to \ -facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \ -code base in commercial products. \ -The OpenSAF project was launched in mid 2007 and has been under development by \ -an informal group of supporters of the OpenSAF initiative. The OpenSAF \ -Foundation was founded on January 22nd 2008 with Emerson Network Power, \ -Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members." -HOMEPAGE = "http://www.opensaf.org" -SECTION = "admin" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7" - -DEPENDS = "libxml2 python" -TOOLCHAIN = "gcc" - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \ - file://0001-configure-Pass-linker-specific-options-with-Wl.patch \ - file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \ - file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \ - file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \ - file://0001-Catch-std-ifstream-failure-by-reference.patch \ - file://0002-Fix-format-truncation-errors.patch \ - file://0001-Fix-string-overflow-in-snprintf.patch \ - file://0008-check-for-size-before-using-strncpy.patch \ - " -SRC_URI[md5sum] = "d9f44f778e23cf739085f74c5ff793b1" -SRC_URI[sha256sum] = "5713fbe21c557c9a992af6805bc44521f2cf6cf950ae873036d9a81c73364b60" - -inherit autotools useradd systemd pkgconfig - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "-f -r opensaf" -USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf" - -SYSTEMD_SERVICE_${PN} += "opensafd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -PACKAGECONFIG[systemd] = ",,systemd" -PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03,,openhpi" -PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi" - -PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}" - -PKGLIBDIR="${libdir}" -CPPFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation" -CXXFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation -Wno-error=format-truncation=" -LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed" - -do_install_append() { - cp -av --no-preserve=ownership ${B}/lib/.libs/*.so* ${D}${libdir} - rm -fr "${D}${localstatedir}/lock" - rm -fr "${D}${localstatedir}/run" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" - rmdir --ignore-fail-on-non-empty "${D}${datadir}/java" - if [ ! -d "${D}${sysconfdir}/init.d" ]; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/ - fi -} - -FILES_${PN} += "${systemd_unitdir}/system/*.service" -FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a" - -INSANE_SKIP_${PN} = "dev-so" - -RDEPENDS_${PN} += "bash python" - -# http://errors.yoctoproject.org/Errors/Details/186970/ -EXCLUDE_FROM_WORLD_libc-musl = "1" diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb new file mode 100644 index 000000000..0cccebdfc --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb @@ -0,0 +1,71 @@ +SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification" +DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \ +middleware consistent with Service Availability Forum (SA Forum) \ +specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \ +established by leading Communications and Enterprise Computing Companies to \ +facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \ +code base in commercial products. \ +The OpenSAF project was launched in mid 2007 and has been under development by \ +an informal group of supporters of the OpenSAF initiative. The OpenSAF \ +Foundation was founded on January 22nd 2008 with Emerson Network Power, \ +Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members." +HOMEPAGE = "http://www.opensaf.org" +SECTION = "admin" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7" + +DEPENDS = "libxml2 python" +TOOLCHAIN = "gcc" + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \ + file://0001-configure-Pass-linker-specific-options-with-Wl.patch \ + file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \ + file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \ + file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \ + " +SRC_URI[md5sum] = "4dd1497ccd82d275735853bf0db5c510" +SRC_URI[sha256sum] = "de42c8dd850990716ca494ca598165cc7a23b5b7f2bc21af5d71a3d971ddd595" + +inherit autotools useradd systemd pkgconfig + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "-f -r opensaf" +USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf" + +SYSTEMD_SERVICE_${PN} += "opensafd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +PACKAGECONFIG[systemd] = ",,systemd" +PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03,,openhpi" +PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi" + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}" + +PKGLIBDIR="${libdir}" +CPPFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation" +CXXFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation -Wno-error=format-truncation=" +LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed" + +do_install_append() { + cp -av --no-preserve=ownership ${B}/lib/.libs/*.so* ${D}${libdir} + rm -fr "${D}${localstatedir}/lock" + rm -fr "${D}${localstatedir}/run" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + rmdir --ignore-fail-on-non-empty "${D}${datadir}/java" + if [ ! -d "${D}${sysconfdir}/init.d" ]; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/ + fi +} + +FILES_${PN} += "${systemd_unitdir}/system/*.service" +FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a" + +INSANE_SKIP_${PN} = "dev-so" + +RDEPENDS_${PN} += "bash python" + +# http://errors.yoctoproject.org/Errors/Details/186970/ +EXCLUDE_FROM_WORLD_libc-musl = "1" diff --git a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest b/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest deleted file mode 100644 index f1c833e6c..000000000 --- a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# - -# prepare testing config -CONF_USERS=`readlink -f /etc/raddb/users` -mv ${CONF_USERS} ${CONF_USERS}_orig -echo "testing Cleartext-Password := \"testpassword\"" > ${CONF_USERS} -cat ${CONF_USERS}_orig >> ${CONF_USERS} - -# restart radiusd server -systemctl restart radiusd || /etc/init.d/radiusd restart || { - echo "FAIL: Start radiusd service." - exit 1 -} - -# run teests -perl test.pl - -# restore the config and restart -mv ${CONF_USERS}_orig ${CONF_USERS} -systemctl restart radiusd || /etc/init.d/radiusd restart diff --git a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch b/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch deleted file mode 100644 index 9798af497..000000000 --- a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 829302792bf0e4935d29efc23ca1f2e9e7ee7dfd Mon Sep 17 00:00:00 2001 -From: Jackie Huang -Date: Thu, 7 Jan 2016 03:12:38 -0500 -Subject: [PATCH] test.pl: adjust for ptest - -* Don't use interactive inputs, set default test - settings instead. -* Change the test results output to the ptest format - -Upstream-Status: Inappropriate [OE ptest specific] - -Signed-off-by: Jackie Huang ---- - test.pl | 31 ++++++++++++++++++------------- - 1 file changed, 18 insertions(+), 13 deletions(-) - -diff --git a/test.pl b/test.pl -index cfd1c1e..9b4f10e 100644 ---- a/test.pl -+++ b/test.pl -@@ -7,11 +7,11 @@ - # Change 1..1 below to 1..last_test_to_print . - # (It may become useful if the test is moved to ./t subdirectory.) - --BEGIN {print "1..5\n";} --END {print "not ok 1\n" unless $loaded;} -+BEGIN {print "Start testing for libauthen-radius-perl\n";} -+END {print "\nFAIL: test1\n" unless $loaded;} - use Authen::Radius; - $loaded = 1; --print "ok 1\n"; -+print "\nPASS: test1\n"; - - ######################### End of black magic. - -@@ -19,26 +19,31 @@ print "ok 1\n"; - # (correspondingly "not ok 13") depending on the success of chunk 13 - # of the test code): - -+$host = "127.0.0.1"; -+$secret = "testing123"; -+$user = "testing"; -+$pwd = "testpassword"; -+ - print "Make sure this machine is in your Radius clients file!\n"; --print "Enter hostname[:port] of your Radius server: "; chomp ($host = ); --print "Enter shared-secret of your Radius server: "; chomp ($secret = ); --print "Enter a username to be validated: "; chomp ($user = ); --print "Enter this user's password: "; chomp ($pwd = ); -+print "hostname of your Radius server: $host\n"; -+print "shared-secret of your Radius server: $secret\n"; -+print "The username to be validated: $user\n"; -+print "The user's password: $pwd\n"; - - $t = 2; - if ($host ne '') { - $r = new Authen::Radius(Host => $host, Secret => $secret, Debug => 1); -- print defined($r) ? "" : "not ", "ok $t\n"; $t++; -+ print defined($r) ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++; - #Authen::Radius->load_dictionary; -- print $r->check_pwd($user, $pwd) ? "" : "not ", "ok $t\n"; $t++; -+ print $r->check_pwd($user, $pwd) ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++; - @a = $r->get_attributes; -- print $#a != -1 ? "" : "not ", "ok $t\n"; $t++; -+ print $#a != -1 ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++; - #for $a (@a) { - # print "attr: name=$a->{'Name'} value=$a->{'Value'}\n"; - #} - } else { - foreach my $t (2..4) { -- print "skipped $t\n"; -+ print "\nSKIP test$t\n"; - } - } - -@@ -53,9 +58,9 @@ my $data = "what do ya want for nothing?"; - my $etalon_digest = hex_to_ascii("750c783e6ab0b503eaa86e310a5db738"); - my $digest = Authen::Radius::hmac_md5(undef, $data, $key); - if ($etalon_digest eq $digest) { -- print "ok 5\n"; -+ print "\nPASS: test5\n"; - } else { -- print "not ok 5\n"; -+ print "\nFAIL: test5\n"; - } - - exit; --- -1.9.1 - diff --git a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb b/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb deleted file mode 100644 index ea5bb1b0c..000000000 --- a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Authen::Radius - provide simple Radius client facilities" -DESCRIPTION = "The Authen::Radius module provides a simple class that \ - allows you to send/receive Radius requests/responses to/from a \ - Radius server. \ -" - -HOMEPAGE = "http://search.cpan.org/~manowar/RadiusPerl" -SECTION = "libs" - -LICENSE = "Artistic-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=78ab6ea0cba1f1ec1680ebb149e3bc11" - -DEPENDS = "perl" - -SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MANOWAR/RadiusPerl-${PV}.tar.gz \ - file://test.pl-adjust-for-ptest.patch \ - file://run-ptest \ -" -SRC_URI[md5sum] = "d1fe2d6ecf7ea99299e4e3a8f945aad8" -SRC_URI[sha256sum] = "3b276506986ccaa4949d92b13ce053a0017ad11562a991cc753364923fe81ca7" - -S = "${WORKDIR}/Authen-Radius-${PV}" - -inherit cpan ptest - -do_install_ptest() { - install -m 0755 ${S}/test.pl ${D}${PTEST_PATH} -} - -RDEPENDS_${PN} += "\ - libdata-hexdump-perl \ - perl-module-digest-md5 \ - perl-module-data-dumper \ - perl-module-io-select \ - perl-module-io-socket \ -" -RDEPENDS_${PN}-ptest += "${PN} freeradius" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb b/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb deleted file mode 100644 index dde8a52dc..000000000 --- a/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb +++ /dev/null @@ -1,29 +0,0 @@ -# -# Copyright (C) 2012 Wind River Systems, Inc. -# -SUMMARY = "Provides a wrapper in Python to LDAP" -DESCRIPTION = "This module provides access to the LDAP \ -(Lightweight Directory Access Protocol) through Python operations \ -instead of C API. The module mainly acts as a wrapper for the \ -OpenLDAP 2.x libraries. Errors will appear as exceptions." - -LICENSE = "PSF" -HOMEPAGE = "http://www.python-ldap.org/" -DEPENDS = "python openldap cyrus-sasl" - -PYPI_PACKAGE = "python-ldap" -inherit pypi setuptools - -LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b" -SRC_URI[md5sum] = "6108e189a44eea8bc7d1cc281c222978" -SRC_URI[sha256sum] = "824fde180a53772e23edc031c4dd64ac1af4a3eade78f00d9d510937d562f64e" - -do_configure_prepend() { - sed -i -e 's:^library_dirs =.*::' setup.cfg - sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg -} - -RDEPENDS_${PN} = " \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-threading \ -" diff --git a/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb b/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb new file mode 100644 index 000000000..af8961e32 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb @@ -0,0 +1,31 @@ +# +# Copyright (C) 2012 Wind River Systems, Inc. +# +SUMMARY = "Provides a wrapper in Python to LDAP" +DESCRIPTION = "This module provides access to the LDAP \ +(Lightweight Directory Access Protocol) through Python operations \ +instead of C API. The module mainly acts as a wrapper for the \ +OpenLDAP 2.x libraries. Errors will appear as exceptions." + +LICENSE = "PSF" +HOMEPAGE = "http://www.python-ldap.org/" +DEPENDS = "python openldap cyrus-sasl" + +PYPI_PACKAGE = "python-ldap" +inherit pypi setuptools + +LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b" +SRC_URI[md5sum] = "fe22522208dc9b06d16eb70f8553eaab" +SRC_URI[sha256sum] = "7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e" + +do_configure_prepend() { + sed -i -e 's:^library_dirs =.*::' setup.cfg + sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg +} + +RDEPENDS_${PN} = " \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-pyasn1 \ + ${PYTHON_PN}-pyasn1-modules \ +" diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb index db4b1c98c..4b035af36 100644 --- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb +++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb @@ -63,3 +63,4 @@ FILES_${PN} += "${sbindir}/in.* ${libdir}/* ${sysconfdir}/xinetd.d/*" # http://errors.yoctoproject.org/Errors/Details/186954/ EXCLUDE_FROM_WORLD_libc-musl = "1" +RCONFLICTS_${PN} = "inetutils-telnetd" diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb deleted file mode 100644 index 9a7152fcf..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol" -DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks." -HOMEPAGE = "http://developer.apple.com/networking/bonjour/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf" - -RPROVIDES_${PN} += "libdns_sd.so" - -SRC_URI = "http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \ - file://build.patch;patchdir=.. \ - file://mdns.service \ - file://0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch;patchdir=.. \ - " - -SRC_URI[md5sum] = "4a6bc1628851002634ea3833a4dca317" -SRC_URI[sha256sum] = "de61dd0034357aa50c60806726fb1f70fa8e953ff9cb62eccfb73efad10dba0a" - -PARALLEL_MAKE = "" - -S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix" - -EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'" - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_install () { - install -d ${D}${sbindir} - install -m 0755 build/prod/mdnsd ${D}${sbindir} - - install -d ${D}${libdir} - cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1 - chmod 0644 ${D}${libdir}/libdns_sd.so.1 - ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so - - install -d ${D}${includedir} - install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir} - - install -d ${D}${mandir}/man8 - install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8 - - install -d ${D}${bindir} - install -m 0755 ../Clients/build/dns-sd ${D}${bindir} - - install -d ${D}${libdir} - oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir} - ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2 - - install -d ${D}${sysconfdir} - install -m 0644 nss_mdns.conf ${D}${sysconfdir} - - install -d ${D}${mandir}/man5 - install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5 - - install -d ${D}${mandir}/man8 - install -m 0644 libnss_mdns.8 ${D}${mandir}/man8 - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/ -} - -pkg_postinst_${PN} () { - sed -e '/^hosts:/s/\s*\//' \ - -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 mdns\3\4\5/' \ - -i $D/etc/nsswitch.conf -} - -pkg_prerm_${PN} () { - sed -e '/^hosts:/s/\s*\//' \ - -e '/^hosts:/s/\s*mdns//' \ - -i $D/etc/nsswitch.conf -} - -inherit systemd - -SYSTEMD_SERVICE_${PN} = "mdns.service" - -FILES_${PN} += "${systemd_unitdir}/system/mdns.service" -FILES_${PN} += "${libdir}/libdns_sd.so.1 \ - ${bindir}/dns-sd \ - ${libdir}/libnss_mdns-0.2.so \ - ${sysconfdir}/nss_mdns.conf" - -FILES_${PN}-dev += "${libdir}/libdns_sd.so \ - ${includedir}/dns_sd.h " - -FILES_${PN}-man += "${mandir}/man8/mdnsd.8 \ - ${mandir}/man5/nss_mdns.conf.5 \ - ${mandir}/man8/libnss_mdns.8" - -PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg" diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.200.35.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.200.35.bb new file mode 100644 index 000000000..1bd17031a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.200.35.bb @@ -0,0 +1,89 @@ +SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol" +DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks." +HOMEPAGE = "http://developer.apple.com/networking/bonjour/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf" + +RPROVIDES_${PN} += "libdns_sd.so" + +SRC_URI = "https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \ + file://build.patch;patchdir=.. \ + file://mdns.service \ + file://0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch;patchdir=.. \ + " +SRC_URI[md5sum] = "e773f290a7d29f1072247985d6add2ff" +SRC_URI[sha256sum] = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0" + +PARALLEL_MAKE = "" + +S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix" + +EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install () { + install -d ${D}${sbindir} + install -m 0755 build/prod/mdnsd ${D}${sbindir} + + install -d ${D}${libdir} + cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1 + chmod 0644 ${D}${libdir}/libdns_sd.so.1 + ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so + + install -d ${D}${includedir} + install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir} + + install -d ${D}${mandir}/man8 + install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8 + + install -d ${D}${bindir} + install -m 0755 ../Clients/build/dns-sd ${D}${bindir} + + install -d ${D}${libdir} + oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir} + ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2 + + install -d ${D}${sysconfdir} + install -m 0644 nss_mdns.conf ${D}${sysconfdir} + + install -d ${D}${mandir}/man5 + install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5 + + install -d ${D}${mandir}/man8 + install -m 0644 libnss_mdns.8 ${D}${mandir}/man8 + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/ +} + +pkg_postinst_${PN} () { + sed -e '/^hosts:/s/\s*\//' \ + -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 mdns\3\4\5/' \ + -i $D/etc/nsswitch.conf +} + +pkg_prerm_${PN} () { + sed -e '/^hosts:/s/\s*\//' \ + -e '/^hosts:/s/\s*mdns//' \ + -i $D/etc/nsswitch.conf +} + +inherit systemd + +SYSTEMD_SERVICE_${PN} = "mdns.service" + +FILES_${PN} += "${systemd_unitdir}/system/mdns.service" +FILES_${PN} += "${libdir}/libdns_sd.so.1 \ + ${bindir}/dns-sd \ + ${libdir}/libnss_mdns-0.2.so \ + ${sysconfdir}/nss_mdns.conf" + +FILES_${PN}-dev += "${libdir}/libdns_sd.so \ + ${includedir}/dns_sd.h " + +FILES_${PN}-man += "${mandir}/man8/mdnsd.8 \ + ${mandir}/man5/nss_mdns.conf.5 \ + ${mandir}/man8/libnss_mdns.8" + +PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg" diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb index 673142b4a..f0acaa801 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb @@ -214,7 +214,11 @@ FILES_${PN}-lib-trapd = "${libdir}/libnetsnmptrapd${SOLIBS}" FILES_${PN} = "" FILES_${PN}-client = "${bindir}/* ${datadir}/snmp/" FILES_${PN}-dbg += "${libdir}/.debug/ ${sbindir}/.debug/ ${bindir}/.debug/" -FILES_${PN}-dev += "${bindir}/mib2c ${bindir}/mib2c-update" +FILES_${PN}-dev += "${bindir}/mib2c \ + ${bindir}/mib2c-update \ + ${bindir}/net-snmp-config \ + ${bindir}/net-snmp-create-v3-user \ +" CONFFILES_${PN}-server-snmpd = "${sysconfdir}/snmp/snmpd.conf" CONFFILES_${PN}-server-snmptrapd = "${sysconfdir}/snmp/snmptrapd.conf" diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch deleted file mode 100644 index 7601f0d32..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch +++ /dev/null @@ -1,28 +0,0 @@ -From fdb64d21560bfdafeefccc7d20e105e4857faa99 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Mar 2017 19:20:07 -0700 -Subject: [PATCH] ppoe: Dont include linux/if_ether.h - -Fixes build with musl - -Signed-off-by: Khem Raj - ---- - src/pppoe.h | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/src/pppoe.h b/src/pppoe.h -index ec067a0..281879c 100644 ---- a/src/pppoe.h -+++ b/src/pppoe.h -@@ -127,10 +127,6 @@ typedef unsigned long UINT32_t; - #error Could not find a 32-bit integer type - #endif - --#ifdef HAVE_LINUX_IF_ETHER_H --#include --#endif -- - #include - - #ifdef HAVE_NETINET_IF_ETHER_H diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch deleted file mode 100644 index 2103b3888..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 31b6eecd7e5ebfb9a37915f28823e5af9d1062b4 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Mar 2017 19:24:53 -0700 -Subject: [PATCH] Enable support for the kernel module - -Signed-off-by: Khem Raj - ---- - src/configure.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/configure.in b/src/configure.in -index cae0976..951a042 100644 ---- a/src/configure.in -+++ b/src/configure.in -@@ -33,6 +33,7 @@ AC_CHECK_HEADERS(linux/if_pppox.h, [], [], - #include - #include - #include -+#include - ]) - - dnl Checks for typedefs, structures, and compiler characteristics. diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch deleted file mode 100644 index bbd516fde..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch +++ /dev/null @@ -1,57 +0,0 @@ -From bdd20b7a584a20504dfabb409a41ee2b9ae41657 Mon Sep 17 00:00:00 2001 -From: Lei Maohui -Date: Wed, 19 Aug 2015 13:52:57 +0900 -Subject: [PATCH] configure.in: Error fix. - -the error is: conftest.c:9:28: fatal error: ac_nonexistent.h: -No such file or directory #include - -Upstream-Status: pending - -Signed-off-by: Li Xin - ---- - src/configure.in | 30 ------------------------------ - 1 file changed, 30 deletions(-) - -diff --git a/src/configure.in b/src/configure.in -index 1714e69..cae0976 100644 ---- a/src/configure.in -+++ b/src/configure.in -@@ -195,36 +195,6 @@ if test "$GCC" = yes; then - CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -Wstrict-prototypes" - fi - --dnl Figure out packing order of structures --AC_CACHE_CHECK([packing order of bit fields],rpppoe_cv_pack_bitfields,[ --if test "${rpppoe_cv_pack_bitfields+set}" != set ; then --AC_TRY_RUN([ --union foo { -- struct bar { -- unsigned int ver:4; -- unsigned int type:4; -- } bb; -- unsigned char baz; --}; -- --int --main(void) --{ -- union foo x; -- x.bb.ver = 1; -- x.bb.type = 2; -- if (x.baz == 0x21) { -- return 1; -- } else if (x.baz == 0x12) { -- return 0; -- } else { -- return 2; -- } --}], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev, --$ECHO "no defaults for cross-compiling"; exit 1) --fi --]) -- - if test "$rpppoe_cv_pack_bitfields" = "rev" ; then - AC_MSG_RESULT(reversed) - AC_DEFINE([PACK_BITFIELDS_REVERSED], [], [Reversed bitfields]) diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch deleted file mode 100644 index be892803e..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch +++ /dev/null @@ -1,19 +0,0 @@ -From c96dda04ec024bdef2a15d374e5f8242e041cad4 Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Fri, 18 Jul 2014 08:25:16 +0000 - ---- - configure.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.in b/configure.in -index ac1a7e4..11b9f31 100644 ---- a/configure.in -+++ b/configure.in -@@ -1,4 +1,4 @@ --AC_INIT(src/pppoe.c) --AM_INIT_AUTOMAKE([rp-pppoe], [3.8]) -+AC_INIT([rp-pppoe], [3.8]) -+AM_INIT_AUTOMAKE([foreign]) - AC_CONFIG_SUBDIRS(src) - AC_OUTPUT(Makefile) diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch deleted file mode 100644 index 3b945934f..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 172907f31d64da4c3f289a439fd605d2ab51b24a Mon Sep 17 00:00:00 2001 -From: Lei Maohui -Date: Wed, 19 Aug 2015 12:17:03 +0900 -Subject: [PATCH] configure in cross - -Update the configure script to cross-compiling with OE. This hard-codes -a few target paths, reworks a few tests to be more friendly for cross -and drops other tests. - -Upstream-Status: Inappropriate [build system specific changes] - ---- - src/configure.in | 66 ++++++++++++++------------------------------------------ - 1 file changed, 16 insertions(+), 50 deletions(-) - -diff --git a/src/configure.in b/src/configure.in -index 90a07df..1d30243 100644 ---- a/src/configure.in -+++ b/src/configure.in -@@ -5,6 +5,13 @@ AC_INIT(pppoe.c) - dnl pppd directory for kernel-mode PPPoE - PPPD_DIR=ppp-2.4.1.pppoe2 - -+dnl hard code some paths -+PPPD=/usr/sbin/pppd -+ID=/usr/bin/id -+ECHO=/bin/echo -+AC_ARG_VAR(PPPD) -+AC_ARG_VAR(ID) -+ - AC_CONFIG_HEADER(config.h) - - AC_PREFIX_DEFAULT(/usr) -@@ -45,7 +52,7 @@ ac_cv_struct_sockaddr_ll=no) - AC_MSG_RESULT($ac_cv_struct_sockaddr_ll) - - if test "$ac_cv_struct_sockaddr_ll" = yes ; then --AC_DEFINE(HAVE_STRUCT_SOCKADDR_LL) -+AC_DEFINE([HAVE_STRUCT_SOCKADDR_LL], [], [Have struct SOCKADDR_LL]) - fi - - dnl Check for N_HDLC line discipline -@@ -58,7 +65,7 @@ AC_TRY_COMPILE([ - ac_cv_n_hdlc=no) - AC_MSG_RESULT($ac_cv_n_hdlc) - if test "$ac_cv_n_hdlc" = yes ; then --AC_DEFINE(HAVE_N_HDLC) -+AC_DEFINE([HAVE_N_HDLC], [], [Have N_HDLC]) - fi - - AC_ARG_ENABLE(plugin, [ --enable-plugin=pppd_src_path build pppd plugin], ac_cv_pluginpath=$enableval, ac_cv_pluginpath=no) -@@ -106,7 +113,7 @@ PPPD_INCDIR="" - if test "$ac_cv_header_linux_if_pppox_h" = yes ; then - if test "$ac_cv_pluginpath" != no ; then - LINUX_KERNELMODE_PLUGIN=rp-pppoe.so -- AC_DEFINE(HAVE_LINUX_KERNEL_PPPOE) -+ AC_DEFINE([HAVE_LINUX_KERNEL_PPPOE], [], [Have kernel PPPoE]) - PPPD_INCDIR=$ac_cv_pluginpath - fi - fi -@@ -116,7 +123,7 @@ if test "$PPPD_INCDIR" = "" ; then - fi - - if test "$ac_cv_debugging" = "yes" ; then -- AC_DEFINE(DEBUGGING_ENABLED) -+ AC_DEFINE([DEBUGGING_ENABLED], [], [Debugging enabled]) - fi - - AC_SUBST(LINUX_KERNELMODE_PLUGIN) -@@ -142,15 +149,8 @@ AC_CHECK_SIZEOF(unsigned short) - AC_CHECK_SIZEOF(unsigned int) - AC_CHECK_SIZEOF(unsigned long) - --dnl Check for location of pppd --AC_PATH_PROG(PPPD, pppd, NOTFOUND, $PATH:/sbin:/usr/sbin:/usr/local/sbin) --AC_PATH_PROG(ECHO, echo, echo) -- --dnl Check for setsid (probably Linux-specific) --AC_PATH_PROG(SETSID, setsid, "", $PATH:/sbin:/usr/sbin:/usr/local/sbin) -- - dnl Check for an "id" which accepts "-u" option -- hack for Solaris. --AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH) -+dnl AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH) - - dnl Check for Linux-specific kernel support for PPPoE - AC_MSG_CHECKING(for Linux 2.4.X kernel-mode PPPoE support) -@@ -195,44 +195,8 @@ if test "$GCC" = yes; then - CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -Wstrict-prototypes" - fi - --dnl If we couldn't find pppd, die --if test "$PPPD" = "NOTFOUND"; then -- AC_MSG_WARN([*** Oops! I couldn't find pppd, the PPP daemon anywhere.]) -- AC_MSG_WARN([*** You must install pppd, version 2.3.10 or later.]) -- AC_MSG_WARN([*** I will keep going, but it may not work.]) -- PPPD=pppd --fi -- --dnl Figure out pppd version. 2.3.7 to 2.3.9 -- issue warning. Less than --dnl 2.3.7 -- stop -- --PPPD_VERSION=`$PPPD --version 2>&1 | awk ' /version/ {print $NF}'` -- --case "$PPPD_VERSION" in --1.*|2.0.*|2.1.*|2.2.*|2.3.0|2.3.1|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6) -- AC_MSG_WARN([*** Oops! Your version of pppd is $PPPD_VERSION, which is too old.]) -- AC_MSG_WARN([*** You need at least 2.3.7 (2.3.10 or newer recommended.]) -- AC_MSG_WARN([*** I will keep going, but it may not work.]) -- ;; -- --2.3.7|2.3.8|2.3.9) -- AC_MSG_WARN([*** Warning. Your version of pppd is $PPPD_VERSION. You will]) -- AC_MSG_WARN([*** not be able to use connect-on-demand. Upgrade to pppd]) -- AC_MSG_WARN([*** 2.3.10 or newer if you need connect-on-demand.]) -- ;; -- --2*|3*|4*|5*|6*|7*|8*|9*) -- ;; -- --*) -- AC_MSG_WARN([*** Oops. I cannot figure out what version of pppd you have.]) -- AC_MSG_WARN([*** All I got back was '$PPPD_VERSION']) -- AC_MSG_WARN([*** I will keep going, but it may not work.]) -- ;; --esac -- - dnl Figure out packing order of structures --AC_MSG_CHECKING([packing order of bit fields]) -+AC_CACHE_CHECK([packing order of bit fields],rpppoe_cv_pack_bitfields,[ - if test "${rpppoe_cv_pack_bitfields+set}" != set ; then - AC_TRY_RUN([ - union foo { -@@ -259,10 +223,11 @@ main(void) - }], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev, - $ECHO "no defaults for cross-compiling"; exit 0) - fi -+]) - - if test "$rpppoe_cv_pack_bitfields" = "rev" ; then - AC_MSG_RESULT(reversed) -- AC_DEFINE(PACK_BITFIELDS_REVERSED) -+ AC_DEFINE([PACK_BITFIELDS_REVERSED], [], [Reversed bitfields]) - else - AC_MSG_RESULT(normal) - fi -@@ -326,6 +291,7 @@ AC_SUBST(PPPOE_SERVER_DEPS) - AC_SUBST(RDYNAMIC) - AC_SUBST(LIBEVENT) - AC_SUBST(ECHO) -+AC_SUBST(HAVE_STRUCT_SOCKADDR_LL) - AC_SUBST(LDFLAGS) - - datadir_evaluated=`eval echo $datadir` diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch deleted file mode 100644 index 9801f6e27..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f658181c58347c3e2b0ee4f0a6a3d19162921471 Mon Sep 17 00:00:00 2001 -From: Ting Liu -Date: Tue, 12 Jun 2012 14:26:16 -0400 -Subject: [PATCH] discard use of dnl in Makefile.am - -Since Makefile.am is not processed by m4, but by automake, 'dnl' does -not introduce a comment. - -Signed-off-by: Ting Liu - ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index eff6977..3091c33 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,5 +1,5 @@ - PACKAGE = rp-pppoe - VERSION = 3.8 - --dnl AM_CFLAGS = -Wall -DDEBUG -+##dnl AM_CFLAGS = -Wall -DDEBUG - SUBDIRS = src diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch deleted file mode 100644 index 8a857888b..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a9a7322273c51882af58c35ba288a0fae00ba841 Mon Sep 17 00:00:00 2001 -From: Lei Maohui -Date: Wed, 19 Aug 2015 12:33:41 +0900 -Subject: [PATCH] don't swallow errors - -Further fixup to the configure scripts to not swallow errors - -Upstream-Status: Pending - ---- - src/configure.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/configure.in b/src/configure.in -index 1d30243..1714e69 100644 ---- a/src/configure.in -+++ b/src/configure.in -@@ -221,7 +221,7 @@ main(void) - return 2; - } - }], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev, --$ECHO "no defaults for cross-compiling"; exit 0) -+$ECHO "no defaults for cross-compiling"; exit 1) - fi - ]) - diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.default b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.default deleted file mode 100644 index 996d57f3c..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.default +++ /dev/null @@ -1,22 +0,0 @@ -# PPPoE Server options - -# Maximum segment size, not used for in kernel PPPoE -#MSS=1412 - -# Device(s) - Space seperated list of devices to listen on -#DEVICES="eth1" - -# Local IP -#LOCAL_IP=10.0.0.1 - -# Starting remote IP -#REMOTE_IP=10.67.15.1 - -# Service name -#SERVICE_NAME="acme" - -# Maximum number of sessions, default is 16 -#MAX_SESSIONS=64 - -# Access concentrator name, default is the hostname -#ACCESS_CONCENTRATOR_NAME="pppoe-rtr-1" diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.init b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.init deleted file mode 100755 index 21afe0be3..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.init +++ /dev/null @@ -1,59 +0,0 @@ -#! /bin/sh - -test -f /usr/sbin/pppoe-server || exit 0 -test -f /etc/default/pppoe-server && . /etc/default/pppoe-server - -case $1 in - start) - OPTIONS="" - if [ -n "$MSS" ]; then - OPTIONS="$OPTIONS -m $MSS" - fi - if [ -n "$DEVICES" ]; then - for i in $DEVICES; do - OPTIONS="$OPTIONS -I $i" - done - fi - if [ -n "$LOCAL_IP" ]; then - OPTIONS="$OPTIONS -L $LOCAL_IP" - fi - if [ -n "$REMOTE_IP" ]; then - OPTIONS="$OPTIONS -R $REMOTE_IP" - fi - if [ -n "$SERVICE_NAME" ]; then - OPTIONS="$OPTIONS -S $SERVICE_NAME" - fi - if [ -n "$MAX_SESSIONS" ]; then - OPTIONS="$OPTIONS -N $MAX_SESSIONS" - fi - if [ -n "$ACCESS_CONCENTRATOR_NAME" ]; then - OPTIONS="$OPTIONS -C $ACCESS_CONCENTRATOR_NAME" - fi - echo -n "Starting PPPoE server: pppoe-server" - start-stop-daemon --start --quiet --exec /usr/sbin/pppoe-server -- $OPTIONS - echo "." - ;; - stop) - echo -n "Stopping PPPoE server: pppoe-server" - start-stop-daemon --stop --quiet --exec /usr/sbin/pppoe-server -- $OPTIONS - echo "." - ;; - status) - pid=$(pidof pppoe-server) - if [ -n "$pid" ] ; then - echo "Running with pid $pid" - else - echo "Not running" - fi - ;; - restart|force-reload) - $0 stop - $0 start - ;; - *) - echo "Usage: /etc/init.d/pppoe-server {start|stop|restart|force-reload}" - exit 1 - ;; -esac - -exit 0 diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.service b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.service deleted file mode 100644 index 41e0b9e85..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=PPPOE Service -After=network.target - -[Service] -Type=forking -EnvironmentFile=-@SYSCONFDIR@/default/pppoe-server -ExecStart=@SBINDIR@/pppoe-server - -[Install] -WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch deleted file mode 100644 index 03697ff1f..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a6a85ec5c85cbd3c86743b6e2fa391198869bff8 Mon Sep 17 00:00:00 2001 -From: Tom Rini -Date: Wed, 27 Jul 2011 03:46:52 +0000 -Subject: [PATCH] rp-pppoe: Port from oe.dev - -Relax restrictions on the PPPoE src address, as per debian bug -293811: - - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=293811 - -Upstream-Status: Inappropriate [Backport from Debian] - ---- - src/discovery.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/discovery.c b/src/discovery.c -index 7ee259d..5213a37 100644 ---- a/src/discovery.c -+++ b/src/discovery.c -@@ -472,8 +472,8 @@ waitForPADO(PPPoEConnection *conn, int timeout) - if (!packetIsForMe(conn, &packet)) continue; - - if (packet.code == CODE_PADO) { -- if (NOT_UNICAST(packet.ethHdr.h_source)) { -- printErr("Ignoring PADO packet from non-unicast MAC address"); -+ if (BROADCAST(packet.ethHdr.h_source)) { -+ printErr("Ignoring broadcast PADO packet"); - continue; - } - #ifdef PLUGIN diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch deleted file mode 100644 index f64da4fa2..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0b62f71eb5d44d4a57103566ba58022b6304fa4f Mon Sep 17 00:00:00 2001 -From: Tom Rini -Date: Wed, 27 Jul 2011 03:46:52 +0000 -Subject: [PATCH] rp-pppoe: Port from oe.dev - -The autoconf stuff is all in a subdirectory, which is rather annoying -as OE expects patches to be applied and autoconf stuff to be done in -S. This adds enough autoconf at the top level to allow it to be -called there - all it does is run a sub autoconf stuff in the src -directory. - -Upstream-Status: Inappropriate [build system specific change] - ---- - Makefile.am | 5 +++++ - configure.in | 4 ++++ - 2 files changed, 9 insertions(+) - create mode 100644 Makefile.am - create mode 100644 configure.in - -diff --git a/Makefile.am b/Makefile.am -new file mode 100644 -index 0000000..eff6977 ---- /dev/null -+++ b/Makefile.am -@@ -0,0 +1,5 @@ -+PACKAGE = rp-pppoe -+VERSION = 3.8 -+ -+dnl AM_CFLAGS = -Wall -DDEBUG -+SUBDIRS = src -diff --git a/configure.in b/configure.in -new file mode 100644 -index 0000000..ac1a7e4 ---- /dev/null -+++ b/configure.in -@@ -0,0 +1,4 @@ -+AC_INIT(src/pppoe.c) -+AM_INIT_AUTOMAKE([rp-pppoe], [3.8]) -+AC_CONFIG_SUBDIRS(src) -+AC_OUTPUT(Makefile) diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch deleted file mode 100644 index c759e09aa..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 4d34e0d7d790ec41b0afb731c7dc1b1ee90dd377 Mon Sep 17 00:00:00 2001 -From: Tom Rini -Date: Wed, 27 Jul 2011 03:46:52 +0000 -Subject: [PATCH] rp-pppoe: Port from oe.dev - -Set the timeout to 0 since we don't want pppoe to try reconnecting, -we want whatever is calling it to reconnect. Lots of odd things -happen when you have pppoe retrying itself. - -The path for the plugin is wrong, it's now part of ppp and is in a -ppp's plugin lib directory. If no path is specified then that's where -ppp looks, so that's what we do here. - -Upstream-Status: Inappropriate [configuration] - ---- - configs/pppoe.conf | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configs/pppoe.conf b/configs/pppoe.conf -index c222b2f..65618a5 100644 ---- a/configs/pppoe.conf -+++ b/configs/pppoe.conf -@@ -66,7 +66,7 @@ DEFAULTROUTE=yes - # to connect forever after pppoe-start is called. Otherwise, it will - # give out after CONNECT_TIMEOUT seconds and will not attempt to - # connect again, making it impossible to reach. --CONNECT_TIMEOUT=30 -+CONNECT_TIMEOUT=0 - - # How often in seconds pppoe-start polls to check if link is up - CONNECT_POLL=2 -@@ -115,7 +115,7 @@ PPPOE_TIMEOUT=80 - FIREWALL=NONE - - # Linux kernel-mode plugin for pppd. If you want to try the kernel-mode --# plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so -+# plugin, use LINUX_PLUGIN=rp-pppoe.so - LINUX_PLUGIN= - - # Any extra arguments to pass to pppoe. Normally, use a blank string diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0001-ppoe-Dont-include-linux-if_ether.h.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0001-ppoe-Dont-include-linux-if_ether.h.patch new file mode 100644 index 000000000..7601f0d32 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0001-ppoe-Dont-include-linux-if_ether.h.patch @@ -0,0 +1,28 @@ +From fdb64d21560bfdafeefccc7d20e105e4857faa99 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 28 Mar 2017 19:20:07 -0700 +Subject: [PATCH] ppoe: Dont include linux/if_ether.h + +Fixes build with musl + +Signed-off-by: Khem Raj + +--- + src/pppoe.h | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/pppoe.h b/src/pppoe.h +index ec067a0..281879c 100644 +--- a/src/pppoe.h ++++ b/src/pppoe.h +@@ -127,10 +127,6 @@ typedef unsigned long UINT32_t; + #error Could not find a 32-bit integer type + #endif + +-#ifdef HAVE_LINUX_IF_ETHER_H +-#include +-#endif +- + #include + + #ifdef HAVE_NETINET_IF_ETHER_H diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0002-Enable-support-for-the-kernel-module.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0002-Enable-support-for-the-kernel-module.patch new file mode 100644 index 000000000..2103b3888 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0002-Enable-support-for-the-kernel-module.patch @@ -0,0 +1,23 @@ +From 31b6eecd7e5ebfb9a37915f28823e5af9d1062b4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 28 Mar 2017 19:24:53 -0700 +Subject: [PATCH] Enable support for the kernel module + +Signed-off-by: Khem Raj + +--- + src/configure.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/configure.in b/src/configure.in +index cae0976..951a042 100644 +--- a/src/configure.in ++++ b/src/configure.in +@@ -33,6 +33,7 @@ AC_CHECK_HEADERS(linux/if_pppox.h, [], [], + #include + #include + #include ++#include + ]) + + dnl Checks for typedefs, structures, and compiler characteristics. diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.in-Error-fix.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.in-Error-fix.patch new file mode 100644 index 000000000..bbd516fde --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.in-Error-fix.patch @@ -0,0 +1,57 @@ +From bdd20b7a584a20504dfabb409a41ee2b9ae41657 Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Wed, 19 Aug 2015 13:52:57 +0900 +Subject: [PATCH] configure.in: Error fix. + +the error is: conftest.c:9:28: fatal error: ac_nonexistent.h: +No such file or directory #include + +Upstream-Status: pending + +Signed-off-by: Li Xin + +--- + src/configure.in | 30 ------------------------------ + 1 file changed, 30 deletions(-) + +diff --git a/src/configure.in b/src/configure.in +index 1714e69..cae0976 100644 +--- a/src/configure.in ++++ b/src/configure.in +@@ -195,36 +195,6 @@ if test "$GCC" = yes; then + CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -Wstrict-prototypes" + fi + +-dnl Figure out packing order of structures +-AC_CACHE_CHECK([packing order of bit fields],rpppoe_cv_pack_bitfields,[ +-if test "${rpppoe_cv_pack_bitfields+set}" != set ; then +-AC_TRY_RUN([ +-union foo { +- struct bar { +- unsigned int ver:4; +- unsigned int type:4; +- } bb; +- unsigned char baz; +-}; +- +-int +-main(void) +-{ +- union foo x; +- x.bb.ver = 1; +- x.bb.type = 2; +- if (x.baz == 0x21) { +- return 1; +- } else if (x.baz == 0x12) { +- return 0; +- } else { +- return 2; +- } +-}], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev, +-$ECHO "no defaults for cross-compiling"; exit 1) +-fi +-]) +- + if test "$rpppoe_cv_pack_bitfields" = "rev" ; then + AC_MSG_RESULT(reversed) + AC_DEFINE([PACK_BITFIELDS_REVERSED], [], [Reversed bitfields]) diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.patch new file mode 100644 index 000000000..be892803e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.patch @@ -0,0 +1,19 @@ +From c96dda04ec024bdef2a15d374e5f8242e041cad4 Mon Sep 17 00:00:00 2001 +From: Richard Purdie +Date: Fri, 18 Jul 2014 08:25:16 +0000 + +--- + configure.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.in b/configure.in +index ac1a7e4..11b9f31 100644 +--- a/configure.in ++++ b/configure.in +@@ -1,4 +1,4 @@ +-AC_INIT(src/pppoe.c) +-AM_INIT_AUTOMAKE([rp-pppoe], [3.8]) ++AC_INIT([rp-pppoe], [3.8]) ++AM_INIT_AUTOMAKE([foreign]) + AC_CONFIG_SUBDIRS(src) + AC_OUTPUT(Makefile) diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure_in_cross.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure_in_cross.patch new file mode 100644 index 000000000..3b945934f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure_in_cross.patch @@ -0,0 +1,153 @@ +From 172907f31d64da4c3f289a439fd605d2ab51b24a Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Wed, 19 Aug 2015 12:17:03 +0900 +Subject: [PATCH] configure in cross + +Update the configure script to cross-compiling with OE. This hard-codes +a few target paths, reworks a few tests to be more friendly for cross +and drops other tests. + +Upstream-Status: Inappropriate [build system specific changes] + +--- + src/configure.in | 66 ++++++++++++++------------------------------------------ + 1 file changed, 16 insertions(+), 50 deletions(-) + +diff --git a/src/configure.in b/src/configure.in +index 90a07df..1d30243 100644 +--- a/src/configure.in ++++ b/src/configure.in +@@ -5,6 +5,13 @@ AC_INIT(pppoe.c) + dnl pppd directory for kernel-mode PPPoE + PPPD_DIR=ppp-2.4.1.pppoe2 + ++dnl hard code some paths ++PPPD=/usr/sbin/pppd ++ID=/usr/bin/id ++ECHO=/bin/echo ++AC_ARG_VAR(PPPD) ++AC_ARG_VAR(ID) ++ + AC_CONFIG_HEADER(config.h) + + AC_PREFIX_DEFAULT(/usr) +@@ -45,7 +52,7 @@ ac_cv_struct_sockaddr_ll=no) + AC_MSG_RESULT($ac_cv_struct_sockaddr_ll) + + if test "$ac_cv_struct_sockaddr_ll" = yes ; then +-AC_DEFINE(HAVE_STRUCT_SOCKADDR_LL) ++AC_DEFINE([HAVE_STRUCT_SOCKADDR_LL], [], [Have struct SOCKADDR_LL]) + fi + + dnl Check for N_HDLC line discipline +@@ -58,7 +65,7 @@ AC_TRY_COMPILE([ + ac_cv_n_hdlc=no) + AC_MSG_RESULT($ac_cv_n_hdlc) + if test "$ac_cv_n_hdlc" = yes ; then +-AC_DEFINE(HAVE_N_HDLC) ++AC_DEFINE([HAVE_N_HDLC], [], [Have N_HDLC]) + fi + + AC_ARG_ENABLE(plugin, [ --enable-plugin=pppd_src_path build pppd plugin], ac_cv_pluginpath=$enableval, ac_cv_pluginpath=no) +@@ -106,7 +113,7 @@ PPPD_INCDIR="" + if test "$ac_cv_header_linux_if_pppox_h" = yes ; then + if test "$ac_cv_pluginpath" != no ; then + LINUX_KERNELMODE_PLUGIN=rp-pppoe.so +- AC_DEFINE(HAVE_LINUX_KERNEL_PPPOE) ++ AC_DEFINE([HAVE_LINUX_KERNEL_PPPOE], [], [Have kernel PPPoE]) + PPPD_INCDIR=$ac_cv_pluginpath + fi + fi +@@ -116,7 +123,7 @@ if test "$PPPD_INCDIR" = "" ; then + fi + + if test "$ac_cv_debugging" = "yes" ; then +- AC_DEFINE(DEBUGGING_ENABLED) ++ AC_DEFINE([DEBUGGING_ENABLED], [], [Debugging enabled]) + fi + + AC_SUBST(LINUX_KERNELMODE_PLUGIN) +@@ -142,15 +149,8 @@ AC_CHECK_SIZEOF(unsigned short) + AC_CHECK_SIZEOF(unsigned int) + AC_CHECK_SIZEOF(unsigned long) + +-dnl Check for location of pppd +-AC_PATH_PROG(PPPD, pppd, NOTFOUND, $PATH:/sbin:/usr/sbin:/usr/local/sbin) +-AC_PATH_PROG(ECHO, echo, echo) +- +-dnl Check for setsid (probably Linux-specific) +-AC_PATH_PROG(SETSID, setsid, "", $PATH:/sbin:/usr/sbin:/usr/local/sbin) +- + dnl Check for an "id" which accepts "-u" option -- hack for Solaris. +-AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH) ++dnl AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH) + + dnl Check for Linux-specific kernel support for PPPoE + AC_MSG_CHECKING(for Linux 2.4.X kernel-mode PPPoE support) +@@ -195,44 +195,8 @@ if test "$GCC" = yes; then + CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -Wstrict-prototypes" + fi + +-dnl If we couldn't find pppd, die +-if test "$PPPD" = "NOTFOUND"; then +- AC_MSG_WARN([*** Oops! I couldn't find pppd, the PPP daemon anywhere.]) +- AC_MSG_WARN([*** You must install pppd, version 2.3.10 or later.]) +- AC_MSG_WARN([*** I will keep going, but it may not work.]) +- PPPD=pppd +-fi +- +-dnl Figure out pppd version. 2.3.7 to 2.3.9 -- issue warning. Less than +-dnl 2.3.7 -- stop +- +-PPPD_VERSION=`$PPPD --version 2>&1 | awk ' /version/ {print $NF}'` +- +-case "$PPPD_VERSION" in +-1.*|2.0.*|2.1.*|2.2.*|2.3.0|2.3.1|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6) +- AC_MSG_WARN([*** Oops! Your version of pppd is $PPPD_VERSION, which is too old.]) +- AC_MSG_WARN([*** You need at least 2.3.7 (2.3.10 or newer recommended.]) +- AC_MSG_WARN([*** I will keep going, but it may not work.]) +- ;; +- +-2.3.7|2.3.8|2.3.9) +- AC_MSG_WARN([*** Warning. Your version of pppd is $PPPD_VERSION. You will]) +- AC_MSG_WARN([*** not be able to use connect-on-demand. Upgrade to pppd]) +- AC_MSG_WARN([*** 2.3.10 or newer if you need connect-on-demand.]) +- ;; +- +-2*|3*|4*|5*|6*|7*|8*|9*) +- ;; +- +-*) +- AC_MSG_WARN([*** Oops. I cannot figure out what version of pppd you have.]) +- AC_MSG_WARN([*** All I got back was '$PPPD_VERSION']) +- AC_MSG_WARN([*** I will keep going, but it may not work.]) +- ;; +-esac +- + dnl Figure out packing order of structures +-AC_MSG_CHECKING([packing order of bit fields]) ++AC_CACHE_CHECK([packing order of bit fields],rpppoe_cv_pack_bitfields,[ + if test "${rpppoe_cv_pack_bitfields+set}" != set ; then + AC_TRY_RUN([ + union foo { +@@ -259,10 +223,11 @@ main(void) + }], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev, + $ECHO "no defaults for cross-compiling"; exit 0) + fi ++]) + + if test "$rpppoe_cv_pack_bitfields" = "rev" ; then + AC_MSG_RESULT(reversed) +- AC_DEFINE(PACK_BITFIELDS_REVERSED) ++ AC_DEFINE([PACK_BITFIELDS_REVERSED], [], [Reversed bitfields]) + else + AC_MSG_RESULT(normal) + fi +@@ -326,6 +291,7 @@ AC_SUBST(PPPOE_SERVER_DEPS) + AC_SUBST(RDYNAMIC) + AC_SUBST(LIBEVENT) + AC_SUBST(ECHO) ++AC_SUBST(HAVE_STRUCT_SOCKADDR_LL) + AC_SUBST(LDFLAGS) + + datadir_evaluated=`eval echo $datadir` diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/discard-use-of-dnl-in-Makefile.am.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/discard-use-of-dnl-in-Makefile.am.patch new file mode 100644 index 000000000..9801f6e27 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/discard-use-of-dnl-in-Makefile.am.patch @@ -0,0 +1,25 @@ +From f658181c58347c3e2b0ee4f0a6a3d19162921471 Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Tue, 12 Jun 2012 14:26:16 -0400 +Subject: [PATCH] discard use of dnl in Makefile.am + +Since Makefile.am is not processed by m4, but by automake, 'dnl' does +not introduce a comment. + +Signed-off-by: Ting Liu + +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index eff6977..3091c33 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,5 +1,5 @@ + PACKAGE = rp-pppoe + VERSION = 3.8 + +-dnl AM_CFLAGS = -Wall -DDEBUG ++##dnl AM_CFLAGS = -Wall -DDEBUG + SUBDIRS = src diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/dont-swallow-errors.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/dont-swallow-errors.patch new file mode 100644 index 000000000..8a857888b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/dont-swallow-errors.patch @@ -0,0 +1,26 @@ +From a9a7322273c51882af58c35ba288a0fae00ba841 Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Wed, 19 Aug 2015 12:33:41 +0900 +Subject: [PATCH] don't swallow errors + +Further fixup to the configure scripts to not swallow errors + +Upstream-Status: Pending + +--- + src/configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/configure.in b/src/configure.in +index 1d30243..1714e69 100644 +--- a/src/configure.in ++++ b/src/configure.in +@@ -221,7 +221,7 @@ main(void) + return 2; + } + }], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev, +-$ECHO "no defaults for cross-compiling"; exit 0) ++$ECHO "no defaults for cross-compiling"; exit 1) + fi + ]) + diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.default b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.default new file mode 100644 index 000000000..996d57f3c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.default @@ -0,0 +1,22 @@ +# PPPoE Server options + +# Maximum segment size, not used for in kernel PPPoE +#MSS=1412 + +# Device(s) - Space seperated list of devices to listen on +#DEVICES="eth1" + +# Local IP +#LOCAL_IP=10.0.0.1 + +# Starting remote IP +#REMOTE_IP=10.67.15.1 + +# Service name +#SERVICE_NAME="acme" + +# Maximum number of sessions, default is 16 +#MAX_SESSIONS=64 + +# Access concentrator name, default is the hostname +#ACCESS_CONCENTRATOR_NAME="pppoe-rtr-1" diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.init b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.init new file mode 100755 index 000000000..21afe0be3 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.init @@ -0,0 +1,59 @@ +#! /bin/sh + +test -f /usr/sbin/pppoe-server || exit 0 +test -f /etc/default/pppoe-server && . /etc/default/pppoe-server + +case $1 in + start) + OPTIONS="" + if [ -n "$MSS" ]; then + OPTIONS="$OPTIONS -m $MSS" + fi + if [ -n "$DEVICES" ]; then + for i in $DEVICES; do + OPTIONS="$OPTIONS -I $i" + done + fi + if [ -n "$LOCAL_IP" ]; then + OPTIONS="$OPTIONS -L $LOCAL_IP" + fi + if [ -n "$REMOTE_IP" ]; then + OPTIONS="$OPTIONS -R $REMOTE_IP" + fi + if [ -n "$SERVICE_NAME" ]; then + OPTIONS="$OPTIONS -S $SERVICE_NAME" + fi + if [ -n "$MAX_SESSIONS" ]; then + OPTIONS="$OPTIONS -N $MAX_SESSIONS" + fi + if [ -n "$ACCESS_CONCENTRATOR_NAME" ]; then + OPTIONS="$OPTIONS -C $ACCESS_CONCENTRATOR_NAME" + fi + echo -n "Starting PPPoE server: pppoe-server" + start-stop-daemon --start --quiet --exec /usr/sbin/pppoe-server -- $OPTIONS + echo "." + ;; + stop) + echo -n "Stopping PPPoE server: pppoe-server" + start-stop-daemon --stop --quiet --exec /usr/sbin/pppoe-server -- $OPTIONS + echo "." + ;; + status) + pid=$(pidof pppoe-server) + if [ -n "$pid" ] ; then + echo "Running with pid $pid" + else + echo "Not running" + fi + ;; + restart|force-reload) + $0 stop + $0 start + ;; + *) + echo "Usage: /etc/init.d/pppoe-server {start|stop|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.service b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.service new file mode 100644 index 000000000..41e0b9e85 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.service @@ -0,0 +1,11 @@ +[Unit] +Description=PPPOE Service +After=network.target + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/pppoe-server +ExecStart=@SBINDIR@/pppoe-server + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/top-autoconf.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/top-autoconf.patch new file mode 100644 index 000000000..f64da4fa2 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/top-autoconf.patch @@ -0,0 +1,41 @@ +From 0b62f71eb5d44d4a57103566ba58022b6304fa4f Mon Sep 17 00:00:00 2001 +From: Tom Rini +Date: Wed, 27 Jul 2011 03:46:52 +0000 +Subject: [PATCH] rp-pppoe: Port from oe.dev + +The autoconf stuff is all in a subdirectory, which is rather annoying +as OE expects patches to be applied and autoconf stuff to be done in +S. This adds enough autoconf at the top level to allow it to be +called there - all it does is run a sub autoconf stuff in the src +directory. + +Upstream-Status: Inappropriate [build system specific change] + +--- + Makefile.am | 5 +++++ + configure.in | 4 ++++ + 2 files changed, 9 insertions(+) + create mode 100644 Makefile.am + create mode 100644 configure.in + +diff --git a/Makefile.am b/Makefile.am +new file mode 100644 +index 0000000..eff6977 +--- /dev/null ++++ b/Makefile.am +@@ -0,0 +1,5 @@ ++PACKAGE = rp-pppoe ++VERSION = 3.8 ++ ++dnl AM_CFLAGS = -Wall -DDEBUG ++SUBDIRS = src +diff --git a/configure.in b/configure.in +new file mode 100644 +index 0000000..ac1a7e4 +--- /dev/null ++++ b/configure.in +@@ -0,0 +1,4 @@ ++AC_INIT(src/pppoe.c) ++AM_INIT_AUTOMAKE([rp-pppoe], [3.8]) ++AC_CONFIG_SUBDIRS(src) ++AC_OUTPUT(Makefile) diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/update-config.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/update-config.patch new file mode 100644 index 000000000..c759e09aa --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/update-config.patch @@ -0,0 +1,41 @@ +From 4d34e0d7d790ec41b0afb731c7dc1b1ee90dd377 Mon Sep 17 00:00:00 2001 +From: Tom Rini +Date: Wed, 27 Jul 2011 03:46:52 +0000 +Subject: [PATCH] rp-pppoe: Port from oe.dev + +Set the timeout to 0 since we don't want pppoe to try reconnecting, +we want whatever is calling it to reconnect. Lots of odd things +happen when you have pppoe retrying itself. + +The path for the plugin is wrong, it's now part of ppp and is in a +ppp's plugin lib directory. If no path is specified then that's where +ppp looks, so that's what we do here. + +Upstream-Status: Inappropriate [configuration] + +--- + configs/pppoe.conf | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configs/pppoe.conf b/configs/pppoe.conf +index c222b2f..65618a5 100644 +--- a/configs/pppoe.conf ++++ b/configs/pppoe.conf +@@ -66,7 +66,7 @@ DEFAULTROUTE=yes + # to connect forever after pppoe-start is called. Otherwise, it will + # give out after CONNECT_TIMEOUT seconds and will not attempt to + # connect again, making it impossible to reach. +-CONNECT_TIMEOUT=30 ++CONNECT_TIMEOUT=0 + + # How often in seconds pppoe-start polls to check if link is up + CONNECT_POLL=2 +@@ -115,7 +115,7 @@ PPPOE_TIMEOUT=80 + FIREWALL=NONE + + # Linux kernel-mode plugin for pppd. If you want to try the kernel-mode +-# plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so ++# plugin, use LINUX_PLUGIN=rp-pppoe.so + LINUX_PLUGIN= + + # Any extra arguments to pass to pppoe. Normally, use a blank string diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb deleted file mode 100644 index fbe015f5e..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb +++ /dev/null @@ -1,77 +0,0 @@ -SUMMARY = "A user-mode PPPoE client and server suite for Linux" -HOMEPAGE = "http://www.roaringpenguin.com/products/pppoe" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=a194eaefae2be54ee3221339b10d0581" - -PR = "r10" - -SRC_URI = "http://www.roaringpenguin.com/files/download/${BP}.tar.gz \ - file://top-autoconf.patch \ - file://configure_in_cross.patch \ - file://pppoe-src-restrictions.patch \ - file://update-config.patch \ - file://dont-swallow-errors.patch \ - file://discard-use-of-dnl-in-Makefile.am.patch \ - file://configure.patch \ - file://pppoe-server.default \ - file://pppoe-server.init \ - file://configure.in-Error-fix.patch \ - file://pppoe-server.service \ - file://0001-ppoe-Dont-include-linux-if_ether.h.patch \ - file://0002-Enable-support-for-the-kernel-module.patch \ - " - -SRC_URI[md5sum] = "216eb52b69062b92a64ee37fd71f4b66" -SRC_URI[sha256sum] = "00794e04031546b0e9b8cf286f2a6d1ccfc4a621b2a3abb2d7ef2a7ab7cc86c2" - -inherit autotools-brokensep update-rc.d systemd - -do_install_append() { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/pppoe-server.service ${D}${systemd_unitdir}/system - sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/pppoe-server.service - sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/pppoe-server.service - install -d ${D}${datadir}/doc/${PN} - if [ -f ${D}${datadir}/doc/README ]; then - mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/ - fi -} - -do_install() { - # Install init script and default settings - install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d - install -m 0644 ${WORKDIR}/pppoe-server.default ${D}${sysconfdir}/default/pppoe-server - install -m 0755 ${WORKDIR}/pppoe-server.init ${D}${sysconfdir}/init.d/pppoe-server - # Install - oe_runmake -C ${S} DESTDIR=${D} docdir=${docdir} install - chmod 4755 ${D}${sbindir}/pppoe -} - -SYSTEMD_PACKAGES = "${PN}-server" -SYSTEMD_SERVICE_${PN}-server = "pppoe-server.service" -SYSTEMD_AUTO_ENABLE = "disable" -# Insert server package before main package -PACKAGES = "${PN}-dbg ${PN}-server ${PN}-relay ${PN}-sniff ${PN} ${PN}-doc" - -FILES_${PN}-server = "${sysconfdir}/default/pppoe-server \ - ${sysconfdir}/init.d/pppoe-server \ - ${sbindir}/pppoe-server \ - ${sysconfdir}/ppp/pppoe-server-options" -FILES_${PN}-relay = "${sbindir}/pppoe-relay" -FILES_${PN}-sniff = "${sbindir}/pppoe-sniff" - -CONFFILES_${PN} = "${sysconfdir}/ppp/pppoe.conf \ - ${sysconfdir}/ppp/firewall-standalone \ - ${sysconfdir}/ppp/firewall-masq" -CONFFILES_${PN}-server = "${sysconfdir}/ppp/pppoe-server-options \ - ${sysconfdir}/default/pppoe-server" - -INITSCRIPT_PACKAGES = "${PN}-server" -INITSCRIPT_NAME_${PN}-server = "pppoe-server" -INITSCRIPT_PARAMS_${PN}-server = "defaults 92 8" - -RDEPENDS_${PN} = "ppp" -RDEPENDS_${PN}-server = "${PN}" -RRECOMMENDS_${PN} = "ppp-oe" - diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb new file mode 100644 index 000000000..492ade5ae --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb @@ -0,0 +1,76 @@ +SUMMARY = "A user-mode PPPoE client and server suite for Linux" +HOMEPAGE = "http://www.roaringpenguin.com/products/pppoe" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=a194eaefae2be54ee3221339b10d0581" + +PR = "r10" + +SRC_URI = "https://dianne.skoll.ca/projects/rp-pppoe/download/rp-pppoe-${PV}.tar.gz \ + file://top-autoconf.patch \ + file://configure_in_cross.patch \ + file://update-config.patch \ + file://dont-swallow-errors.patch \ + file://discard-use-of-dnl-in-Makefile.am.patch \ + file://configure.patch \ + file://pppoe-server.default \ + file://pppoe-server.init \ + file://configure.in-Error-fix.patch \ + file://pppoe-server.service \ + file://0001-ppoe-Dont-include-linux-if_ether.h.patch \ + file://0002-Enable-support-for-the-kernel-module.patch \ + " + +SRC_URI[md5sum] = "ec9dccd9a367a1f71f2dc81069796dd8" +SRC_URI[sha256sum] = "8cd6bc71ba46bd5f6eb4daf60220ccdcd991a8525111dee466501b1b9717e676" + +inherit autotools-brokensep update-rc.d systemd + +do_install_append() { + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/pppoe-server.service ${D}${systemd_unitdir}/system + sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/pppoe-server.service + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/pppoe-server.service + install -d ${D}${datadir}/doc/${PN} + if [ -f ${D}${datadir}/doc/README ]; then + mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/ + fi +} + +do_install() { + # Install init script and default settings + install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d + install -m 0644 ${WORKDIR}/pppoe-server.default ${D}${sysconfdir}/default/pppoe-server + install -m 0755 ${WORKDIR}/pppoe-server.init ${D}${sysconfdir}/init.d/pppoe-server + # Install + oe_runmake -C ${S} DESTDIR=${D} docdir=${docdir} install + chmod 4755 ${D}${sbindir}/pppoe +} + +SYSTEMD_PACKAGES = "${PN}-server" +SYSTEMD_SERVICE_${PN}-server = "pppoe-server.service" +SYSTEMD_AUTO_ENABLE = "disable" +# Insert server package before main package +PACKAGES = "${PN}-dbg ${PN}-server ${PN}-relay ${PN}-sniff ${PN} ${PN}-doc" + +FILES_${PN}-server = "${sysconfdir}/default/pppoe-server \ + ${sysconfdir}/init.d/pppoe-server \ + ${sbindir}/pppoe-server \ + ${sysconfdir}/ppp/pppoe-server-options" +FILES_${PN}-relay = "${sbindir}/pppoe-relay" +FILES_${PN}-sniff = "${sbindir}/pppoe-sniff" + +CONFFILES_${PN} = "${sysconfdir}/ppp/pppoe.conf \ + ${sysconfdir}/ppp/firewall-standalone \ + ${sysconfdir}/ppp/firewall-masq" +CONFFILES_${PN}-server = "${sysconfdir}/ppp/pppoe-server-options \ + ${sysconfdir}/default/pppoe-server" + +INITSCRIPT_PACKAGES = "${PN}-server" +INITSCRIPT_NAME_${PN}-server = "pppoe-server" +INITSCRIPT_PARAMS_${PN}-server = "defaults 92 8" + +RDEPENDS_${PN} = "ppp" +RDEPENDS_${PN}-server = "${PN}" +RRECOMMENDS_${PN} = "ppp-oe" + diff --git a/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch b/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch index 38d306475..e95b6f993 100644 --- a/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch +++ b/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch @@ -1,4 +1,4 @@ -From fd80c0599083013a1b583feba5d7473f52b35938 Mon Sep 17 00:00:00 2001 +From 7fd0e0b88df692dfc67335f235a1bb74854a0498 Mon Sep 17 00:00:00 2001 From: Mariia Movchan Date: Tue, 6 Mar 2018 16:03:39 +0200 Subject: [PATCH] Makefile: pass extra linker flags @@ -9,16 +9,17 @@ ERROR: QA Issue: No GNU_HASH in the elf binary Upstream-Status: Pending Signed-off-by: Mariia Movchan + --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 8beff8f..047f02a 100644 +index 54569c1..798988f 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ LIBS?= - VERSION=0.2.2 + VERSION=0.2.3 CC?=gcc CFLAGS?=-O2 -g -Wall -LDFLAGS=$(LIBS) @@ -26,6 +27,3 @@ index 8beff8f..047f02a 100644 ifeq ($(USE_GEOIP),yes) ifeq ($(USE_DYN_GEOIP),yes) --- -2.15.1 - diff --git a/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb b/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb deleted file mode 100644 index b45642404..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Tool to assist in network address calculations for IPv4 and IPv6." -HOMEPAGE = "https://github.com/nmav/ipcalc" - -SECTION = "net" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -S = "${WORKDIR}/git" -SRCREV = "8348808a7869ca8f25a5b5deeaa418c2f6d52758" -SRC_URI = "\ - git://github.com/nmav/ipcalc.git;protocol=https; \ - file://0001-Makefile-pass-extra-linker-flags.patch \ -" - -export USE_GEOIP = "no" - -do_install() { - install -d ${D}/${bindir} - install -m 0755 ${S}/ipcalc ${D}/${bindir} -} diff --git a/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb b/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb new file mode 100644 index 000000000..ad0ec2700 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb @@ -0,0 +1,21 @@ +SUMMARY = "Tool to assist in network address calculations for IPv4 and IPv6." +HOMEPAGE = "https://github.com/nmav/ipcalc" + +SECTION = "net" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +S = "${WORKDIR}/git" +SRCREV = "c3ee70c878b9c5833a77a1f339f1ca4dc6f225c5" +SRC_URI = "\ + git://github.com/nmav/ipcalc.git;protocol=https; \ + file://0001-Makefile-pass-extra-linker-flags.patch \ +" + +export USE_GEOIP = "no" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${S}/ipcalc ${D}/${bindir} +} diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch deleted file mode 100644 index 11a910393..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 282d492e4cab7b4d9c7321f4c0c55b615948e280 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 11 May 2018 14:09:17 -0700 -Subject: [PATCH] Disable gcc8 specific warnings - -Signed-off-by: Khem Raj ---- - src/libipsec/ipsec_dump_policy.c | 5 +++++ - src/libipsec/pfkey_dump.c | 5 +++++ - src/racoon/isakmp.c | 11 ++++++++++- - 3 files changed, 20 insertions(+), 1 deletion(-) - -diff --git a/src/libipsec/ipsec_dump_policy.c b/src/libipsec/ipsec_dump_policy.c -index 4d0eb77..c3fc842 100644 ---- a/src/libipsec/ipsec_dump_policy.c -+++ b/src/libipsec/ipsec_dump_policy.c -@@ -275,6 +275,10 @@ ipsec_dump_policy1(policy, delimiter, withports) - return buf; - } - -+#pragma GCC diagnostic push -+#if defined(__GNUC__) && (__GNUC__ >= 8) -+#pragma GCC diagnostic ignored "-Wformat-truncation" -+#endif - static char * - ipsec_dump_ipsecrequest(buf, len, xisr, bound, withports) - char *buf; -@@ -419,3 +423,4 @@ set_address(buf, len, sa, withports) - - return buf; - } -+#pragma GCC diagnostic pop -diff --git a/src/libipsec/pfkey_dump.c b/src/libipsec/pfkey_dump.c -index 4627ebc..451e535 100644 ---- a/src/libipsec/pfkey_dump.c -+++ b/src/libipsec/pfkey_dump.c -@@ -691,6 +691,10 @@ str_ipport(sa) - /* - * set "/prefix[port number]" to buffer. - */ -+#pragma GCC diagnostic push -+#if defined(__GNUC__) && (__GNUC__ >= 8) -+#pragma GCC diagnostic ignored "-Wformat-truncation" -+#endif - static char * - str_prefport(family, pref, port, ulp) - u_int family, pref, port, ulp; -@@ -735,6 +739,7 @@ str_prefport(family, pref, port, ulp) - - return buf; - } -+#pragma GCC diagnostic pop - - static void - str_upperspec(ulp, p1, p2) -diff --git a/src/racoon/isakmp.c b/src/racoon/isakmp.c -index 7ff53a3..4addf24 100644 ---- a/src/racoon/isakmp.c -+++ b/src/racoon/isakmp.c -@@ -3124,7 +3124,12 @@ script_hook(iph1, script) - #endif - - /* local address */ -+#pragma GCC diagnostic push -+#if defined(__GNUC__) && (__GNUC__ >= 8) -+#pragma GCC diagnostic ignored "-Wstringop-truncation" -+#endif - GETNAMEINFO(iph1->local, addrstr, portstr); -+#pragma GCC diagnostic pop - - if (script_env_append(&envp, &envc, "LOCAL_ADDR", addrstr) != 0) { - plog(LLV_ERROR, LOCATION, NULL, "Cannot set LOCAL_ADDR\n"); -@@ -3138,8 +3143,12 @@ script_hook(iph1, script) - - /* Peer address */ - if (iph1->remote != NULL) { -+#pragma GCC diagnostic push -+#if defined(__GNUC__) && (__GNUC__ >= 8) -+#pragma GCC diagnostic ignored "-Wstringop-truncation" -+#endif - GETNAMEINFO(iph1->remote, addrstr, portstr); -- -+#pragma GCC diagnostic pop - if (script_env_append(&envp, &envc, - "REMOTE_ADDR", addrstr) != 0) { - plog(LLV_ERROR, LOCATION, NULL, diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch deleted file mode 100644 index 5c0914745..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 9135ca401186fb14e5e5110bbb04d1ccc480360a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 15 Nov 2016 04:15:44 +0000 -Subject: [PATCH] Fix build with clang - -Fixes for following errors found by clang - -src/racoon/eaytest.c:316:6: error: comparison of array 'dnstr_w1' not equal to a null pointer is always true - [-Werror,-Wtautological-pointer-compare] - if (dnstr_w1 != NULL) { - ^~~~~~~~ ~~~~ -src/racoon/eaytest.c:326:6: error: comparison of array 'dnstr_w1' not equal to a null pointer is always true - [-Werror,-Wtautological-pointer-compare] - if (dnstr_w1 != NULL) { - ^~~~~~~~ ~~~~ - -src/racoon/isakmp.c:1134:11: error: promoted type 'int' of K&R function parameter is not compatible with the - parameter type 'u_int8_t' (aka 'unsigned char') declared in a previous prototype [-Werror,-Wknr-promoted-parameter] - u_int8_t etype; - ^ -src/racoon/isakmp.c:184:48: note: previous declaration is here - struct sockaddr *, struct sockaddr *, u_int8_t)); - ^ - 1 error generated. - -src/racoon/racoonctl.c:1457:15: error: incompatible pointer types passing 'struct evt_async *' to parameter of type - 'caddr_t' (aka 'char *') [-Werror,-Wincompatible-pointer-types] - print_cfg(ec, len); - ^~ - -Signed-off-by: Khem Raj ---- - src/racoon/eaytest.c | 4 ++-- - src/racoon/isakmp.c | 10 +++++----- - src/racoon/racoonctl.c | 7 +++---- - 3 files changed, 10 insertions(+), 11 deletions(-) - -diff --git a/src/racoon/eaytest.c b/src/racoon/eaytest.c -index 1474bdc..d609e4f 100644 ---- a/src/racoon/eaytest.c -+++ b/src/racoon/eaytest.c -@@ -313,7 +313,7 @@ certtest(ac, av) - - printf("exact match: succeed.\n"); - -- if (dnstr_w1 != NULL) { -+ if (dnstr_w1[0] != '\0') { - asn1dn = eay_str2asn1dn(dnstr_w1, strlen(dnstr_w1)); - if (asn1dn == NULL || asn1dn->l == asn1dn0.l) - errx(1, "asn1dn length wrong for wildcard 1\n"); -@@ -323,7 +323,7 @@ certtest(ac, av) - printf("wildcard 1 match: succeed.\n"); - } - -- if (dnstr_w1 != NULL) { -+ if (dnstr_w1[0] != '\0') { - asn1dn = eay_str2asn1dn(dnstr_w2, strlen(dnstr_w2)); - if (asn1dn == NULL || asn1dn->l == asn1dn0.l) - errx(1, "asn1dn length wrong for wildcard 2\n"); -diff --git a/src/racoon/isakmp.c b/src/racoon/isakmp.c -index 2672f7a..da7ebe8 100644 ---- a/src/racoon/isakmp.c -+++ b/src/racoon/isakmp.c -@@ -567,7 +567,7 @@ isakmp_main(msg, remote, local) - - /* it must be responder's 1st exchange. */ - if (isakmp_ph1begin_r(msg, remote, local, -- isakmp->etype) < 0) -+ (u_int8_t)isakmp->etype) < 0) - return -1; - break; - -@@ -1128,10 +1128,10 @@ isakmp_ph1begin_i(rmconf, remote, local) - - /* new negotiation of phase 1 for responder */ - static int --isakmp_ph1begin_r(msg, remote, local, etype) -- vchar_t *msg; -- struct sockaddr *remote, *local; -- u_int8_t etype; -+isakmp_ph1begin_r(vchar_t *msg, -+ struct sockaddr *remote, -+ struct sockaddr *local, -+ u_int8_t etype) - { - struct isakmp *isakmp = (struct isakmp *)msg->v; - struct ph1handle *iph1; -diff --git a/src/racoon/racoonctl.c b/src/racoon/racoonctl.c -index da28ecd..bbf068e 100644 ---- a/src/racoon/racoonctl.c -+++ b/src/racoon/racoonctl.c -@@ -1299,9 +1299,8 @@ print_evt(evtdump) - * Print ISAKMP mode config info (IP and banner) - */ - void --print_cfg(buf, len) -- caddr_t buf; -- int len; -+print_cfg(caddr_t buf, -+ int len) - { - struct evt_async *evtdump = (struct evt_async *)buf; - struct isakmp_data *attr; -@@ -1454,7 +1453,7 @@ handle_recv(combuf) - else if (evt_quit_event == ec->ec_type) { - switch (ec->ec_type) { - case EVT_PHASE1_MODE_CFG: -- print_cfg(ec, len); -+ print_cfg((caddr_t)ec, len); - break; - default: - print_evt(ec); --- -1.9.1 - diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch deleted file mode 100644 index 630ecdb5f..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch +++ /dev/null @@ -1,249 +0,0 @@ -From 7d9585be093c9cb2428b373c0b0088bb778942d0 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 20 Mar 2017 21:37:47 -0700 -Subject: [PATCH] Fix header issues found with musl libc - -Signed-off-by: Khem Raj ---- - src/libipsec/ipsec_strerror.h | 3 +++ - src/libipsec/libpfkey.h | 4 +++- - src/racoon/admin.c | 2 +- - src/racoon/backupsa.c | 6 +++--- - src/racoon/cftoken.l | 4 ++++ - src/racoon/logger.h | 3 +++ - src/racoon/misc.h | 3 +++ - src/racoon/missing/crypto/sha2/sha2.h | 3 +++ - src/racoon/netdb_dnssec.h | 3 +++ - src/racoon/pfkey.c | 1 - - src/racoon/plog.h | 2 ++ - src/racoon/str2val.h | 3 +++ - src/racoon/vmbuf.h | 3 +++ - src/setkey/extern.h | 3 ++- - src/setkey/setkey.c | 1 - - 15 files changed, 36 insertions(+), 8 deletions(-) - -diff --git a/src/libipsec/ipsec_strerror.h b/src/libipsec/ipsec_strerror.h -index 2b4264f..dac66a1 100644 ---- a/src/libipsec/ipsec_strerror.h -+++ b/src/libipsec/ipsec_strerror.h -@@ -34,6 +34,9 @@ - #ifndef _IPSEC_STRERROR_H - #define _IPSEC_STRERROR_H - -+#undef __P -+#define __P(protos) protos /* ANSI C prototypes */ -+ - extern int __ipsec_errcode; - extern void __ipsec_set_strerror __P((const char *)); - -diff --git a/src/libipsec/libpfkey.h b/src/libipsec/libpfkey.h -index 61d2f2a..f7991b7 100644 ---- a/src/libipsec/libpfkey.h -+++ b/src/libipsec/libpfkey.h -@@ -34,6 +34,9 @@ - #ifndef _LIBPFKEY_H - #define _LIBPFKEY_H - -+#undef __P -+#define __P(protos) protos /* ANSI C prototypes */ -+ - #ifndef KAME_LIBPFKEY_H - #define KAME_LIBPFKEY_H - -@@ -43,7 +46,6 @@ - - #define PRIORITY_OFFSET_POSITIVE_MAX 0x3fffffff - #define PRIORITY_OFFSET_NEGATIVE_MAX 0x40000000 -- - struct sadb_msg; - extern void pfkey_sadump __P((struct sadb_msg *)); - extern void pfkey_sadump_withports __P((struct sadb_msg *)); -diff --git a/src/racoon/admin.c b/src/racoon/admin.c -index 4b1875b..03ea3f8 100644 ---- a/src/racoon/admin.c -+++ b/src/racoon/admin.c -@@ -36,7 +36,6 @@ - #include - #include - #include --#include - #include - #include - -@@ -46,6 +45,7 @@ - #include PATH_IPSEC_H - - -+#include - #include - #include - #include -diff --git a/src/racoon/backupsa.c b/src/racoon/backupsa.c -index 82d74ca..95307ca 100644 ---- a/src/racoon/backupsa.c -+++ b/src/racoon/backupsa.c -@@ -276,9 +276,9 @@ do { \ - GETNEXTNUM(sa_args.a_keylen, strtoul); - GETNEXTNUM(sa_args.flags, strtoul); - GETNEXTNUM(sa_args.l_alloc, strtoul); -- GETNEXTNUM(sa_args.l_bytes, strtouq); -- GETNEXTNUM(sa_args.l_addtime, strtouq); -- GETNEXTNUM(sa_args.l_usetime, strtouq); -+ GETNEXTNUM(sa_args.l_bytes, strtoull); -+ GETNEXTNUM(sa_args.l_addtime, strtoull); -+ GETNEXTNUM(sa_args.l_usetime, strtoull); - GETNEXTNUM(sa_args.seq, strtoul); - - #undef GETNEXTNUM -diff --git a/src/racoon/cftoken.l b/src/racoon/cftoken.l -index 1701922..787f4a9 100644 ---- a/src/racoon/cftoken.l -+++ b/src/racoon/cftoken.l -@@ -77,6 +77,10 @@ - - #include "cfparse.h" - -+#ifndef GLOB_TILDE -+#define GLOB_TILDE 0 -+#endif -+ - int yyerrorcount = 0; - - #if defined(YIPS_DEBUG) -diff --git a/src/racoon/logger.h b/src/racoon/logger.h -index 3fd3e94..67af5f0 100644 ---- a/src/racoon/logger.h -+++ b/src/racoon/logger.h -@@ -34,6 +34,9 @@ - #ifndef _LOGGER_H - #define _LOGGER_H - -+#undef __P -+#define __P(protos) protos /* ANSI C prototypes */ -+ - struct log { - int head; - int siz; -diff --git a/src/racoon/misc.h b/src/racoon/misc.h -index 3e758d9..30d9825 100644 ---- a/src/racoon/misc.h -+++ b/src/racoon/misc.h -@@ -34,6 +34,9 @@ - #ifndef _MISC_H - #define _MISC_H - -+#undef __P -+#define __P(protos) protos /* ANSI C prototypes */ -+ - #define BIT2STR(b) bit2str(b, sizeof(b)<<3) - - #ifdef HAVE_FUNC_MACRO -diff --git a/src/racoon/missing/crypto/sha2/sha2.h b/src/racoon/missing/crypto/sha2/sha2.h -index 42bcc2a..c043dfe 100644 ---- a/src/racoon/missing/crypto/sha2/sha2.h -+++ b/src/racoon/missing/crypto/sha2/sha2.h -@@ -40,6 +40,9 @@ - #ifndef __SHA2_H__ - #define __SHA2_H__ - -+#undef __P -+#define __P(protos) protos /* ANSI C prototypes */ -+ - #ifdef __cplusplus - extern "C" { - #endif -diff --git a/src/racoon/netdb_dnssec.h b/src/racoon/netdb_dnssec.h -index a11209d..98fd813 100644 ---- a/src/racoon/netdb_dnssec.h -+++ b/src/racoon/netdb_dnssec.h -@@ -34,6 +34,9 @@ - #ifndef _NETDB_DNSSEC_H - #define _NETDB_DNSSEC_H - -+#undef __P -+#define __P(protos) protos /* ANSI C prototypes */ -+ - #ifndef T_CERT - #define T_CERT 37 /* defined by RFC2538 section 2 */ - #endif -diff --git a/src/racoon/pfkey.c b/src/racoon/pfkey.c -index 8f26c19..a06c30e 100644 ---- a/src/racoon/pfkey.c -+++ b/src/racoon/pfkey.c -@@ -59,7 +59,6 @@ - #include - #include - #include --#include - - #include - #include -diff --git a/src/racoon/plog.h b/src/racoon/plog.h -index ed43c8b..920c850 100644 ---- a/src/racoon/plog.h -+++ b/src/racoon/plog.h -@@ -34,6 +34,8 @@ - #ifndef _PLOG_H - #define _PLOG_H - -+#undef __P -+#define __P(protos) protos /* ANSI C prototypes */ - #ifdef HAVE_STDARG_H - #include - #else -diff --git a/src/racoon/str2val.h b/src/racoon/str2val.h -index 4a7cec1..d3d698e 100644 ---- a/src/racoon/str2val.h -+++ b/src/racoon/str2val.h -@@ -34,6 +34,9 @@ - #ifndef _STR2VAL_H - #define _STR2VAL_H - -+#undef __P -+#define __P(protos) protos /* ANSI C prototypes */ -+ - extern caddr_t val2str __P((const char *, size_t)); - extern char *str2val __P((const char *, int, size_t *)); - -diff --git a/src/racoon/vmbuf.h b/src/racoon/vmbuf.h -index 3f2f4ea..8287a00 100644 ---- a/src/racoon/vmbuf.h -+++ b/src/racoon/vmbuf.h -@@ -34,6 +34,9 @@ - #ifndef _VMBUF_H - #define _VMBUF_H - -+#undef __P -+#define __P(protos) protos /* ANSI C prototypes */ -+ - /* - * bp v - * v v -diff --git a/src/setkey/extern.h b/src/setkey/extern.h -index 6f439fa..a1d9d14 100644 ---- a/src/setkey/extern.h -+++ b/src/setkey/extern.h -@@ -1,6 +1,7 @@ - /* $NetBSD: extern.h,v 1.5 2009/03/06 11:45:03 tteras Exp $ */ - -- -+#undef __P -+#define __P(protos) protos /* ANSI C prototypes */ - - void parse_init __P((void)); - int parse __P((FILE **)); -diff --git a/src/setkey/setkey.c b/src/setkey/setkey.c -index c400faa..51f8b75 100644 ---- a/src/setkey/setkey.c -+++ b/src/setkey/setkey.c -@@ -40,7 +40,6 @@ - #include - #include - #include --#include - #include - #include - #include --- -2.12.0 - diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch deleted file mode 100644 index 228274436..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch +++ /dev/null @@ -1,1086 +0,0 @@ -From b572350a922187d43dd4629c3b43e19979fae3ef Mon Sep 17 00:00:00 2001 -From: Eneas U de Queiroz -Date: Tue, 25 Sep 2018 15:30:04 +0800 -Subject: [PATCH] ipsec-tools: add openssl 1.1 support - -To: equeiroz@troianet.com.br - -This patch updates the calls to openssl 1.1 API, and adds a -compatibility layer so it compiles with (at least) openssl 1.0.2, I -haven't tested it with lower versions, but all that's needed is to edit -the openssl_compat.* files and add the missing functions there--they're -usually trivial. - -Signed-off-by: Eneas U de Queiroz - -Upstream-Status: Submitted [https://sourceforge.net/p/ipsec-tools/mailman/message/36327963/] -https://github.com/openwrt/packages/blob/master/net/ipsec-tools/patches/015-openssl-1.1.patch - -Signed-off-by: Hongxu Jia ---- - src/racoon/Makefile.am | 10 +-- - src/racoon/algorithm.c | 6 +- - src/racoon/crypto_openssl.c | 197 +++++++++++++++++++++------------------- - src/racoon/crypto_openssl.h | 2 +- - src/racoon/eaytest.c | 7 +- - src/racoon/ipsec_doi.c | 2 +- - src/racoon/openssl_compat.c | 213 ++++++++++++++++++++++++++++++++++++++++++++ - src/racoon/openssl_compat.h | 45 ++++++++++ - src/racoon/plainrsa-gen.c | 41 +++++---- - src/racoon/prsa_par.y | 28 ++++-- - src/racoon/rsalist.c | 5 +- - 11 files changed, 430 insertions(+), 126 deletions(-) - create mode 100644 src/racoon/openssl_compat.c - create mode 100644 src/racoon/openssl_compat.h - -diff --git a/src/racoon/Makefile.am b/src/racoon/Makefile.am -index 0662957..272b009 100644 ---- a/src/racoon/Makefile.am -+++ b/src/racoon/Makefile.am -@@ -4,7 +4,7 @@ sbin_PROGRAMS = racoon racoonctl plainrsa-gen - noinst_PROGRAMS = eaytest - include_racoon_HEADERS = racoonctl.h var.h vmbuf.h misc.h gcmalloc.h admin.h \ - schedule.h sockmisc.h isakmp_var.h isakmp.h isakmp_xauth.h \ -- isakmp_cfg.h isakmp_unity.h ipsec_doi.h evt.h -+ isakmp_cfg.h isakmp_unity.h ipsec_doi.h evt.h openssl_compat.h - lib_LTLIBRARIES = libracoon.la - - adminsockdir=${localstatedir}/racoon -@@ -32,7 +32,7 @@ racoon_SOURCES = \ - gssapi.c dnssec.c getcertsbyname.c privsep.c \ - pfkey.c admin.c evt.c ipsec_doi.c oakley.c grabmyaddr.c vendorid.c \ - policy.c localconf.c remoteconf.c crypto_openssl.c algorithm.c \ -- proposal.c sainfo.c strnames.c \ -+ openssl_compat.c proposal.c sainfo.c strnames.c \ - plog.c logger.c schedule.c str2val.c \ - safefile.c backupsa.c genlist.c rsalist.c \ - cftoken.l cfparse.y prsa_tok.l prsa_par.y -@@ -51,12 +51,12 @@ libracoon_la_SOURCES = kmpstat.c vmbuf.c sockmisc.c misc.c - libracoon_la_CFLAGS = -DNOUSE_PRIVSEP $(AM_CFLAGS) - - plainrsa_gen_SOURCES = plainrsa-gen.c plog.c \ -- crypto_openssl.c logger.c -+ crypto_openssl.c logger.c openssl_compat.c - EXTRA_plainrsa_gen_SOURCES = $(MISSING_ALGOS) - plainrsa_gen_LDADD = $(CRYPTOBJS) vmbuf.o misc.o - plainrsa_gen_DEPENDENCIES = $(CRYPTOBJS) vmbuf.o misc.o - --eaytest_SOURCES = eaytest.c plog.c logger.c -+eaytest_SOURCES = eaytest.c plog.c logger.c openssl_compat.c - EXTRA_eaytest_SOURCES = missing/crypto/sha2/sha2.c - eaytest_LDADD = crypto_openssl_test.o vmbuf.o str2val.o misc_noplog.o \ - $(CRYPTOBJS) -@@ -75,7 +75,7 @@ noinst_HEADERS = \ - debugrm.h isakmp.h misc.h sainfo.h \ - dhgroup.h isakmp_agg.h netdb_dnssec.h schedule.h \ - isakmp_cfg.h isakmp_xauth.h isakmp_unity.h isakmp_frag.h \ -- throttle.h privsep.h \ -+ throttle.h privsep.h openssl_compat.h \ - cfparse_proto.h cftoken_proto.h genlist.h rsalist.h \ - missing/crypto/sha2/sha2.h missing/crypto/rijndael/rijndael_local.h \ - missing/crypto/rijndael/rijndael-api-fst.h \ -diff --git a/src/racoon/algorithm.c b/src/racoon/algorithm.c -index 3fd50f6..66c874b 100644 ---- a/src/racoon/algorithm.c -+++ b/src/racoon/algorithm.c -@@ -128,7 +128,7 @@ static struct enc_algorithm oakley_encdef[] = { - { "aes", algtype_aes, OAKLEY_ATTR_ENC_ALG_AES, 16, - eay_aes_encrypt, eay_aes_decrypt, - eay_aes_weakkey, eay_aes_keylen, }, --#ifdef HAVE_OPENSSL_CAMELLIA_H -+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) - { "camellia", algtype_camellia, OAKLEY_ATTR_ENC_ALG_CAMELLIA, 16, - eay_camellia_encrypt, eay_camellia_decrypt, - eay_camellia_weakkey, eay_camellia_keylen, }, -@@ -168,7 +168,7 @@ static struct enc_algorithm ipsec_encdef[] = { - { "twofish", algtype_twofish, IPSECDOI_ESP_TWOFISH, 16, - NULL, NULL, - NULL, eay_twofish_keylen, }, --#ifdef HAVE_OPENSSL_IDEA_H -+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) - { "3idea", algtype_3idea, IPSECDOI_ESP_3IDEA, 8, - NULL, NULL, - NULL, NULL, }, -@@ -179,7 +179,7 @@ static struct enc_algorithm ipsec_encdef[] = { - { "rc4", algtype_rc4, IPSECDOI_ESP_RC4, 8, - NULL, NULL, - NULL, NULL, }, --#ifdef HAVE_OPENSSL_CAMELLIA_H -+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) - { "camellia", algtype_camellia, IPSECDOI_ESP_CAMELLIA, 16, - NULL, NULL, - NULL, eay_camellia_keylen, }, -diff --git a/src/racoon/crypto_openssl.c b/src/racoon/crypto_openssl.c -index 55b076a..8fb358f 100644 ---- a/src/racoon/crypto_openssl.c -+++ b/src/racoon/crypto_openssl.c -@@ -90,6 +90,7 @@ - #endif - #endif - #include "plog.h" -+#include "openssl_compat.h" - - #define USE_NEW_DES_API - -@@ -316,9 +317,12 @@ eay_cmp_asn1dn(n1, n2) - i = idx+1; - goto end; - } -- if ((ea->value->length == 1 && ea->value->data[0] == '*') || -- (eb->value->length == 1 && eb->value->data[0] == '*')) { -- if (OBJ_cmp(ea->object,eb->object)) { -+ ASN1_STRING *sa = X509_NAME_ENTRY_get_data(ea); -+ ASN1_STRING *sb = X509_NAME_ENTRY_get_data(eb); -+ if ((ASN1_STRING_length(sa) == 1 && ASN1_STRING_get0_data(sa)[0] == '*') || -+ (ASN1_STRING_length(sb) == 1 && ASN1_STRING_get0_data(sb)[0] == '*')) { -+ if (OBJ_cmp(X509_NAME_ENTRY_get_object(ea), -+ X509_NAME_ENTRY_get_object(eb))) { - i = idx+1; - goto end; - } -@@ -430,7 +434,7 @@ cb_check_cert_local(ok, ctx) - - if (!ok) { - X509_NAME_oneline( -- X509_get_subject_name(ctx->current_cert), -+ X509_get_subject_name(X509_STORE_CTX_get_current_cert(ctx)), - buf, - 256); - /* -@@ -438,7 +442,8 @@ cb_check_cert_local(ok, ctx) - * ok if they are self signed. But we should still warn - * the user. - */ -- switch (ctx->error) { -+ int ctx_error = X509_STORE_CTX_get_error(ctx); -+ switch (ctx_error) { - case X509_V_ERR_CERT_HAS_EXPIRED: - case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: - case X509_V_ERR_INVALID_CA: -@@ -453,9 +458,9 @@ cb_check_cert_local(ok, ctx) - } - plog(log_tag, LOCATION, NULL, - "%s(%d) at depth:%d SubjectName:%s\n", -- X509_verify_cert_error_string(ctx->error), -- ctx->error, -- ctx->error_depth, -+ X509_verify_cert_error_string(ctx_error), -+ ctx_error, -+ X509_STORE_CTX_get_error_depth(ctx), - buf); - } - ERR_clear_error(); -@@ -477,10 +482,11 @@ cb_check_cert_remote(ok, ctx) - - if (!ok) { - X509_NAME_oneline( -- X509_get_subject_name(ctx->current_cert), -+ X509_get_subject_name(X509_STORE_CTX_get_current_cert(ctx)), - buf, - 256); -- switch (ctx->error) { -+ int ctx_error=X509_STORE_CTX_get_error(ctx); -+ switch (ctx_error) { - case X509_V_ERR_UNABLE_TO_GET_CRL: - ok = 1; - log_tag = LLV_WARNING; -@@ -490,9 +496,9 @@ cb_check_cert_remote(ok, ctx) - } - plog(log_tag, LOCATION, NULL, - "%s(%d) at depth:%d SubjectName:%s\n", -- X509_verify_cert_error_string(ctx->error), -- ctx->error, -- ctx->error_depth, -+ X509_verify_cert_error_string(ctx_error), -+ ctx_error, -+ X509_STORE_CTX_get_error_depth(ctx), - buf); - } - ERR_clear_error(); -@@ -516,14 +522,15 @@ eay_get_x509asn1subjectname(cert) - if (x509 == NULL) - goto error; - -+ X509_NAME *subject_name = X509_get_subject_name(x509); - /* get the length of the name */ -- len = i2d_X509_NAME(x509->cert_info->subject, NULL); -+ len = i2d_X509_NAME(subject_name, NULL); - name = vmalloc(len); - if (!name) - goto error; - /* get the name */ - bp = (unsigned char *) name->v; -- len = i2d_X509_NAME(x509->cert_info->subject, &bp); -+ len = i2d_X509_NAME(subject_name, &bp); - - X509_free(x509); - -@@ -661,15 +668,16 @@ eay_get_x509asn1issuername(cert) - if (x509 == NULL) - goto error; - -+ X509_NAME *issuer_name = X509_get_issuer_name(x509); - /* get the length of the name */ -- len = i2d_X509_NAME(x509->cert_info->issuer, NULL); -+ len = i2d_X509_NAME(issuer_name, NULL); - name = vmalloc(len); - if (name == NULL) - goto error; - - /* get the name */ - bp = (unsigned char *) name->v; -- len = i2d_X509_NAME(x509->cert_info->issuer, &bp); -+ len = i2d_X509_NAME(issuer_name, &bp); - - X509_free(x509); - -@@ -850,7 +858,7 @@ eay_check_x509sign(source, sig, cert) - return -1; - } - -- res = eay_rsa_verify(source, sig, evp->pkey.rsa); -+ res = eay_rsa_verify(source, sig, EVP_PKEY_get0_RSA(evp)); - - EVP_PKEY_free(evp); - X509_free(x509); -@@ -992,7 +1000,7 @@ eay_get_x509sign(src, privkey) - if (evp == NULL) - return NULL; - -- sig = eay_rsa_sign(src, evp->pkey.rsa); -+ sig = eay_rsa_sign(src, EVP_PKEY_get0_RSA(evp)); - - EVP_PKEY_free(evp); - -@@ -1079,7 +1087,11 @@ eay_strerror() - int line, flags; - unsigned long es; - -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ es = 0; /* even when allowed by OPENSSL_API_COMPAT, it is defined as 0 */ -+#else - es = CRYPTO_thread_id(); -+#endif - - while ((l = ERR_get_error_line_data(&file, &line, &data, &flags)) != 0){ - n = snprintf(ebuf + len, sizeof(ebuf) - len, -@@ -1100,7 +1112,7 @@ vchar_t * - evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc) - { - vchar_t *res; -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx; - - if (!e) - return NULL; -@@ -1111,7 +1123,7 @@ evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc - if ((res = vmalloc(data->l)) == NULL) - return NULL; - -- EVP_CIPHER_CTX_init(&ctx); -+ ctx = EVP_CIPHER_CTX_new(); - - switch(EVP_CIPHER_nid(e)){ - case NID_bf_cbc: -@@ -1125,54 +1137,41 @@ evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc - /* XXX: can we do that also for algos with a fixed key size ? - */ - /* init context without key/iv -- */ -- if (!EVP_CipherInit(&ctx, e, NULL, NULL, enc)) -- { -- OpenSSL_BUG(); -- vfree(res); -- return NULL; -- } -+ */ -+ if (!EVP_CipherInit(ctx, e, NULL, NULL, enc)) -+ goto out; - -- /* update key size -- */ -- if (!EVP_CIPHER_CTX_set_key_length(&ctx, key->l)) -- { -- OpenSSL_BUG(); -- vfree(res); -- return NULL; -- } -- -- /* finalize context init with desired key size -- */ -- if (!EVP_CipherInit(&ctx, NULL, (u_char *) key->v, -+ /* update key size -+ */ -+ if (!EVP_CIPHER_CTX_set_key_length(ctx, key->l)) -+ goto out; -+ -+ /* finalize context init with desired key size -+ */ -+ if (!EVP_CipherInit(ctx, NULL, (u_char *) key->v, - (u_char *) iv->v, enc)) -- { -- OpenSSL_BUG(); -- vfree(res); -- return NULL; -- } -+ goto out; - break; - default: -- if (!EVP_CipherInit(&ctx, e, (u_char *) key->v, -- (u_char *) iv->v, enc)) { -- OpenSSL_BUG(); -- vfree(res); -- return NULL; -- } -+ if (!EVP_CipherInit(ctx, e, (u_char *) key->v, -+ (u_char *) iv->v, enc)) -+ goto out; - } - - /* disable openssl padding */ -- EVP_CIPHER_CTX_set_padding(&ctx, 0); -+ EVP_CIPHER_CTX_set_padding(ctx, 0); - -- if (!EVP_Cipher(&ctx, (u_char *) res->v, (u_char *) data->v, data->l)) { -- OpenSSL_BUG(); -- vfree(res); -- return NULL; -- } -+ if (!EVP_Cipher(ctx, (u_char *) res->v, (u_char *) data->v, data->l)) -+ goto out; - -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - - return res; -+out: -+ EVP_CIPHER_CTX_free(ctx); -+ OpenSSL_BUG(); -+ vfree(res); -+ return NULL; - } - - int -@@ -1230,7 +1229,7 @@ eay_des_keylen(len) - return evp_keylen(len, EVP_des_cbc()); - } - --#ifdef HAVE_OPENSSL_IDEA_H -+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) - /* - * IDEA-CBC - */ -@@ -1587,7 +1586,7 @@ eay_aes_keylen(len) - return len; - } - --#if defined(HAVE_OPENSSL_CAMELLIA_H) -+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) - /* - * CAMELLIA-CBC - */ -@@ -1680,9 +1679,9 @@ eay_hmac_init(key, md) - vchar_t *key; - const EVP_MD *md; - { -- HMAC_CTX *c = racoon_malloc(sizeof(*c)); -+ HMAC_CTX *c = HMAC_CTX_new(); - -- HMAC_Init(c, key->v, key->l, md); -+ HMAC_Init_ex(c, key->v, key->l, md, NULL); - - return (caddr_t)c; - } -@@ -1761,8 +1760,7 @@ eay_hmacsha2_512_final(c) - - HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); - res->l = l; -- HMAC_cleanup((HMAC_CTX *)c); -- (void)racoon_free(c); -+ HMAC_CTX_free((HMAC_CTX *)c); - - if (SHA512_DIGEST_LENGTH != res->l) { - plog(LLV_ERROR, LOCATION, NULL, -@@ -1811,8 +1809,7 @@ eay_hmacsha2_384_final(c) - - HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); - res->l = l; -- HMAC_cleanup((HMAC_CTX *)c); -- (void)racoon_free(c); -+ HMAC_CTX_free((HMAC_CTX *)c); - - if (SHA384_DIGEST_LENGTH != res->l) { - plog(LLV_ERROR, LOCATION, NULL, -@@ -1861,8 +1858,7 @@ eay_hmacsha2_256_final(c) - - HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); - res->l = l; -- HMAC_cleanup((HMAC_CTX *)c); -- (void)racoon_free(c); -+ HMAC_CTX_free((HMAC_CTX *)c); - - if (SHA256_DIGEST_LENGTH != res->l) { - plog(LLV_ERROR, LOCATION, NULL, -@@ -1912,8 +1908,7 @@ eay_hmacsha1_final(c) - - HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); - res->l = l; -- HMAC_cleanup((HMAC_CTX *)c); -- (void)racoon_free(c); -+ HMAC_CTX_free((HMAC_CTX *)c); - - if (SHA_DIGEST_LENGTH != res->l) { - plog(LLV_ERROR, LOCATION, NULL, -@@ -1962,8 +1957,7 @@ eay_hmacmd5_final(c) - - HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); - res->l = l; -- HMAC_cleanup((HMAC_CTX *)c); -- (void)racoon_free(c); -+ HMAC_CTX_free((HMAC_CTX *)c); - - if (MD5_DIGEST_LENGTH != res->l) { - plog(LLV_ERROR, LOCATION, NULL, -@@ -2266,6 +2260,7 @@ eay_dh_generate(prime, g, publen, pub, priv) - u_int32_t g; - { - BIGNUM *p = NULL; -+ BIGNUM *BNg = NULL; - DH *dh = NULL; - int error = -1; - -@@ -2276,25 +2271,28 @@ eay_dh_generate(prime, g, publen, pub, priv) - - if ((dh = DH_new()) == NULL) - goto end; -- dh->p = p; -- p = NULL; /* p is now part of dh structure */ -- dh->g = NULL; -- if ((dh->g = BN_new()) == NULL) -+ if ((BNg = BN_new()) == NULL) - goto end; -- if (!BN_set_word(dh->g, g)) -+ if (!BN_set_word(BNg, g)) - goto end; -+ if (! DH_set0_pqg(dh, p, NULL, BNg)) -+ goto end; -+ BNg = NULL; -+ p = NULL; /* p is now part of dh structure */ - - if (publen != 0) -- dh->length = publen; -+ DH_set_length(dh, publen); - - /* generate public and private number */ - if (!DH_generate_key(dh)) - goto end; - - /* copy results to buffers */ -- if (eay_bn2v(pub, dh->pub_key) < 0) -+ BIGNUM *pub_key, *priv_key; -+ DH_get0_key(dh, (const BIGNUM**) &pub_key, (const BIGNUM**) &priv_key); -+ if (eay_bn2v(pub, pub_key) < 0) - goto end; -- if (eay_bn2v(priv, dh->priv_key) < 0) { -+ if (eay_bn2v(priv, priv_key) < 0) { - vfree(*pub); - goto end; - } -@@ -2306,6 +2304,8 @@ end: - DH_free(dh); - if (p != 0) - BN_free(p); -+ if (BNg != 0) -+ BN_free(BNg); - return(error); - } - -@@ -2319,6 +2319,10 @@ eay_dh_compute(prime, g, pub, priv, pub2, key) - int l; - unsigned char *v = NULL; - int error = -1; -+ BIGNUM *p = BN_new(); -+ BIGNUM *BNg = BN_new(); -+ BIGNUM *pub_key = BN_new(); -+ BIGNUM *priv_key = BN_new(); - - /* make public number to compute */ - if (eay_v2bn(&dh_pub, pub2) < 0) -@@ -2327,19 +2331,21 @@ eay_dh_compute(prime, g, pub, priv, pub2, key) - /* make DH structure */ - if ((dh = DH_new()) == NULL) - goto end; -- if (eay_v2bn(&dh->p, prime) < 0) -+ if (p == NULL || BNg == NULL || pub_key == NULL || priv_key == NULL) - goto end; -- if (eay_v2bn(&dh->pub_key, pub) < 0) -+ -+ if (eay_v2bn(&p, prime) < 0) - goto end; -- if (eay_v2bn(&dh->priv_key, priv) < 0) -+ if (eay_v2bn(&pub_key, pub) < 0) - goto end; -- dh->length = pub2->l * 8; -- -- dh->g = NULL; -- if ((dh->g = BN_new()) == NULL) -+ if (eay_v2bn(&priv_key, priv) < 0) - goto end; -- if (!BN_set_word(dh->g, g)) -+ if (!BN_set_word(BNg, g)) - goto end; -+ DH_set0_key(dh, pub_key, priv_key); -+ DH_set_length(dh, pub2->l * 8); -+ DH_set0_pqg(dh, p, NULL, BNg); -+ pub_key = priv_key = p = BNg = NULL; - - if ((v = racoon_calloc(prime->l, sizeof(u_char))) == NULL) - goto end; -@@ -2350,6 +2356,14 @@ eay_dh_compute(prime, g, pub, priv, pub2, key) - error = 0; - - end: -+ if (p != NULL) -+ BN_free(p); -+ if (BNg != NULL) -+ BN_free(BNg); -+ if (pub_key != NULL) -+ BN_free(pub_key); -+ if (priv_key != NULL) -+ BN_free(priv_key); - if (dh_pub != NULL) - BN_free(dh_pub); - if (dh != NULL) -@@ -2400,12 +2414,14 @@ eay_bn2v(var, bn) - void - eay_init() - { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - OpenSSL_add_all_algorithms(); - ERR_load_crypto_strings(); - #ifdef HAVE_OPENSSL_ENGINE_H - ENGINE_load_builtin_engines(); - ENGINE_register_all_complete(); - #endif -+#endif - } - - vchar_t * -@@ -2504,8 +2520,7 @@ binbuf_pubkey2rsa(vchar_t *binbuf) - goto out; - } - -- rsa_pub->n = mod; -- rsa_pub->e = exp; -+ RSA_set0_key(rsa_pub, mod, exp, NULL); - - out: - return rsa_pub; -@@ -2582,5 +2597,5 @@ eay_random() - const char * - eay_version() - { -- return SSLeay_version(SSLEAY_VERSION); -+ return OpenSSL_version(OPENSSL_VERSION); - } -diff --git a/src/racoon/crypto_openssl.h b/src/racoon/crypto_openssl.h -index 66fac73..ee5b765 100644 ---- a/src/racoon/crypto_openssl.h -+++ b/src/racoon/crypto_openssl.h -@@ -124,7 +124,7 @@ extern vchar_t *eay_aes_decrypt __P((vchar_t *, vchar_t *, vchar_t *)); - extern int eay_aes_weakkey __P((vchar_t *)); - extern int eay_aes_keylen __P((int)); - --#if defined(HAVE_OPENSSL_CAMELLIA_H) -+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) - /* Camellia */ - extern vchar_t *eay_camellia_encrypt __P((vchar_t *, vchar_t *, vchar_t *)); - extern vchar_t *eay_camellia_decrypt __P((vchar_t *, vchar_t *, vchar_t *)); -diff --git a/src/racoon/eaytest.c b/src/racoon/eaytest.c -index d609e4f..d2d20da 100644 ---- a/src/racoon/eaytest.c -+++ b/src/racoon/eaytest.c -@@ -62,6 +62,7 @@ - #include "dhgroup.h" - #include "crypto_openssl.h" - #include "gnuc.h" -+#include "openssl_compat.h" - - #include "package_version.h" - -@@ -103,7 +104,7 @@ rsa_verify_with_pubkey(src, sig, pubkey_txt) - printf ("PEM_read_PUBKEY(): %s\n", eay_strerror()); - return -1; - } -- error = eay_check_rsasign(src, sig, evp->pkey.rsa); -+ error = eay_check_rsasign(src, sig, EVP_PKEY_get0_RSA(evp)); - - return error; - } -@@ -698,7 +699,7 @@ ciphertest(ac, av) - eay_cast_encrypt, eay_cast_decrypt) < 0) - return -1; - --#ifdef HAVE_OPENSSL_IDEA_H -+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) - if (ciphertest_1 ("IDEA", - &data, 8, - &key, key.l, -@@ -715,7 +716,7 @@ ciphertest(ac, av) - eay_rc5_encrypt, eay_rc5_decrypt) < 0) - return -1; - #endif --#if defined(HAVE_OPENSSL_CAMELLIA_H) -+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) - if (ciphertest_1 ("CAMELLIA", - &data, 16, - &key, key.l, -diff --git a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c -index 08e4325..7b1604d 100644 ---- a/src/racoon/ipsec_doi.c -+++ b/src/racoon/ipsec_doi.c -@@ -715,7 +715,7 @@ out: - /* key length must not be specified on some algorithms */ - if (keylen) { - if (sa->enctype == OAKLEY_ATTR_ENC_ALG_DES --#ifdef HAVE_OPENSSL_IDEA_H -+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) - || sa->enctype == OAKLEY_ATTR_ENC_ALG_IDEA - #endif - || sa->enctype == OAKLEY_ATTR_ENC_ALG_3DES) { -diff --git a/src/racoon/openssl_compat.c b/src/racoon/openssl_compat.c -new file mode 100644 -index 0000000..864b5fb ---- /dev/null -+++ b/src/racoon/openssl_compat.c -@@ -0,0 +1,213 @@ -+/* -+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. -+ * -+ * Licensed under the OpenSSL license (the "License"). You may not use -+ * this file except in compliance with the License. You can obtain a copy -+ * in the file LICENSE in the source distribution or at -+ * https://www.openssl.org/source/license.html -+ */ -+ -+#include "openssl_compat.h" -+ -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ -+#include -+ -+static void *OPENSSL_zalloc(size_t num) -+{ -+ void *ret = OPENSSL_malloc(num); -+ -+ if (ret != NULL) -+ memset(ret, 0, num); -+ return ret; -+} -+ -+int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) -+{ -+ /* If the fields n and e in r are NULL, the corresponding input -+ * parameters MUST be non-NULL for n and e. d may be -+ * left NULL (in case only the public key is used). -+ */ -+ if ((r->n == NULL && n == NULL) -+ || (r->e == NULL && e == NULL)) -+ return 0; -+ -+ if (n != NULL) { -+ BN_free(r->n); -+ r->n = n; -+ } -+ if (e != NULL) { -+ BN_free(r->e); -+ r->e = e; -+ } -+ if (d != NULL) { -+ BN_free(r->d); -+ r->d = d; -+ } -+ -+ return 1; -+} -+ -+int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) -+{ -+ /* If the fields p and q in r are NULL, the corresponding input -+ * parameters MUST be non-NULL. -+ */ -+ if ((r->p == NULL && p == NULL) -+ || (r->q == NULL && q == NULL)) -+ return 0; -+ -+ if (p != NULL) { -+ BN_free(r->p); -+ r->p = p; -+ } -+ if (q != NULL) { -+ BN_free(r->q); -+ r->q = q; -+ } -+ -+ return 1; -+} -+ -+int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) -+{ -+ /* If the fields dmp1, dmq1 and iqmp in r are NULL, the corresponding input -+ * parameters MUST be non-NULL. -+ */ -+ if ((r->dmp1 == NULL && dmp1 == NULL) -+ || (r->dmq1 == NULL && dmq1 == NULL) -+ || (r->iqmp == NULL && iqmp == NULL)) -+ return 0; -+ -+ if (dmp1 != NULL) { -+ BN_free(r->dmp1); -+ r->dmp1 = dmp1; -+ } -+ if (dmq1 != NULL) { -+ BN_free(r->dmq1); -+ r->dmq1 = dmq1; -+ } -+ if (iqmp != NULL) { -+ BN_free(r->iqmp); -+ r->iqmp = iqmp; -+ } -+ -+ return 1; -+} -+ -+void RSA_get0_key(const RSA *r, -+ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) -+{ -+ if (n != NULL) -+ *n = r->n; -+ if (e != NULL) -+ *e = r->e; -+ if (d != NULL) -+ *d = r->d; -+} -+ -+void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) -+{ -+ if (p != NULL) -+ *p = r->p; -+ if (q != NULL) -+ *q = r->q; -+} -+ -+void RSA_get0_crt_params(const RSA *r, -+ const BIGNUM **dmp1, const BIGNUM **dmq1, -+ const BIGNUM **iqmp) -+{ -+ if (dmp1 != NULL) -+ *dmp1 = r->dmp1; -+ if (dmq1 != NULL) -+ *dmq1 = r->dmq1; -+ if (iqmp != NULL) -+ *iqmp = r->iqmp; -+} -+ -+int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) -+{ -+ /* If the fields p and g in d are NULL, the corresponding input -+ * parameters MUST be non-NULL. q may remain NULL. -+ */ -+ if ((dh->p == NULL && p == NULL) -+ || (dh->g == NULL && g == NULL)) -+ return 0; -+ -+ if (p != NULL) { -+ BN_free(dh->p); -+ dh->p = p; -+ } -+ if (q != NULL) { -+ BN_free(dh->q); -+ dh->q = q; -+ } -+ if (g != NULL) { -+ BN_free(dh->g); -+ dh->g = g; -+ } -+ -+ if (q != NULL) { -+ dh->length = BN_num_bits(q); -+ } -+ -+ return 1; -+} -+ -+void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) -+{ -+ if (pub_key != NULL) -+ *pub_key = dh->pub_key; -+ if (priv_key != NULL) -+ *priv_key = dh->priv_key; -+} -+ -+int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) -+{ -+ /* If the field pub_key in dh is NULL, the corresponding input -+ * parameters MUST be non-NULL. The priv_key field may -+ * be left NULL. -+ */ -+ if (dh->pub_key == NULL && pub_key == NULL) -+ return 0; -+ -+ if (pub_key != NULL) { -+ BN_free(dh->pub_key); -+ dh->pub_key = pub_key; -+ } -+ if (priv_key != NULL) { -+ BN_free(dh->priv_key); -+ dh->priv_key = priv_key; -+ } -+ -+ return 1; -+} -+ -+int DH_set_length(DH *dh, long length) -+{ -+ dh->length = length; -+ return 1; -+} -+ -+HMAC_CTX *HMAC_CTX_new(void) -+{ -+ return OPENSSL_zalloc(sizeof(HMAC_CTX)); -+} -+ -+void HMAC_CTX_free(HMAC_CTX *ctx) -+{ -+ HMAC_CTX_cleanup(ctx); -+ OPENSSL_free(ctx); -+} -+ -+RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey) -+{ -+ if (pkey->type != EVP_PKEY_RSA) { -+ return NULL; -+ } -+ return pkey->pkey.rsa; -+} -+ -+ -+#endif /* OPENSSL_VERSION_NUMBER */ -diff --git a/src/racoon/openssl_compat.h b/src/racoon/openssl_compat.h -new file mode 100644 -index 0000000..9e152c2 ---- /dev/null -+++ b/src/racoon/openssl_compat.h -@@ -0,0 +1,45 @@ -+#ifndef OPENSSL_COMPAT_H -+#define OPENSSL_COMPAT_H -+ -+#include -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ -+#include -+#include -+#include -+#include -+ -+int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d); -+int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q); -+int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp); -+void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d); -+void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q); -+void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp); -+ -+int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); -+void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key); -+int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key); -+int DH_set_length(DH *dh, long length); -+ -+HMAC_CTX *HMAC_CTX_new(void); -+void HMAC_CTX_free(HMAC_CTX* ctx); -+ -+RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); -+ -+#define ASN1_STRING_length(s) s->length -+#define ASN1_STRING_get0_data(s) s->data -+ -+#define X509_get_subject_name(x) x->cert_info->subject -+#define X509_get_issuer_name(x) x->cert_info->issuer -+#define X509_NAME_ENTRY_get_data(n) n->value -+#define X509_NAME_ENTRY_get_object(n) n->object -+#define X509_STORE_CTX_get_current_cert(ctx) ctx->current_cert -+#define X509_STORE_CTX_get_error(ctx) ctx->error -+#define X509_STORE_CTX_get_error_depth(ctx) ctx->error_depth -+ -+#define OPENSSL_VERSION SSLEAY_VERSION -+#define OpenSSL_version SSLeay_version -+ -+#endif /* OPENSSL_VERSION_NUMBER */ -+ -+#endif /* OPENSSL_COMPAT_H */ -diff --git a/src/racoon/plainrsa-gen.c b/src/racoon/plainrsa-gen.c -index cad1861..b949b08 100644 ---- a/src/racoon/plainrsa-gen.c -+++ b/src/racoon/plainrsa-gen.c -@@ -60,6 +60,7 @@ - #include "vmbuf.h" - #include "plog.h" - #include "crypto_openssl.h" -+#include "openssl_compat.h" - - #include "package_version.h" - -@@ -90,12 +91,14 @@ mix_b64_pubkey(const RSA *key) - char *binbuf; - long binlen, ret; - vchar_t *res; -- -- binlen = 1 + BN_num_bytes(key->e) + BN_num_bytes(key->n); -+ const BIGNUM *e, *n; -+ -+ RSA_get0_key(key, &n, &e, NULL); -+ binlen = 1 + BN_num_bytes(e) + BN_num_bytes(n); - binbuf = malloc(binlen); - memset(binbuf, 0, binlen); -- binbuf[0] = BN_bn2bin(key->e, (unsigned char *) &binbuf[1]); -- ret = BN_bn2bin(key->n, (unsigned char *) (&binbuf[binbuf[0] + 1])); -+ binbuf[0] = BN_bn2bin(e, (unsigned char *) &binbuf[1]); -+ ret = BN_bn2bin(n, (unsigned char *) (&binbuf[binbuf[0] + 1])); - if (1 + binbuf[0] + ret != binlen) { - plog(LLV_ERROR, LOCATION, NULL, - "Pubkey generation failed. This is really strange...\n"); -@@ -131,16 +134,20 @@ print_rsa_key(FILE *fp, const RSA *key) - - fprintf(fp, "# : PUB 0s%s\n", pubkey64->v); - fprintf(fp, ": RSA\t{\n"); -- fprintf(fp, "\t# RSA %d bits\n", BN_num_bits(key->n)); -+ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; -+ RSA_get0_key(key, &n, &e, &d); -+ RSA_get0_factors(key, &p, &q); -+ RSA_get0_crt_params(key, &dmp1, &dmq1, &iqmp); -+ fprintf(fp, "\t# RSA %d bits\n", BN_num_bits(n)); - fprintf(fp, "\t# pubkey=0s%s\n", pubkey64->v); -- fprintf(fp, "\tModulus: 0x%s\n", lowercase(BN_bn2hex(key->n))); -- fprintf(fp, "\tPublicExponent: 0x%s\n", lowercase(BN_bn2hex(key->e))); -- fprintf(fp, "\tPrivateExponent: 0x%s\n", lowercase(BN_bn2hex(key->d))); -- fprintf(fp, "\tPrime1: 0x%s\n", lowercase(BN_bn2hex(key->p))); -- fprintf(fp, "\tPrime2: 0x%s\n", lowercase(BN_bn2hex(key->q))); -- fprintf(fp, "\tExponent1: 0x%s\n", lowercase(BN_bn2hex(key->dmp1))); -- fprintf(fp, "\tExponent2: 0x%s\n", lowercase(BN_bn2hex(key->dmq1))); -- fprintf(fp, "\tCoefficient: 0x%s\n", lowercase(BN_bn2hex(key->iqmp))); -+ fprintf(fp, "\tModulus: 0x%s\n", lowercase(BN_bn2hex(n))); -+ fprintf(fp, "\tPublicExponent: 0x%s\n", lowercase(BN_bn2hex(e))); -+ fprintf(fp, "\tPrivateExponent: 0x%s\n", lowercase(BN_bn2hex(d))); -+ fprintf(fp, "\tPrime1: 0x%s\n", lowercase(BN_bn2hex(p))); -+ fprintf(fp, "\tPrime2: 0x%s\n", lowercase(BN_bn2hex(q))); -+ fprintf(fp, "\tExponent1: 0x%s\n", lowercase(BN_bn2hex(dmp1))); -+ fprintf(fp, "\tExponent2: 0x%s\n", lowercase(BN_bn2hex(dmq1))); -+ fprintf(fp, "\tCoefficient: 0x%s\n", lowercase(BN_bn2hex(iqmp))); - fprintf(fp, " }\n"); - - vfree(pubkey64); -@@ -203,11 +210,13 @@ int - gen_rsa_key(FILE *fp, size_t bits, unsigned long exp) - { - int ret; -- RSA *key; -+ RSA *key = RSA_new(); -+ BIGNUM *e = BN_new(); - -- key = RSA_generate_key(bits, exp, NULL, NULL); -- if (!key) { -+ BN_set_word(e, exp); -+ if (! RSA_generate_key_ex(key, bits, e, NULL)) { - fprintf(stderr, "RSA_generate_key(): %s\n", eay_strerror()); -+ RSA_free(key); - return -1; - } - -diff --git a/src/racoon/prsa_par.y b/src/racoon/prsa_par.y -index 1987e4d..27ce4c6 100644 ---- a/src/racoon/prsa_par.y -+++ b/src/racoon/prsa_par.y -@@ -68,6 +68,7 @@ - #include "isakmp_var.h" - #include "handler.h" - #include "crypto_openssl.h" -+#include "openssl_compat.h" - #include "sockmisc.h" - #include "rsalist.h" - -@@ -85,7 +86,18 @@ char *prsa_cur_fname = NULL; - struct genlist *prsa_cur_list = NULL; - enum rsa_key_type prsa_cur_type = RSA_TYPE_ANY; - --static RSA *rsa_cur; -+struct my_rsa_st { -+ BIGNUM *n; -+ BIGNUM *e; -+ BIGNUM *d; -+ BIGNUM *p; -+ BIGNUM *q; -+ BIGNUM *dmp1; -+ BIGNUM *dmq1; -+ BIGNUM *iqmp; -+}; -+ -+static struct my_rsa_st *rsa_cur; - - void - prsaerror(const char *s, ...) -@@ -201,8 +213,12 @@ rsa_statement: - rsa_cur->iqmp = NULL; - } - } -- $$ = rsa_cur; -- rsa_cur = RSA_new(); -+ RSA * rsa_tmp = RSA_new(); -+ RSA_set0_key(rsa_tmp, rsa_cur->n, rsa_cur->e, rsa_cur->d); -+ RSA_set0_factors(rsa_tmp, rsa_cur->p, rsa_cur->q); -+ RSA_set0_crt_params(rsa_tmp, rsa_cur->dmp1, rsa_cur->dmq1, rsa_cur->iqmp); -+ $$ = rsa_tmp; -+ memset(rsa_cur, 0, sizeof(struct my_rsa_st)); - } - | TAG_PUB BASE64 - { -@@ -351,10 +367,12 @@ prsa_parse_file(struct genlist *list, char *fname, enum rsa_key_type type) - prsa_cur_fname = fname; - prsa_cur_list = list; - prsa_cur_type = type; -- rsa_cur = RSA_new(); -+ rsa_cur = malloc(sizeof(struct my_rsa_st)); -+ memset(rsa_cur, 0, sizeof(struct my_rsa_st)); - ret = prsaparse(); - if (rsa_cur) { -- RSA_free(rsa_cur); -+ memset(rsa_cur, 0, sizeof(struct my_rsa_st)); -+ free(rsa_cur); - rsa_cur = NULL; - } - fclose (fp); -diff --git a/src/racoon/rsalist.c b/src/racoon/rsalist.c -index f152c82..96e8363 100644 ---- a/src/racoon/rsalist.c -+++ b/src/racoon/rsalist.c -@@ -52,6 +52,7 @@ - #include "genlist.h" - #include "remoteconf.h" - #include "crypto_openssl.h" -+#include "openssl_compat.h" - - #ifndef LIST_FIRST - #define LIST_FIRST(head) ((head)->lh_first) -@@ -98,7 +99,9 @@ rsa_key_dup(struct rsa_key *key) - return NULL; - - if (key->rsa) { -- new->rsa = key->rsa->d != NULL ? RSAPrivateKey_dup(key->rsa) : RSAPublicKey_dup(key->rsa); -+ const BIGNUM *d; -+ RSA_get0_key(key->rsa, NULL, NULL, &d); -+ new->rsa = (d != NULL ? RSAPrivateKey_dup(key->rsa) : RSAPublicKey_dup(key->rsa)); - if (new->rsa == NULL) - goto dup_error; - } --- -2.7.4 - diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch deleted file mode 100644 index d5602c03d..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 738a9857be9c92ad2f70be88ccee238e3154a936 Mon Sep 17 00:00:00 2001 -From: Joe MacDonald -Date: Wed, 2 Oct 2013 14:20:37 -0400 -Subject: [PATCH] racoon/pfkey: avoid potential null-pointer dereference - -Building with -Werror=maybe-uninitialized revealed that 'remote' from -pk_recvmigrate() could be used with uninitialized data in -migrate_sp_ike_addresses(). Ensure it is always at a minimum assigned -NULL. - -Upstream-Status: Pending - -Signed-off-by: Joe MacDonald ---- - src/racoon/pfkey.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/racoon/pfkey.c b/src/racoon/pfkey.c -index d00b166..e0dc1db 100644 ---- a/src/racoon/pfkey.c -+++ b/src/racoon/pfkey.c -@@ -3352,7 +3352,7 @@ pk_recvmigrate(mhp) - struct sockaddr *old_saddr, *new_saddr; - struct sockaddr *old_daddr, *new_daddr; - struct sockaddr *old_local, *old_remote; -- struct sockaddr *local, *remote; -+ struct sockaddr *local, *remote = NULL; - struct sadb_x_kmaddress *kmaddr; - struct sadb_x_policy *xpl; - struct sadb_x_ipsecrequest *xisr_list; --- -1.7.9.5 - diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch deleted file mode 100644 index 13e9d73fc..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch +++ /dev/null @@ -1,87 +0,0 @@ -From e48b9097dce7bc2bfbb9e9c542124d3b5cebab39 Mon Sep 17 00:00:00 2001 -From: Paul Barker -Date: Wed, 5 Mar 2014 13:39:14 +0000 -Subject: [PATCH] Don't link against libfl - -We can remove all references to yywrap by adding "%option noyywrap" statements -to each flex source file that doesn't override yywrap. After this, we no longer -need to link against libfl and so no longer get errors about undefined -references to yylex. - -Signed-off-by: Paul Barker -Upstream-status: Submitted 2014-03-11 - see http://sourceforge.net/p/ipsec-tools/mailman/ipsec-tools-devel/thread/CANyK_8ewmxGA3vBVJW6s1APXPmxPR%2BDFWZ61EL8pCt288aKQ6w%40mail.gmail.com/#msg32088797 ---- - src/libipsec/Makefile.am | 1 - - src/racoon/Makefile.am | 2 +- - src/racoon/cftoken.l | 2 ++ - src/setkey/Makefile.am | 1 - - src/setkey/token.l | 2 ++ - 5 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/libipsec/Makefile.am b/src/libipsec/Makefile.am -index 6a4e3b3..df1e106 100644 ---- a/src/libipsec/Makefile.am -+++ b/src/libipsec/Makefile.am -@@ -26,7 +26,6 @@ libipsec_la_SOURCES = \ - # version is current:revision:age. - # See: http://www.gnu.org/manual/libtool-1.4.2/html_chapter/libtool_6.html#SEC32 - libipsec_la_LDFLAGS = -version-info 0:1:0 --libipsec_la_LIBADD = $(LEXLIB) - - noinst_HEADERS = ipsec_strerror.h - -diff --git a/src/racoon/Makefile.am b/src/racoon/Makefile.am -index dbaded9..0662957 100644 ---- a/src/racoon/Makefile.am -+++ b/src/racoon/Makefile.am -@@ -38,7 +38,7 @@ racoon_SOURCES = \ - cftoken.l cfparse.y prsa_tok.l prsa_par.y - EXTRA_racoon_SOURCES = isakmp_xauth.c isakmp_cfg.c isakmp_unity.c throttle.c \ - isakmp_frag.c nattraversal.c security.c $(MISSING_ALGOS) --racoon_LDADD = $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) $(LEXLIB) \ -+racoon_LDADD = $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) \ - $(SECCTX_OBJS) vmbuf.o sockmisc.o misc.o ../libipsec/libipsec.la - racoon_DEPENDENCIES = \ - $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) $(SECCTX_OBJS) \ -diff --git a/src/racoon/cftoken.l b/src/racoon/cftoken.l -index 490242c..1701922 100644 ---- a/src/racoon/cftoken.l -+++ b/src/racoon/cftoken.l -@@ -106,6 +106,8 @@ static int incstackp = 0; - static int yy_first_time = 1; - %} - -+%option noyywrap -+ - /* common seciton */ - nl \n - ws [ \t]+ -diff --git a/src/setkey/Makefile.am b/src/setkey/Makefile.am -index 746c1f1..389e6cf 100644 ---- a/src/setkey/Makefile.am -+++ b/src/setkey/Makefile.am -@@ -13,7 +13,6 @@ setkey_SOURCES = \ - - setkey_LDFLAGS = ../libipsec/libipsec.la - setkey_DEPENDENCIES = ../libipsec/libipsec.la --setkey_LDADD = $(LEXLIB) - - noinst_HEADERS = vchar.h extern.h - man8_MANS = setkey.8 -diff --git a/src/setkey/token.l b/src/setkey/token.l -index ad3d843..eb23b76 100644 ---- a/src/setkey/token.l -+++ b/src/setkey/token.l -@@ -88,6 +88,8 @@ - #endif - %} - -+%option noyywrap -+ - /* common section */ - nl \n - ws [ \t]+ --- -1.9.0 - diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch deleted file mode 100644 index e9dd84aaa..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a5c59f6a1479947d33dba5191724cc5fc88a614b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 22 Apr 2017 10:39:57 -0700 -Subject: [PATCH 2/2] cfparse: clear memory equal to size of array - -Fixes compiler error -cfparse.y: In function 'set_isakmp_proposal': -cfparse.y:2567:3: error: 'memset' used with length equal to number of elements without multiplication by element size [-Werror=memset-elt-size] - -Signed-off-by: Khem Raj ---- - src/racoon/cfparse.y | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/racoon/cfparse.y b/src/racoon/cfparse.y -index 0d9bd67..5d9c67b 100644 ---- a/src/racoon/cfparse.y -+++ b/src/racoon/cfparse.y -@@ -2564,7 +2564,7 @@ set_isakmp_proposal(rmconf) - plog(LLV_DEBUG2, LOCATION, NULL, - "encklen=%d\n", s->encklen); - -- memset(types, 0, ARRAYLEN(types)); -+ memset(types, 0, sizeof(types)); - types[algclass_isakmp_enc] = s->algclass[algclass_isakmp_enc]; - types[algclass_isakmp_hash] = s->algclass[algclass_isakmp_hash]; - types[algclass_isakmp_dh] = s->algclass[algclass_isakmp_dh]; --- -2.12.2 - diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch deleted file mode 100644 index 8d270a62b..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: ipsec-tools-0.8.1/configure.ac -=================================================================== ---- ipsec-tools-0.8.1.orig/configure.ac 2013-01-08 12:43:29.000000000 +0000 -+++ ipsec-tools-0.8.1/configure.ac 2014-07-18 07:51:30.045555880 +0000 -@@ -6,7 +6,7 @@ - AC_CONFIG_SRCDIR([configure.ac]) - AC_CONFIG_HEADERS(config.h) - --AM_INIT_AUTOMAKE(dist-bzip2) -+AM_INIT_AUTOMAKE([foreign dist-bzip2]) - - AC_ENABLE_SHARED(no) - diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch deleted file mode 100644 index 7e033af5e..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch +++ /dev/null @@ -1,38 +0,0 @@ -[PATCH] fix CVE-2015-4047 - -Upstream-Status: Backport - -CVE: CVE-2015-4047 - -http://www.openwall.com/lists/oss-security/2015/05/20/1 - -racoon/gssapi.c in IPsec-Tools 0.8.2 allows remote attackers to cause -a denial of service (NULL pointer dereference and IKE daemon crash) via -a series of crafted UDP requests. - -https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-4047 - -Signed-off-by: Roy Li ---- - src/racoon/gssapi.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/racoon/gssapi.c b/src/racoon/gssapi.c -index e64b201..1ad3b42 100644 ---- a/src/racoon/gssapi.c -+++ b/src/racoon/gssapi.c -@@ -192,6 +192,11 @@ gssapi_init(struct ph1handle *iph1) - gss_name_t princ, canon_princ; - OM_uint32 maj_stat, min_stat; - -+ if (iph1->rmconf == NULL) { -+ plog(LLV_ERROR, LOCATION, NULL, "no remote config\n"); -+ return -1; -+ } -+ - gps = racoon_calloc(1, sizeof (struct gssapi_ph1_state)); - if (gps == NULL) { - plog(LLV_ERROR, LOCATION, NULL, "racoon_calloc failed\n"); --- -1.9.1 - diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch deleted file mode 100644 index fec4804c0..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch +++ /dev/null @@ -1,207 +0,0 @@ -Upstream-Status: Backport [https://anonscm.debian.org/cgit/pkg-ipsec-tools/pkg-ipsec-tools.git/plain/debian/patches/CVE-2016-10396.patch?id=62ac12648a4eb7c5ba5dba0f81998d1acf310d8b] - -CVE: CVE-2016-10396 - -Signed-off-by: Kai Kang ---- -Description: Fix remotely exploitable DoS. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10396 -Source: vendor; https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=51682 -Bug-debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867986 - -Index: pkg-ipsec-tools/src/racoon/isakmp_frag.c -=================================================================== ---- pkg-ipsec-tools.orig/src/racoon/isakmp_frag.c -+++ pkg-ipsec-tools/src/racoon/isakmp_frag.c -@@ -1,4 +1,4 @@ --/* $NetBSD: isakmp_frag.c,v 1.5 2009/04/22 11:24:20 tteras Exp $ */ -+/* $NetBSD: isakmp_frag.c,v 1.5.36.1 2017/04/21 16:50:42 bouyer Exp $ */ - - /* Id: isakmp_frag.c,v 1.4 2004/11/13 17:31:36 manubsd Exp */ - -@@ -173,6 +173,43 @@ vendorid_frag_cap(gen) - return ntohl(hp[MD5_DIGEST_LENGTH / sizeof(*hp)]); - } - -+static int -+isakmp_frag_insert(struct ph1handle *iph1, struct isakmp_frag_item *item) -+{ -+ struct isakmp_frag_item *pitem = NULL; -+ struct isakmp_frag_item *citem = iph1->frag_chain; -+ -+ /* no frag yet, just insert at beginning of list */ -+ if (iph1->frag_chain == NULL) { -+ iph1->frag_chain = item; -+ return 0; -+ } -+ -+ do { -+ /* duplicate fragment number, abort (CVE-2016-10396) */ -+ if (citem->frag_num == item->frag_num) -+ return -1; -+ -+ /* need to insert before current item */ -+ if (citem->frag_num > item->frag_num) { -+ if (pitem != NULL) -+ pitem->frag_next = item; -+ else -+ /* insert at the beginning of the list */ -+ iph1->frag_chain = item; -+ item->frag_next = citem; -+ return 0; -+ } -+ -+ pitem = citem; -+ citem = citem->frag_next; -+ } while (citem != NULL); -+ -+ /* we reached the end of the list, insert */ -+ pitem->frag_next = item; -+ return 0; -+} -+ - int - isakmp_frag_extract(iph1, msg) - struct ph1handle *iph1; -@@ -224,39 +261,43 @@ isakmp_frag_extract(iph1, msg) - item->frag_next = NULL; - item->frag_packet = buf; - -- /* Look for the last frag while inserting the new item in the chain */ -- if (item->frag_last) -- last_frag = item->frag_num; -+ /* Check for the last frag before inserting the new item in the chain */ -+ if (item->frag_last) { -+ /* if we have the last fragment, indices must match */ -+ if (iph1->frag_last_index != 0 && -+ item->frag_last != iph1->frag_last_index) { -+ plog(LLV_ERROR, LOCATION, NULL, -+ "Repeated last fragment index mismatch\n"); -+ racoon_free(item); -+ vfree(buf); -+ return -1; -+ } - -- if (iph1->frag_chain == NULL) { -- iph1->frag_chain = item; -- } else { -- struct isakmp_frag_item *current; -+ last_frag = iph1->frag_last_index = item->frag_num; -+ } - -- current = iph1->frag_chain; -- while (current->frag_next) { -- if (current->frag_last) -- last_frag = item->frag_num; -- current = current->frag_next; -- } -- current->frag_next = item; -+ /* insert fragment into chain */ -+ if (isakmp_frag_insert(iph1, item) == -1) { -+ plog(LLV_ERROR, LOCATION, NULL, -+ "Repeated fragment index mismatch\n"); -+ racoon_free(item); -+ vfree(buf); -+ return -1; - } - -- /* If we saw the last frag, check if the chain is complete */ -+ /* If we saw the last frag, check if the chain is complete -+ * we have a sorted list now, so just walk through */ - if (last_frag != 0) { -+ item = iph1->frag_chain; - for (i = 1; i <= last_frag; i++) { -- item = iph1->frag_chain; -- do { -- if (item->frag_num == i) -- break; -- item = item->frag_next; -- } while (item != NULL); -- -+ if (item->frag_num != i) -+ break; -+ item = item->frag_next; - if (item == NULL) /* Not found */ - break; - } - -- if (item != NULL) /* It is complete */ -+ if (i > last_frag) /* It is complete */ - return 1; - } - -@@ -291,15 +332,9 @@ isakmp_frag_reassembly(iph1) - } - data = buf->v; - -+ item = iph1->frag_chain; - for (i = 1; i <= frag_count; i++) { -- item = iph1->frag_chain; -- do { -- if (item->frag_num == i) -- break; -- item = item->frag_next; -- } while (item != NULL); -- -- if (item == NULL) { -+ if (item->frag_num != i) { - plog(LLV_ERROR, LOCATION, NULL, - "Missing fragment #%d\n", i); - vfree(buf); -@@ -308,6 +343,7 @@ isakmp_frag_reassembly(iph1) - } - memcpy(data, item->frag_packet->v, item->frag_packet->l); - data += item->frag_packet->l; -+ item = item->frag_next; - } - - out: -Index: pkg-ipsec-tools/src/racoon/isakmp_inf.c -=================================================================== ---- pkg-ipsec-tools.orig/src/racoon/isakmp_inf.c -+++ pkg-ipsec-tools/src/racoon/isakmp_inf.c -@@ -720,6 +720,7 @@ isakmp_info_send_nx(isakmp, remote, loca - #endif - #ifdef ENABLE_FRAG - iph1->frag = 0; -+ iph1->frag_last_index = 0; - iph1->frag_chain = NULL; - #endif - -Index: pkg-ipsec-tools/src/racoon/isakmp.c -=================================================================== ---- pkg-ipsec-tools.orig/src/racoon/isakmp.c -+++ pkg-ipsec-tools/src/racoon/isakmp.c -@@ -1072,6 +1072,7 @@ isakmp_ph1begin_i(rmconf, remote, local) - iph1->frag = 1; - else - iph1->frag = 0; -+ iph1->frag_last_index = 0; - iph1->frag_chain = NULL; - #endif - iph1->approval = NULL; -@@ -1176,6 +1177,7 @@ isakmp_ph1begin_r(msg, remote, local, et - #endif - #ifdef ENABLE_FRAG - iph1->frag = 0; -+ iph1->frag_last_index = 0; - iph1->frag_chain = NULL; - #endif - iph1->approval = NULL; -Index: pkg-ipsec-tools/src/racoon/handler.h -=================================================================== ---- pkg-ipsec-tools.orig/src/racoon/handler.h -+++ pkg-ipsec-tools/src/racoon/handler.h -@@ -1,4 +1,4 @@ --/* $NetBSD: handler.h,v 1.25 2010/11/17 10:40:41 tteras Exp $ */ -+/* $NetBSD: handler.h,v 1.26 2017/01/24 19:23:56 christos Exp $ */ - - /* Id: handler.h,v 1.19 2006/02/25 08:25:12 manubsd Exp */ - -@@ -141,6 +141,7 @@ struct ph1handle { - #endif - #ifdef ENABLE_FRAG - int frag; /* IKE phase 1 fragmentation */ -+ int frag_last_index; - struct isakmp_frag_item *frag_chain; /* Received fragments */ - #endif - diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch deleted file mode 100644 index 36efc4917..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch +++ /dev/null @@ -1,23 +0,0 @@ -squahes below warning - warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" - -Seen with glibc 2.20 - -Signed-off-by: Khem Raj -Upstream-Status: Pending -Index: ipsec-tools-0.8.2/src/include-glibc/glibc-bugs.h -=================================================================== ---- ipsec-tools-0.8.2.orig/src/include-glibc/glibc-bugs.h 2006-09-09 09:22:08.000000000 -0700 -+++ ipsec-tools-0.8.2/src/include-glibc/glibc-bugs.h 2014-09-03 22:27:22.551563888 -0700 -@@ -4,7 +4,11 @@ - #define __GLIBC_BUGS_H__ 1 - - #define _XOPEN_SOURCE 500 -+/* Legacy feature macro.*/ - #define _BSD_SOURCE -+/* New feature macro that provides everything _BSD_SOURCE and -+ * _SVID_SOURCE provided and possibly more. */ -+#define _DEFAULT_SOURCE - - #include - #include diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch deleted file mode 100644 index e82db087c..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch +++ /dev/null @@ -1,220 +0,0 @@ -racoon: Resend UPDATE message when received EINTR message - -Upstream-Status: Pending - -While kernel is processing the UPDATE message which is sent from racoon, -it maybe interrupted by system signal and if this case happens, -kernel responds with an EINTR message to racoon and kernel fails to -establish the corresponding SA. -Fix this problem by resend the UPDATE message when EINTR(Interrupted -system call) error happens. - -Signed-off-by: Xufeng Zhang ---- ---- a/src/libipsec/libpfkey.h -+++ b/src/libipsec/libpfkey.h -@@ -92,6 +92,12 @@ - u_int16_t ctxstrlen; /* length of security context string */ - }; - -+struct update_msg_info { -+ struct sadb_msg *update_msg; -+ int so; -+ int len; -+}; -+ - /* The options built into libipsec */ - extern int libipsec_opt; - #define LIBIPSEC_OPT_NATT 0x01 ---- a/src/libipsec/pfkey.c -+++ b/src/libipsec/pfkey.c -@@ -1219,7 +1219,8 @@ - } - #endif - -- -+struct update_msg_info update_msg_send = {NULL, 0, 0}; -+ - /* sending SADB_ADD or SADB_UPDATE message to the kernel */ - static int - pfkey_send_x1(struct pfkey_send_sa_args *sa_parms) -@@ -1483,10 +1484,24 @@ - - /* send message */ - len = pfkey_send(sa_parms->so, newmsg, len); -- free(newmsg); - -- if (len < 0) -- return -1; -+ if (newmsg->sadb_msg_type == SADB_UPDATE) { -+ if (update_msg_send.update_msg) -+ free(update_msg_send.update_msg); -+ update_msg_send.update_msg = newmsg; -+ update_msg_send.so = sa_parms->so; -+ update_msg_send.len = len; -+ -+ if (len < 0) { -+ free(update_msg_send.update_msg); -+ update_msg_send.update_msg = NULL; -+ return -1; -+ } -+ } else { -+ free(newmsg); -+ if (len < 0) -+ return -1; -+ } - - __ipsec_errcode = EIPSEC_NO_ERROR; - return len; ---- a/src/racoon/session.c -+++ b/src/racoon/session.c -@@ -100,6 +100,8 @@ - - #include "sainfo.h" - -+extern struct update_msg_info update_msg_send; -+ - struct fd_monitor { - int (*callback)(void *ctx, int fd); - void *ctx; -@@ -348,6 +350,11 @@ - close_sockets(); - backupsa_clean(); - -+ if (update_msg_send.update_msg) { -+ free(update_msg_send.update_msg); -+ update_msg_send.update_msg = NULL; -+ } -+ - plog(LLV_INFO, LOCATION, NULL, "racoon process %d shutdown\n", getpid()); - - exit(0); ---- a/src/racoon/pfkey.c -+++ b/src/racoon/pfkey.c -@@ -103,10 +103,12 @@ - #include "crypto_openssl.h" - #include "grabmyaddr.h" -+#include "../libipsec/libpfkey.h" - - #if defined(SADB_X_EALG_RIJNDAELCBC) && !defined(SADB_X_EALG_AESCBC) - #define SADB_X_EALG_AESCBC SADB_X_EALG_RIJNDAELCBC - #endif - -+extern struct update_msg_info update_msg_send; - /* prototype */ - static u_int ipsecdoi2pfkey_aalg __P((u_int)); - static u_int ipsecdoi2pfkey_ealg __P((u_int)); -@@ -253,6 +255,13 @@ - s_pfkey_type(msg->sadb_msg_type), - strerror(msg->sadb_msg_errno)); - -+ if (msg->sadb_msg_errno == EINTR && -+ update_msg_send.update_msg) { -+ plog(LLV_DEBUG, LOCATION, NULL, -+ "pfkey update resend\n"); -+ send(update_msg_send.so, (void *)update_msg_send.update_msg, (socklen_t)update_msg_send.len, 0); -+ } -+ - goto end; - } - -@@ -498,6 +507,11 @@ - { - flushsp(); - -+ if (update_msg_send.update_msg) { -+ free(update_msg_send.update_msg); -+ update_msg_send.update_msg = NULL; -+ } -+ - if (pfkey_send_spddump(lcconf->sock_pfkey) < 0) { - plog(LLV_ERROR, LOCATION, NULL, - "libipsec sending spddump failed: %s\n", -@@ -1295,6 +1309,8 @@ - return 0; - } - -+int update_received = 0; -+ - static int - pk_recvupdate(mhp) - caddr_t *mhp; -@@ -1307,6 +1323,13 @@ - int incomplete = 0; - struct saproto *pr; - -+ update_received = 1; -+ -+ if (update_msg_send.update_msg) { -+ free(update_msg_send.update_msg); -+ update_msg_send.update_msg = NULL; -+ } -+ - /* ignore this message because of local test mode. */ - if (f_local) - return 0; -@@ -4163,3 +4186,8 @@ - - return buf; - } -+ -+int receive_from_isakmp() -+{ -+ return pfkey_handler(NULL, lcconf->sock_pfkey); -+} ---- a/src/racoon/pfkey.h -+++ b/src/racoon/pfkey.h -@@ -71,5 +71,6 @@ - extern u_int32_t pk_getseq __P((void)); - extern const char *sadbsecas2str - __P((struct sockaddr *, struct sockaddr *, int, u_int32_t, int)); -+extern int receive_from_isakmp __P((void)); - - #endif /* _PFKEY_H */ ---- a/src/racoon/isakmp_quick.c -+++ b/src/racoon/isakmp_quick.c -@@ -774,6 +774,8 @@ - return error; - } - -+extern int update_received; -+ - /* - * send to responder - * HDR*, HASH(3) -@@ -892,6 +894,11 @@ - } - plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n"); - -+ while (!update_received) -+ receive_from_isakmp(); -+ -+ update_received = 0; -+ - /* Do ADD for responder */ - if (pk_sendadd(iph2) < 0) { - plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n"); -@@ -1035,6 +1042,11 @@ - } - plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n"); - -+ while (!update_received) -+ receive_from_isakmp(); -+ -+ update_received = 0; -+ - /* Do ADD for responder */ - if (pk_sendadd(iph2) < 0) { - plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n"); -@@ -1989,6 +2001,11 @@ - } - plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n"); - -+ while (!update_received) -+ receive_from_isakmp(); -+ -+ update_received = 0; -+ - /* Do ADD for responder */ - if (pk_sendadd(iph2) < 0) { - plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n"); diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch deleted file mode 100644 index e272bc20f..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch +++ /dev/null @@ -1,26 +0,0 @@ -Subject: [PATCH] ipsec-tools: racoon: check several invalid ivm - -Upstream-Status: Pending - -Add checking for invalid ivm, or it will crash racoon. - -Signed-off-by: Ming Liu ---- - isakmp_cfg.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff -urpN a/src/racoon/isakmp_cfg.c b/src/racoon/isakmp_cfg.c ---- a/src/racoon/isakmp_cfg.c -+++ b/src/racoon/isakmp_cfg.c -@@ -171,6 +171,11 @@ isakmp_cfg_r(iph1, msg) - iph1->mode_cfg->last_msgid != packet->msgid ) - iph1->mode_cfg->ivm = - isakmp_cfg_newiv(iph1, packet->msgid); -+ if(iph1->mode_cfg->ivm == NULL) { -+ plog(LLV_ERROR, LOCATION, NULL, -+ "failed to create new IV\n"); -+ return; -+ } - ivm = iph1->mode_cfg->ivm; - - dmsg = oakley_do_decrypt(iph1, msg, ivm->iv, ivm->ive); diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch deleted file mode 100644 index de1bdb407..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch +++ /dev/null @@ -1,61 +0,0 @@ -Subject: [PATCH] ipsec-tools: racoon: check several invalid pointers - -Upstream-Status: Pending - -Add checking for invalid pointers, or it will crash racoon. - -Signed-off-by: Ming Liu ---- - ipsec_doi.c | 5 +++-- - isakmp_cfg.c | 7 +++++++ - isakmp_quick.c | 6 ++++-- - 3 files changed, 14 insertions(+), 4 deletions(-) - -diff -urpN a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c ---- a/src/racoon/ipsec_doi.c -+++ b/src/racoon/ipsec_doi.c -@@ -3374,8 +3374,9 @@ ipsecdoi_chkcmpids( idt, ids, exact ) - - /* handle wildcard IDs */ - -- if (idt == NULL || ids == NULL) -- { -+ if (idt == NULL || ids == NULL || -+ idt->v == NULL || idt->l == 0 || -+ ids->v == NULL || ids->l == 0) { - if( !exact ) - { - plog(LLV_DEBUG, LOCATION, NULL, -diff -urpN a/src/racoon/isakmp_cfg.c b/src/racoon/isakmp_cfg.c ---- a/src/racoon/isakmp_cfg.c -+++ b/src/racoon/isakmp_cfg.c -@@ -1138,6 +1138,13 @@ isakmp_cfg_newiv(iph1, msgid) - return NULL; - } - -+ if (iph1->ivm == NULL || iph1->ivm->iv == NULL || -+ iph1->ivm->iv->v == NULL || iph1->ivm->iv->l == 0) { -+ plog(LLV_ERROR, LOCATION, NULL, -+ "isakmp_cfg_newiv called with invalid IV management\n"); -+ return NULL; -+ } -+ - if (ics->ivm != NULL) - oakley_delivm(ics->ivm); - -diff -urpN a/src/racoon/isakmp_quick.c b/src/racoon/isakmp_quick.c ---- a/src/racoon/isakmp_quick.c -+++ b/src/racoon/isakmp_quick.c -@@ -2243,8 +2243,10 @@ get_proposal_r(iph2) - int error = ISAKMP_INTERNAL_ERROR; - - /* check the existence of ID payload */ -- if ((iph2->id_p != NULL && iph2->id == NULL) -- || (iph2->id_p == NULL && iph2->id != NULL)) { -+ if ((iph2->id_p != NULL && -+ (iph2->id == NULL || iph2->id->v == NULL || iph2->id->l == 0)) || -+ (iph2->id != NULL && -+ (iph2->id_p == NULL || iph2->id_p->v == NULL || iph2->id_p->l == 0))) { - plog(LLV_ERROR, LOCATION, NULL, - "Both IDs wasn't found in payload.\n"); - return ISAKMP_NTYPE_INVALID_ID_INFORMATION; diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf deleted file mode 100644 index 6b507508b..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf +++ /dev/null @@ -1,8 +0,0 @@ -# Defaults for racoon service -# sourced by racoon.service -# installed at /etc/default/racoon by the maintainer scripts -# -# This is a POSIX shell fragment -# -# Arguments to pass to racoon -RACOON_ARGS="" diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample deleted file mode 100644 index 2948a4a35..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample +++ /dev/null @@ -1,40 +0,0 @@ -# -# NOTE: This file will not be used if you use racoon-tool(8) to manage your -# IPsec connections. racoon-tool will process racoon-tool.conf(5) and -# generate a configuration (/var/lib/racoon/racoon.conf) and use it, instead -# of this file. -# -# Simple racoon.conf -# -# -# Please look in /usr/share/doc/racoon/examples for -# examples that come with the source. -# -# Please read racoon.conf(5) for details, and alsoread setkey(8). -# -# -# Also read the Linux IPSEC Howto up at -# http://www.ipsec-howto.org/t1.html -# -log notify; -path pre_shared_key "/etc/racoon/psk.txt"; -path certificate "/etc/racoon/certs"; - -#remote 172.31.1.1 { -# exchange_mode main,aggressive; -# proposal { -# encryption_algorithm 3des; -# hash_algorithm sha1; -# authentication_method pre_shared_key; -# dh_group modp1024; -# } -# generate_policy off; -#} -# -#sainfo address 192.168.203.10[any] any address 192.168.22.0/24[any] any { -# pfs_group modp768; -# encryption_algorithm 3des; -# authentication_algorithm hmac_md5; -# compression_algorithm deflate; -#} - diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service deleted file mode 100644 index a10e77027..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Racoon IKEv1 key management daemon for IPSEC -After=syslog.target network.target - -[Service] -Type=forking -EnvironmentFile=-@SYSCONFDIR@/default/racoon -ExecStart=@SBINDIR@/racoon $RACOON_ARGS - -[Install] -WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb deleted file mode 100644 index a6d473b59..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb +++ /dev/null @@ -1,98 +0,0 @@ -DESCRIPTION = "IPsec-Tools is a port of KAME's IPsec utilities to the \ -Linux-2.6 IPsec implementation." -HOMEPAGE = "http://ipsec-tools.sourceforge.net/" -SECTION = "net" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://src/libipsec/pfkey.c;beginline=6;endline=31;md5=bc9b7ff40beff19fe6bc6aef26bd2b24" - -DEPENDS = "virtual/kernel openssl readline flex-native bison-native" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -SRC_URI = "http://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${PV}.tar.bz2 \ - file://0002-Don-t-link-against-libfl.patch \ - file://configure.patch \ - file://0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch \ - file://racoon-check-invalid-pointers.patch \ - file://racoon-check-invalid-ivm.patch \ - file://glibc-2.20.patch \ - file://racoon-Resend-UPDATE-message-when-received-EINTR-message.patch \ - file://racoon.conf.sample \ - file://racoon.conf \ - file://racoon.service \ - file://fix-CVE-2015-4047.patch \ - file://0001-Fix-build-with-clang.patch \ - file://0001-Fix-header-issues-found-with-musl-libc.patch \ - file://0002-cfparse-clear-memory-equal-to-size-of-array.patch \ - file://fix-CVE-2016-10396.patch \ - file://0001-Disable-gcc8-specific-warnings.patch \ - file://0001-ipsec-tools-add-openssl-1.1-support.patch \ - " -SRC_URI[md5sum] = "d53ec14a0a3ece64e09e5e34b3350b41" -SRC_URI[sha256sum] = "8eb6b38716e2f3a8a72f1f549c9444c2bc28d52c9536792690564c74fe722f2d" - -inherit autotools systemd - -# Options: -# --enable-adminport enable admin port -# --enable-rc5 enable RC5 encryption (patented) -# --enable-idea enable IDEA encryption (patented) -# --enable-gssapi enable GSS-API authentication -# --enable-hybrid enable hybrid, both mode-cfg and xauth support -# --enable-frag enable IKE fragmentation payload support -# --enable-stats enable statistics logging function -# --enable-dpd enable dead peer detection -# --enable-samode-unspec enable to use unspecified a mode of SA -# --disable-ipv6 disable ipv6 support -# --enable-natt enable NAT-Traversal (yes/no/kernel) -# --enable-natt-versions=list list of supported NAT-T versions delimited by coma. -# --with-kernel-headers=/lib/modules//build/include -# where your Linux Kernel headers are installed -# --with-readline support readline input (yes by default) -# --with-flex use directiory (default: no) -# --with-flexlib= specify flex library. -# --with-openssl=DIR specify OpenSSL directory -# --with-libradius=DIR specify libradius path (like/usr/pkg) -# --with-libpam=DIR specify libpam path (like/usr/pkg) -# -# Note: if you give it the actual kernel headers it won't build, it actually -# needs to point at the linux-libc-headers version of the kernel headers. -# -EXTRA_OECONF = "--with-kernel-headers=${STAGING_INCDIR} \ - --with-readline \ - --with-openssl=${STAGING_LIBDIR}/.. \ - --without-libradius \ - --disable-security-context \ - --enable-shared \ - --enable-dpd \ - --enable-natt=yes \ - --sysconfdir=${sysconfdir}/racoon \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6=yes', '', d)}" - -# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530527 -CFLAGS += "-fno-strict-aliasing" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam," -PACKAGECONFIG[selinux] = "--enable-security-context,--disable-security-context,libselinux," - -SYSTEMD_SERVICE_${PN} = "racoon.service" - -do_install_append() { - install -d ${D}${sysconfdir}/racoon - install -m 0644 ${WORKDIR}/racoon.conf.sample ${D}${sysconfdir}/racoon/racoon.conf - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/racoon.service ${D}${systemd_unitdir}/system - - sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/racoon.service - sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/racoon.service - - install -d ${D}${sysconfdir}/default/ - install -m 0644 ${WORKDIR}/racoon.conf ${D}${sysconfdir}/default/racoon - fi -} - -FILES_${PN} += "${sysconfdir}/racoon/racoon.conf \ - ${sysconfdir}/default/racoon" diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb index 3c7e5455e..f3608c6ab 100644 --- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb +++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb @@ -5,6 +5,8 @@ LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+" DEPENDS += "libtdb libtalloc libtevent popt" RDEPENDS_pyldb += "python samba" +RCONFLICTS_${PN} = "samba" +RCONFLICTS_pyldb = "samba-python" SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \ file://do-not-import-target-module-while-cross-compile.patch \ diff --git a/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb b/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb deleted file mode 100644 index 9d3275e2d..000000000 --- a/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Combined traceroute and ping utility" -DESCRIPTION = "mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool." -HOMEPAGE = "http://www.bitwizard.nl/mtr/" -SECTION = "net" -DEPENDS = "ncurses" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://ui/mtr.c;beginline=5;endline=16;md5=af1fafbbfa1bfd48af839f4bb3221106" - -PV .= "+git${SRCPV}" - -SRCREV = "e6d0a7e93129e8023654ebf58dfa8135d1b1af56" -SRC_URI = "git://github.com/traviscross/mtr" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--without-gtk" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," - -PACKAGES += "${PN}-bash-completions" - -FILES_${PN}-bash-completions = "${datadir}/bash-completion/" diff --git a/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.92.bb b/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.92.bb new file mode 100644 index 000000000..2bc7d9787 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.92.bb @@ -0,0 +1,27 @@ +SUMMARY = "Combined traceroute and ping utility" +DESCRIPTION = "mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool." +HOMEPAGE = "http://www.bitwizard.nl/mtr/" +SECTION = "net" +DEPENDS = "ncurses" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://ui/mtr.c;beginline=5;endline=16;md5=af1fafbbfa1bfd48af839f4bb3221106" + +PV .= "+git${SRCPV}" + +SRCREV = "6cddfc6e8f0e20af4af218b545f83d43b3f9a387" +SRC_URI = "git://github.com/traviscross/mtr" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--without-gtk" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + +PACKAGES += "${PN}-bash-completions" + +FILES_${PN}-bash-completions = "${datadir}/bash-completion/" diff --git a/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb b/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb deleted file mode 100644 index 356023681..000000000 --- a/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Network Block Device" -HOMEPAGE = "http://nbd.sourceforge.net" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "glib-2.0" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "98b74c655ed94a66686c5ba19480d98e" -SRC_URI[sha256sum] = "d95c6bb1a3ab33b953af99b73fb4833e123bd25433513b32d57dbeb1a0a0d189" - -inherit autotools pkgconfig - -PACKAGES = "${PN}-client ${PN}-server ${PN}-dbg ${PN}-trdump ${PN}-doc" - -FILES_${PN}-client = "${sbindir}/${BPN}-client" -FILES_${PN}-server = "${bindir}/${BPN}-server" -FILES_${PN}-trdump = "${bindir}/${BPN}-trdump" diff --git a/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.19.bb b/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.19.bb new file mode 100644 index 000000000..a6da18ea7 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.19.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Network Block Device" +HOMEPAGE = "http://nbd.sourceforge.net" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "glib-2.0" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "162da84302abb5b9be06143c7943a642" +SRC_URI[sha256sum] = "b4466412f13e057659f25d35e1e8e181afd62c7179bff22a6add81445ecb8690" + +inherit autotools pkgconfig + +PACKAGES = "${PN}-client ${PN}-server ${PN}-dbg ${PN}-trdump ${PN}-doc" + +FILES_${PN}-client = "${sbindir}/${BPN}-client" +FILES_${PN}-server = "${bindir}/${BPN}-server" +FILES_${PN}-trdump = "${bindir}/${BPN}-trdump" diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch deleted file mode 100644 index d4e02be45..000000000 --- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch +++ /dev/null @@ -1,25 +0,0 @@ -Do not install pyc and pyo for python module - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Yi Zhao ---- - swig/python/Makefile.am | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/swig/python/Makefile.am b/swig/python/Makefile.am -index da95a81..97a62bf 100644 ---- a/swig/python/Makefile.am -+++ b/swig/python/Makefile.am -@@ -33,8 +33,6 @@ CLEANFILES = OpenIPMI_wrap.c OpenIPMI.py OpenIPMI.pyo OpenIPMI.pyc - install-exec-local: _OpenIPMI.la OpenIPMI.py OpenIPMI.pyc OpenIPMI.pyo - $(INSTALL) -d $(DESTDIR)$(PYTHON_INSTALL_DIR) - $(INSTALL_DATA) OpenIPMI.py "$(DESTDIR)$(PYTHON_INSTALL_DIR)" -- $(INSTALL_DATA) OpenIPMI.pyc "$(DESTDIR)$(PYTHON_INSTALL_DIR)" -- $(INSTALL_DATA) OpenIPMI.pyo "$(DESTDIR)$(PYTHON_INSTALL_DIR)" - if test "x$(PYTHON_GUI_DIR)" = "xopenipmigui"; then \ - $(INSTALL) -d $(DESTDIR)$(bindir); \ - $(INSTALL_SCRIPT) $(srcdir)/openipmigui.py "$(DESTDIR)$(bindir)/openipmigui";\ --- -1.9.1 - diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch index 449142fcf..243488424 100644 --- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch +++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch @@ -1,18 +1,23 @@ -Author: Aws Ismail -Date: Thu Jun 7 16:00:13 2012 -0400 +From 7854c60c92243adb14ea89e16fc226d2e47dd4f9 Mon Sep 17 00:00:00 2001 +From: Aws Ismail +Date: Thu, 7 Jun 2012 16:00:13 -0400 +Subject: [PATCH] Fix symlink install error in cmdlang - This patch fixes the error during the install stage when - creating a symbolic link for opeipmish in openipmi/cmdlang - - Upstream-Status: Pending - - Signed-off-by: Aws Ismail +This patch fixes the error during the install stage when +creating a symbolic link for opeipmish in openipmi/cmdlang -Index: OpenIPMI-2.0.24/cmdlang/Makefile.am -=================================================================== ---- OpenIPMI-2.0.24.orig/cmdlang/Makefile.am -+++ OpenIPMI-2.0.24/cmdlang/Makefile.am -@@ -35,6 +35,7 @@ openipmish_LDADD = libOpenIPMIcmdlang.l +Upstream-Status: Pending + +Signed-off-by: Aws Ismail +--- + cmdlang/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am +index 0ca3827..d9a941f 100644 +--- a/cmdlang/Makefile.am ++++ b/cmdlang/Makefile.am +@@ -35,6 +35,7 @@ openipmish_LDADD = libOpenIPMIcmdlang.la \ # compatability. install-data-local: rm -f $(DESTDIR)$(bindir)/ipmish diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch index 082511a67..61b39995a 100644 --- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch +++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch @@ -1,12 +1,25 @@ +From 4f41e090e33a00117a27f0c77b6338fb8b495f37 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 2 Jun 2017 21:58:32 -0700 +Subject: [PATCH] openipmi: Fix build with musl + include sys/types.h for u_int32_t ui.c:340:5: error: unknown type name 'u_int32_t'; did you mean 'uint32_t'? u_int32_t addr; ^~~~~~~~~ -Index: OpenIPMI-2.0.24/ui/ui.c -=================================================================== ---- OpenIPMI-2.0.24.orig/ui/ui.c -+++ OpenIPMI-2.0.24/ui/ui.c + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + ui/ui.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ui/ui.c b/ui/ui.c +index 529ff22..066d118 100644 +--- a/ui/ui.c ++++ b/ui/ui.c @@ -42,6 +42,7 @@ #include #include diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch index 51a398ba5..c4559c97b 100644 --- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch +++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch @@ -1,3 +1,6 @@ +From 6542ebe7a0d37dee8e9afb856feb8f6c3d334632 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Mon, 29 Dec 2014 18:16:04 +0800 Subject: [PATCH] ipmi-init: fix the arguments The functions success/failure/warning defined in /etc/init.d/functions @@ -12,7 +15,7 @@ Signed-off-by: Jackie Huang 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ipmi.init b/ipmi.init -index 2ebcd94..d8161c5 100644 +index ea10b11..aac9f83 100644 --- a/ipmi.init +++ b/ipmi.init @@ -45,17 +45,17 @@ elif [ -r /etc/init.d/functions ]; then @@ -36,6 +39,4 @@ index 2ebcd94..d8161c5 100644 echo ;; *) --- -1.9.1 diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch new file mode 100644 index 000000000..e208de8b2 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch @@ -0,0 +1,31 @@ +From bebfb3c24582ec4e45d79c5b52135197bf7373da Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Fri, 14 Jun 2019 14:17:34 +0800 +Subject: [PATCH] ipmi_serial_bmc_emu.c: include readline.h from readline + +The libedit had been removed and swithed to readline. +We need to include readline.h from readline rather than editline. + +Upstream-Status: Pending + +Signed-off-by: Yi Zhao +--- + sample/ipmi_serial_bmc_emu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sample/ipmi_serial_bmc_emu.c b/sample/ipmi_serial_bmc_emu.c +index e0ae019..1b8bb9a 100644 +--- a/sample/ipmi_serial_bmc_emu.c ++++ b/sample/ipmi_serial_bmc_emu.c +@@ -42,7 +42,7 @@ + #include + #include + #include +-#include ++#include + + #define _GNU_SOURCE + #include +-- +2.7.4 + diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch index 1fa68f9ba..858adc50a 100644 --- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch +++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch @@ -1,16 +1,19 @@ -Author: Aws Ismail -Date: Thu Jun 7 12:28:34 2012 -0400 +From a6ffa3939a3ab2ad6a8d277cd8292b7dad6469c6 Mon Sep 17 00:00:00 2001 +From: Aws Ismail +Date: Thu, 7 Jun 2012 12:28:34 -0400 +Subject: [PATCH] Do not build openipmigui man page - This patch was carried over from WRL4.3 (openipmi v2.0.16) - - It was updated for openipmi v2.0.19 - - Disable making openipmigui man page since we don't need it - - Upstream-Status: Pending - - Signed-off-by: Aws Ismail - Signed-off-by: Yi Zhao +This patch was carried over from WRL4.3 (openipmi v2.0.16) +It was updated for openipmi v2.0.19 +Disable making openipmigui man page since we don't need it + +Upstream-Status: Pending + +Signed-off-by: Aws Ismail +Signed-off-by: Yi Zhao +--- + man/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/Makefile.am b/man/Makefile.am index 632f55b..5ce79f5 100644 diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch index 83485a9e6..ce37d5eb2 100644 --- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch +++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch @@ -1,4 +1,4 @@ -From aa0dc0783a6ff5fb56c914b640836223e3c192bb Mon Sep 17 00:00:00 2001 +From 6395659ca6d64b20bf78bb640c2cc523d6c1d9c2 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Mon, 29 Dec 2014 18:16:04 +0800 Subject: [PATCH] remove host path from la_LDFLAGS @@ -7,17 +7,15 @@ Upstream-Status: Inappropriate [ cross compile specific ] Signed-off-by: Jackie Huang --- - cmdlang/Makefile.am | 2 +- - glib/Makefile.am | 4 ++-- - tcl/Makefile.am | 2 +- - unix/Makefile.am | 4 ++-- - 4 files changed, 6 insertions(+), 6 deletions(-) + cmdlang/Makefile.am | 3 +-- + unix/Makefile.am | 6 ++---- + 2 files changed, 3 insertions(+), 6 deletions(-) -Index: OpenIPMI-2.0.24/cmdlang/Makefile.am -=================================================================== ---- OpenIPMI-2.0.24.orig/cmdlang/Makefile.am -+++ OpenIPMI-2.0.24/cmdlang/Makefile.am -@@ -15,8 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang. +diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am +index d9a941f..21b9531 100644 +--- a/cmdlang/Makefile.am ++++ b/cmdlang/Makefile.am +@@ -15,8 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang.c cmd_domain.c cmd_entity.c cmd_mc.c \ libOpenIPMIcmdlang_la_LIBADD = -lm \ $(top_builddir)/utils/libOpenIPMIutils.la \ $(top_builddir)/lib/libOpenIPMI.la @@ -27,11 +25,11 @@ Index: OpenIPMI-2.0.24/cmdlang/Makefile.am bin_PROGRAMS = openipmish -Index: OpenIPMI-2.0.24/unix/Makefile.am -=================================================================== ---- OpenIPMI-2.0.24.orig/unix/Makefile.am -+++ OpenIPMI-2.0.24/unix/Makefile.am -@@ -10,14 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la li +diff --git a/unix/Makefile.am b/unix/Makefile.am +index 5128839..bd0f897 100644 +--- a/unix/Makefile.am ++++ b/unix/Makefile.am +@@ -10,14 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la libOpenIPMIpthread.la libOpenIPMIpthread_la_SOURCES = posix_thread_os_hnd.c selector.c libOpenIPMIpthread_la_LIBADD = -lpthread $(GDBM_LIB) \ $(top_builddir)/utils/libOpenIPMIutils.la $(RT_LIB) diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch deleted file mode 100644 index 389407590..000000000 --- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch +++ /dev/null @@ -1,26 +0,0 @@ -openipmi load swig/python/.libs/_OpenIPMI.so to create .pyc and .pyo files. -It fails when multilib is enable: - -| ImportError: .../lib32-openipmi/2.0.25-r0/OpenIPMI-2.0.25/swig/python/.libs/_OpenIPMI.so: wrong ELF class: ELFCLASS32 - -Don't compile and install .pyc and .pyo files to fix the failure. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Kai Kang -diff --git a/swig/python/openipmigui/Makefile.am b/swig/python/openipmigui/Makefile.am -index 570e7b9..88258bf 100644 ---- a/swig/python/openipmigui/Makefile.am -+++ b/swig/python/openipmigui/Makefile.am -@@ -34,9 +34,9 @@ localcopy: - fi \ - done - --all-local: localcopy $(PYC_FILES) $(PYO_FILES) -+all-local: localcopy - --install-exec-local: $(EXTRA_DIST) $(PYC_FILES) $(PYO_FILES) -+install-exec-local: $(EXTRA_DIST) - $(INSTALL) -d $(DESTDIR)$(PYTHON_INSTALL_DIR)/openipmigui - $(INSTALL_DATA) $^ $(DESTDIR)$(PYTHON_INSTALL_DIR)/openipmigui - diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb deleted file mode 100644 index f0426ce36..000000000 --- a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb +++ /dev/null @@ -1,111 +0,0 @@ -SUMMARY = "IPMI (Intelligent Platform Management Interface) library and tools" -DESCRIPTION = "OpenIPMI is an effort to create a full-function IPMI system, \ -to allow full access to all IPMI information on a server \ -and to abstract it to a level that will make it easy to use" - -HOMEPAGE = "http://openipmi.sourceforge.net" - -DEPENDS = " \ - glib-2.0 \ - ncurses \ - net-snmp \ - openssl \ - popt \ - python \ - swig-native \ - " - -LICENSE = "GPLv2 & LGPLv2.1 & BSD" - -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499 \ - file://COPYING.BSD;md5=4b318d4160eb69c8ee53452feb1b4cdf \ - " - -SRC_URI = "${SOURCEFORGE_MIRROR}/openipmi/OpenIPMI-${PV}.tar.gz \ - file://fix-symlink-install-error-in-cmdlang.patch \ - file://openipmi-no-openipmigui-man.patch \ - file://openipmi-remove-host-path-from-la_LDFLAGS.patch \ - file://ipmi-init-fix-the-arguments.patch \ - file://do-not-install-pyc-and-pyo.patch \ - file://include_sys_types.patch \ - file://openipmigui-not-compile-pyc-pyo.patch \ - file://openipmi-helper \ - file://ipmi.service \ - " - -S = "${WORKDIR}/OpenIPMI-${PV}" -SRC_URI[md5sum] = "1461ac4d78fc516646fd0a6e605a8b05" -SRC_URI[sha256sum] = "f0f1a0ec732409930b7a31a6daa6cf39b585f52059b62a5f092b7ece21aa75a5" - -inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd cpan-base - -EXTRA_OECONF = "--disable-static \ - --with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \ - --with-python='${STAGING_BINDIR_NATIVE}/python-native/python' \ - --with-pythoninstall='${PYTHON_SITEPACKAGES_DIR}' \ - --with-glibver=2.0" - -PACKAGECONFIG ??= "gdbm" -PACKAGECONFIG[gdbm] = "ac_cv_header_gdbm_h=yes,ac_cv_header_gdbm_h=no,gdbm," - -PACKAGES += "${PN}-perl ${PN}-python" - -FILES_${PN}-perl = " \ - ${libdir}/perl/vendor_perl/*/OpenIPMI.pm \ - ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/OpenIPMI.so \ - " - -FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" - -FILES_${PN}-dbg += " \ - ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/.debug \ - ${PYTHON_SITEPACKAGES_DIR}/.debug \ - " - -do_configure () { - - # Let's perform regular configuration first then handle perl issues. - autotools_do_configure - - perl_ver=`perl -V:version | cut -d\' -f 2` - - # Force openipmi perl bindings to be compiled using perl-native instead of - # the host's perl. Set the proper install directory for the resulting - # openipmi.pm and openipmi.so - for i in ${S}/swig/Makefile ${S}/swig/perl/Makefile; do - echo "SAL: i = $i" - echo "SAL: STAGING_INCDIR_NATIVE = $STAGING_INCDIR_NATIVE" - echo "SAL: libdir = $libdir" - sed -i -e "/^PERL_CFLAGS/s:-I/usr/local/include:-I${STAGING_INCDIR_NATIVE}:g" $i - sed -i -e "/^PERL_CFLAGS/s:-I .* :-I ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE :g" $i - sed -i -e "/^PERL_INSTALL_DIR/s:^PERL_INSTALL_DIR = .*:PERL_INSTALL_DIR = ${libdir}/perl/vendor_perl/$perl_ver:g" $i - done -} - -do_install_append () { - echo "SAL: D = $D" - echo "SAL: libdir = $libdir" - install -m 0755 -d ${D}${sysconfdir}/sysconfig ${D}${sysconfdir}/init.d - install -m 0755 ${S}/ipmi.init ${D}${sysconfdir}/init.d/ipmi - install -m 0644 ${S}/ipmi.sysconf ${D}${sysconfdir}/sysconfig/ipmi - # SAL: mv: cannot stat `/localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/openipmi-2.0.19-r4/image/usr/lib64/perl5': No such file or directory - # SAL: real path to perl is /localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/perl-5.14.2-r8.3/package/usr/lib64/perl5 and it is a symlink to perl so no need to mv. - if [ -d ${D}${libdir}/perl5 ] - then - mv ${D}${libdir}/perl5 ${D}${libdir}/perl - fi - - # for systemd - install -d ${D}${systemd_unitdir}/system - install -m 0664 ${WORKDIR}/ipmi.service ${D}${systemd_unitdir}/system - sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" ${D}${systemd_unitdir}/system/ipmi.service - install -d ${D}${libexecdir} - install -m 0755 ${WORKDIR}/openipmi-helper ${D}${libexecdir} -} - -INITSCRIPT_NAME = "ipmi" -INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ." - -SYSTEMD_SERVICE_${PN} = "ipmi.service" -SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb new file mode 100644 index 000000000..51cc25689 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb @@ -0,0 +1,112 @@ +SUMMARY = "IPMI (Intelligent Platform Management Interface) library and tools" +DESCRIPTION = "OpenIPMI is an effort to create a full-function IPMI system, \ +to allow full access to all IPMI information on a server \ +and to abstract it to a level that will make it easy to use" + +HOMEPAGE = "http://openipmi.sourceforge.net" + +DEPENDS = " \ + glib-2.0 \ + ncurses \ + net-snmp \ + openssl \ + popt \ + python \ + swig-native \ + readline \ + " + +LICENSE = "GPLv2 & LGPLv2.1 & BSD" + +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499 \ + file://COPYING.BSD;md5=4b318d4160eb69c8ee53452feb1b4cdf \ + " + +SRC_URI = "${SOURCEFORGE_MIRROR}/openipmi/OpenIPMI-${PV}.tar.gz \ + file://fix-symlink-install-error-in-cmdlang.patch \ + file://openipmi-no-openipmigui-man.patch \ + file://openipmi-remove-host-path-from-la_LDFLAGS.patch \ + file://ipmi-init-fix-the-arguments.patch \ + file://include_sys_types.patch \ + file://ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch \ + file://openipmi-helper \ + file://ipmi.service \ + " + +S = "${WORKDIR}/OpenIPMI-${PV}" + +SRC_URI[md5sum] = "d525ceaa07df5440674e7e68a6772fe7" +SRC_URI[sha256sum] = "f3b1fafaaec2e2bac32fec5a86941ad8b8cb64543470bd6d819d7b166713d20b" + +inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd cpan-base + +EXTRA_OECONF = "--disable-static \ + --with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \ + --with-python='${STAGING_BINDIR_NATIVE}/python-native/python' \ + --with-pythoninstall='${PYTHON_SITEPACKAGES_DIR}' \ + --with-glibver=2.0" + +PACKAGECONFIG ??= "gdbm" +PACKAGECONFIG[gdbm] = "ac_cv_header_gdbm_h=yes,ac_cv_header_gdbm_h=no,gdbm," + +PACKAGES += "${PN}-perl ${PN}-python" + +FILES_${PN}-perl = " \ + ${libdir}/perl/vendor_perl/*/OpenIPMI.pm \ + ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/OpenIPMI.so \ + " + +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" + +FILES_${PN}-dbg += " \ + ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/.debug \ + ${PYTHON_SITEPACKAGES_DIR}/.debug \ + " + +do_configure () { + + # Let's perform regular configuration first then handle perl issues. + autotools_do_configure + + perl_ver=`perl -V:version | cut -d\' -f 2` + + # Force openipmi perl bindings to be compiled using perl-native instead of + # the host's perl. Set the proper install directory for the resulting + # openipmi.pm and openipmi.so + for i in ${S}/swig/Makefile ${S}/swig/perl/Makefile; do + echo "SAL: i = $i" + echo "SAL: STAGING_INCDIR_NATIVE = $STAGING_INCDIR_NATIVE" + echo "SAL: libdir = $libdir" + sed -i -e "/^PERL_CFLAGS/s:-I/usr/local/include:-I${STAGING_INCDIR_NATIVE}:g" $i + sed -i -e "/^PERL_CFLAGS/s:-I .* :-I ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE :g" $i + sed -i -e "/^PERL_INSTALL_DIR/s:^PERL_INSTALL_DIR = .*:PERL_INSTALL_DIR = ${libdir}/perl/vendor_perl/$perl_ver:g" $i + done +} + +do_install_append () { + echo "SAL: D = $D" + echo "SAL: libdir = $libdir" + install -m 0755 -d ${D}${sysconfdir}/sysconfig ${D}${sysconfdir}/init.d + install -m 0755 ${S}/ipmi.init ${D}${sysconfdir}/init.d/ipmi + install -m 0644 ${S}/ipmi.sysconf ${D}${sysconfdir}/sysconfig/ipmi + # SAL: mv: cannot stat `/localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/openipmi-2.0.19-r4/image/usr/lib64/perl5': No such file or directory + # SAL: real path to perl is /localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/perl-5.14.2-r8.3/package/usr/lib64/perl5 and it is a symlink to perl so no need to mv. + if [ -d ${D}${libdir}/perl5 ] + then + mv ${D}${libdir}/perl5 ${D}${libdir}/perl + fi + + # for systemd + install -d ${D}${systemd_unitdir}/system + install -m 0664 ${WORKDIR}/ipmi.service ${D}${systemd_unitdir}/system + sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" ${D}${systemd_unitdir}/system/ipmi.service + install -d ${D}${libexecdir} + install -m 0755 ${WORKDIR}/openipmi-helper ${D}${libexecdir} +} + +INITSCRIPT_NAME = "ipmi" +INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ." + +SYSTEMD_SERVICE_${PN} = "ipmi.service" +SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb index 30d0a7675..be9dba32f 100644 --- a/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb +++ b/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb @@ -13,9 +13,9 @@ architectures." LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=b37311cb5604f3e5cc2fb0fd23527e95" -PV = "0.12.13+git${SRCPV}" +PV = "0.14.0+git${SRCPV}" -SRCREV = "87441524f4e7b79658e42bd8f1f6c3e3c8649aa5" +SRCREV = "f72ece993aeaf23f77e2845562b20e5563e52ba0" SRC_URI = " \ git://anongit.freedesktop.org/spice/spice-protocol \ diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch index 505b7c890..e63cbe3b7 100644 --- a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch +++ b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch @@ -14,21 +14,19 @@ Upstream-Status: Pending server/red-client.c | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) -diff --git a/server/red-channel.c b/server/red-channel.c -index 1b38f04d..11dc667b 100644 --- a/server/red-channel.c +++ b/server/red-channel.c -@@ -192,7 +192,7 @@ red_channel_constructed(GObject *object) +@@ -204,7 +204,7 @@ red_channel_constructed(GObject *object) { RedChannel *self = RED_CHANNEL(object); -- red_channel_debug(self, "thread_id 0x%lx", self->priv->thread_id); -+ red_channel_debug(self, "thread_id 0x%lx", (unsigned long)self->priv->thread_id); +- red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", self->priv->thread_id); ++ red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id); RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self); -@@ -475,7 +475,8 @@ void red_channel_remove_client(RedChannel *channel, RedChannelClient *rcc) - red_channel_warning(channel, "channel->thread_id (0x%lx) != pthread_self (0x%lx)." +@@ -479,7 +479,8 @@ void red_channel_remove_client(RedChanne + "pthread_self (0x%" G_GSIZE_MODIFIER "x)." "If one of the threads is != io-thread && != vcpu-thread, " "this might be a BUG", - channel->priv->thread_id, pthread_self()); @@ -37,12 +35,10 @@ index 1b38f04d..11dc667b 100644 } spice_return_if_fail(channel); link = g_list_find(channel->priv->clients, rcc); -diff --git a/server/red-client.c b/server/red-client.c -index ddfc5400..76986640 100644 --- a/server/red-client.c +++ b/server/red-client.c -@@ -180,7 +180,7 @@ void red_client_migrate(RedClient *client) - spice_warning("client->thread_id (0x%lx) != pthread_self (0x%lx)." +@@ -180,7 +180,7 @@ void red_client_migrate(RedClient *clien + "pthread_self (0x%" G_GSIZE_MODIFIER "x)." "If one of the threads is != io-thread && != vcpu-thread," " this might be a BUG", - client->thread_id, pthread_self()); @@ -50,8 +46,8 @@ index ddfc5400..76986640 100644 } FOREACH_CHANNEL_CLIENT(client, rcc) { if (red_channel_client_is_connected(rcc)) { -@@ -199,8 +199,8 @@ void red_client_destroy(RedClient *client) - spice_warning("client->thread_id (0x%lx) != pthread_self (0x%lx)." +@@ -199,8 +199,8 @@ void red_client_destroy(RedClient *clien + "pthread_self (0x%" G_GSIZE_MODIFIER "x)." "If one of the threads is != io-thread && != vcpu-thread," " this might be a BUG", - client->thread_id, @@ -61,6 +57,3 @@ index ddfc5400..76986640 100644 } red_client_set_disconnecting(client); FOREACH_CHANNEL_CLIENT(client, rcc) { --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch new file mode 100644 index 000000000..d04bee95f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch @@ -0,0 +1,96 @@ +From a2af005b5d4a62839e56f42a43df793356e78f58 Mon Sep 17 00:00:00 2001 +From: "Hongzhi.Song" +Date: Tue, 4 Jun 2019 03:58:17 -0400 +Subject: [PATCH] Fix compile errors on Linux 32bit system + +There are folowing compile errors on Linux 32bit system: + +red-channel.c:207:73: error: format '%x' expects argument of type +'unsigned int', but argument 7 has type 'long unsigned int' [-Werror=format=] +|207| red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", + ~~~~~~~~~~~~~~~~~~~~~^ + self->priv->thread_id); + ~~~~~~~~~~~~~~~~~~~~~^ + +On 32bit system, #define G_GSIZE_MODIFIER "". But the type of +'self->priv->thread_id' is 'unsigned long int' which should match '%lx' +not '%x'. + +So we should recovery the <0x%" G_GSIZE_MODIFIER "x"> to <0x%lx">. +And others files modification are similar to G_GSIZE_MODIFIER. + +Signed-off-by: Hongzhi.Song +--- +Upstream-Status: Submitted [https://lists.freedesktop.org/archives/spice-devel/2019-June/049285.html] + + server/red-channel.c | 6 +++--- + server/red-client.c | 8 ++++---- + server/red-replay-qxl.c | 2 +- + 3 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/server/red-channel.c b/server/red-channel.c +index f81142d..6a03ec2 100644 +--- a/server/red-channel.c ++++ b/server/red-channel.c +@@ -202,7 +202,7 @@ red_channel_constructed(GObject *object) + { + RedChannel *self = RED_CHANNEL(object); + +- red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id); ++ red_channel_debug(self, "thread_id 0x%lx", (unsigned long)self->priv->thread_id); + + RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self); + +@@ -473,8 +473,8 @@ void red_channel_remove_client(RedChannel *channel, RedChannelClient *rcc) + + if (!pthread_equal(pthread_self(), channel->priv->thread_id)) { + red_channel_warning(channel, +- "channel->thread_id (0x%" G_GSIZE_MODIFIER "x) != " +- "pthread_self (0x%" G_GSIZE_MODIFIER "x)." ++ "channel->thread_id (0x%lx) != " ++ "pthread_self (0x%lx)." + "If one of the threads is != io-thread && != vcpu-thread, " + "this might be a BUG", + (unsigned long)channel->priv->thread_id, +diff --git a/server/red-client.c b/server/red-client.c +index 2b859cb..ff4da2a 100644 +--- a/server/red-client.c ++++ b/server/red-client.c +@@ -174,8 +174,8 @@ void red_client_migrate(RedClient *client) + RedChannel *channel; + + if (!pthread_equal(pthread_self(), client->thread_id)) { +- spice_warning("client->thread_id (0x%" G_GSIZE_MODIFIER "x) != " +- "pthread_self (0x%" G_GSIZE_MODIFIER "x)." ++ spice_warning("client->thread_id (0x%lx) != " ++ "pthread_self (0x%lx)." + "If one of the threads is != io-thread && != vcpu-thread," + " this might be a BUG", + (unsigned long)client->thread_id, (unsigned long)pthread_self()); +@@ -193,8 +193,8 @@ void red_client_destroy(RedClient *client) + RedChannelClient *rcc; + + if (!pthread_equal(pthread_self(), client->thread_id)) { +- spice_warning("client->thread_id (0x%" G_GSIZE_MODIFIER "x) != " +- "pthread_self (0x%" G_GSIZE_MODIFIER "x)." ++ spice_warning("client->thread_id (0x%lx) != " ++ "pthread_self (0x%lx)." + "If one of the threads is != io-thread && != vcpu-thread," + " this might be a BUG", + (unsigned long)client->thread_id, +diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c +index 6d34818..0deb406 100644 +--- a/server/red-replay-qxl.c ++++ b/server/red-replay-qxl.c +@@ -264,7 +264,7 @@ static replay_t read_binary(SpiceReplay *replay, const char *prefix, size_t *siz + exit(1); + } + if ((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_END) { +- spice_error("inflate error %d (disc: %" G_GSSIZE_FORMAT ")", ++ spice_error("inflate error %d (disc: %li)", + ret, *size - strm.total_out); + if (ret == Z_DATA_ERROR) { + /* last operation may be wrong. since we do the recording +-- +2.8.1 + diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch deleted file mode 100644 index 1f9d5fdd7..000000000 --- a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 7023732c65b4dc509c46a54fb7715da275b5597f Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Thu, 13 Sep 2018 12:39:44 +0800 -Subject: [PATCH] spice: fix compile fail problem - -compile error: -format '%d' expects argument of type 'int', but argument 6 has -type 'long unsigned int' [-Werror=format=] - -spice compile failed on 32bit system, since upstream commit -9541cd2fe(in V0.14.1) change %ld to %PRIdPTR, %PRIdPTR is %d, but argument -strm.total_out is uLong. - -Upstream-Status: Submitted[https://github.com/freedesktop/spice/pull/1] - -Signed-off-by: Changqing Li ---- - server/red-replay-qxl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c -index 1fce76c..bd33b58 100644 ---- a/server/red-replay-qxl.c -+++ b/server/red-replay-qxl.c -@@ -266,7 +266,7 @@ static replay_t read_binary(SpiceReplay *replay, const char *prefix, size_t *siz - exit(1); - } - if ((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_END) { -- spice_error("inflate error %d (disc: %" PRIdPTR ")", ret, *size - strm.total_out); -+ spice_error("inflate error %d (disc: %ld)", ret, *size - strm.total_out); - if (ret == Z_DATA_ERROR) { - /* last operation may be wrong. since we do the recording - * in red_worker, when there is a shutdown from the vcpu/io thread --- -2.7.4 - diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb index 1ad46c2c3..552f81df0 100644 --- a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb +++ b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb @@ -13,10 +13,10 @@ architectures." LICENSE = "BSD & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" -PV = "0.14.1+git${SRCPV}" +PV = "0.14.2+git${SRCPV}" -SRCREV_spice = "eaa07ef15cfc3bf57a69da2576af66f028787774" -SRCREV_spice-common = "6b93b3fce8909b836ef1d1434d191900d8aa00be" +SRCREV_spice = "7cbd70b931db76c69c89c2d9d5d704f67381a81b" +SRCREV_spice-common = "4fc4c2db36c7f07b906e9a326a9d3dc0ae6a2671" SRCREV_FORMAT = "spice_spice-common" @@ -24,7 +24,7 @@ SRC_URI = " \ git://anongit.freedesktop.org/spice/spice;name=spice \ git://anongit.freedesktop.org/spice/spice-common;destsuffix=git/subprojects/spice-common;name=spice-common \ file://0001-Convert-pthread_t-to-be-numeric.patch \ - file://0001-spice-fix-compile-fail-problem.patch \ + file://0001-Fix-compile-errors-on-Linux-32bit-system.patch \ " S = "${WORKDIR}/git" @@ -37,6 +37,8 @@ DEPENDS_append_class-nativesdk = "nativesdk-openssl" export PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" export PYTHONPATH="${PKG_CONFIG_SYSROOT_DIR}${libdir}/python2.7/site-packages" +CFLAGS_append = " -Wno-error=address-of-packed-member" + PACKAGECONFIG_class-native = "" PACKAGECONFIG_class-nativesdk = "" PACKAGECONFIG ?= "sasl" @@ -54,4 +56,4 @@ COMPATIBLE_HOST = '(x86_64|i.86).*-linux' BBCLASSEXTEND = "native nativesdk" -EXTRA_OECONF_toolchain-clang += "--disable-werror" +EXTRA_OECONF_append_toolchain-clang = " --disable-werror" diff --git a/meta-openembedded/meta-oe/licenses/ttf-mplus b/meta-openembedded/meta-oe/licenses/ttf-mplus new file mode 100644 index 000000000..c9cdca3fe --- /dev/null +++ b/meta-openembedded/meta-oe/licenses/ttf-mplus @@ -0,0 +1,16 @@ +M+ FONTS Copyright (C) 2002-2009 M+ FONTS PROJECT + +- + +LICENSE_E + + + + +These fonts are free softwares. +Unlimited permission is granted to use, copy, and distribute it, with +or without modification, either commercially and noncommercially. +THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY. + + +http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/ diff --git a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb deleted file mode 100644 index 4c7b05752..000000000 --- a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Phoronix Test Suite" -DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \ -and quantitative benchmarks in a clean, reproducible, and easy-to-use manner." -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SECTION = "console/tests" - -SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz" -SRC_URI[md5sum] = "a3d9e81f5abc1921d3aaf710ac4f4046" -SRC_URI[sha256sum] = "acb9dfcf4a3452aaf82cce59ccc04fa4cf51a43617a6cca9d1f9c5c670a5655d" - -S = "${WORKDIR}/phoronix-test-suite" - -inherit systemd allarch - -do_install() { - DESTDIR=${D} ./install-sh ${exec_prefix} - - if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then - install -d ${D}/${systemd_unitdir}/system/ - mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/ - rm -rf ${D}/usr/lib/ - fi -} - -# It is not advisable to enable these services by default since they can cause -# continual target reboots if they encounter network problems. -# -SYSTEMD_AUTO_ENABLE = "disable" -SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service" - -RDEPENDS_${PN} += "bash python php-cli util-linux-lscpu os-release lsb" - -FILES_${PN} += " \ - ${datadir}/phoronix-test-suite \ - ${datadir}/appdata/phoronix-test-suite.appdata.xml \ - ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \ - ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \ - ${datadir}/mime/packages/openbenchmarking-mime.xml \ - ${systemd_unitdir}/* \ -" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb new file mode 100644 index 000000000..873384496 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb @@ -0,0 +1,41 @@ +SUMMARY = "Phoronix Test Suite" +DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \ +and quantitative benchmarks in a clean, reproducible, and easy-to-use manner." +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +SECTION = "console/tests" + +SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz" +SRC_URI[md5sum] = "08fc81d25a1c24c7b091ac78ef145da6" +SRC_URI[sha256sum] = "d6feeeafb6d636667480b6fbfd2a6537e3b354b2c7c72305784d14d38ab4bcd0" + +S = "${WORKDIR}/phoronix-test-suite" + +inherit systemd allarch + +do_install() { + DESTDIR=${D} ./install-sh ${exec_prefix} + + if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then + install -d ${D}/${systemd_unitdir}/system/ + mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/ + rm -rf ${D}/usr/lib/ + fi +} + +# It is not advisable to enable these services by default since they can cause +# continual target reboots if they encounter network problems. +# +SYSTEMD_AUTO_ENABLE = "disable" +SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service" + +RDEPENDS_${PN} += "bash python php-cli util-linux-lscpu os-release lsb" + +FILES_${PN} += " \ + ${datadir}/phoronix-test-suite \ + ${datadir}/appdata/phoronix-test-suite.appdata.xml \ + ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \ + ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \ + ${datadir}/mime/packages/openbenchmarking-mime.xml \ + ${systemd_unitdir}/* \ +" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb index 706a55e11..741142c50 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb +++ b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb @@ -2,8 +2,8 @@ SUMMARY = "Small collection of benchmarks for storage I/O" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b529aaa6a0c50f15d29f89609b5c22f3" -SRCREV = "262227ec9de4be1ab41d9918d32ceb773089f1dd" -PV = "3.2+git${SRCPV}" +SRCREV = "8d22ab8a4cc1484622c47ac9c5944fb9a61a5c0f" +PV = "3.4" SRC_URI = "git://github.com/Algodev-github/S.git;protocol=https;branch=master" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch deleted file mode 100644 index 2d5709f3f..000000000 --- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch +++ /dev/null @@ -1,74 +0,0 @@ -From dd9b40c54f160a44f1d78e5946d4cd00a8852802 Mon Sep 17 00:00:00 2001 -From: Dengke Du -Date: Wed, 21 Sep 2016 03:17:32 -0400 -Subject: [PATCH] lm-sensors: fix sensors-detect can't read the cpu information - on fsl-t4xxx - -This is because two reasons: - -1. The sensors-detect program in lm-sensors depends on the file '/proc/cpuinfo', - different arch write different infomation to it. That program supports x86 - and x86-64 well, but weak on ppc and arm. - -2. The sensors-detect program show the cpu information just design for intel's - cpu, when meets other arch, it can't output the correct information. - -So we need to add the ppc and arm support for this program: - -1. add the ppc cpu information field 'cpu' in initialize_cpu_list function. - -2. add the correspond case of ppc and arm when print cpu information in - print_cpu_info function. - -Upstream-Status: Pending - -Signed-off-by: Dengke Du ---- - prog/detect/sensors-detect | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect -index 5f62405..ae4def1 100755 ---- a/prog/detect/sensors-detect -+++ b/prog/detect/sensors-detect -@@ -2833,6 +2833,7 @@ sub kernel_version_at_least - # model name and stepping, directly taken from /proc/cpuinfo. - use vars qw(@cpu); - -+# The added field 'cpu' is for support the ppc. - sub initialize_cpu_list - { - local $_; -@@ -2848,7 +2849,7 @@ sub initialize_cpu_list - }; - next; - } -- if (m/^(vendor_id|cpu family|model|model name|stepping|cpuid level)\s*:\s*(.+)$/) { -+ if (m/^(vendor_id|cpu family|model|model name|stepping|cpuid level|cpu|revision)\s*:\s*(.+)$/) { - my $k = $1; - my $v = $2; - $v =~ s/\s+/ /g; # Merge multiple spaces -@@ -2861,12 +2862,20 @@ sub initialize_cpu_list - push @cpu, $entry if scalar keys(%{$entry}); # Last entry - } - -+# The field 'model name' is for ARM. -+# The field 'cpu' is for ppc. - sub print_cpu_info - { - my $cpu = $cpu[0]; - if ( $cpu->{'model name'} && $cpu->{'cpu family'} && $cpu->{model} && $cpu->{stepping} ) { - print "# Processor: $cpu->{'model name'} ($cpu->{'cpu family'}/$cpu->{model}/$cpu->{stepping})\n"; - } -+ elsif ( $cpu->{'model name'} ) { -+ print "# Processor: $cpu->{'model name'}\n"; -+ } -+ elsif ( $cpu->{'cpu'} && $cpu->{'revision'} ) { -+ print "# Processor: $cpu->{'cpu'} $cpu->{'revision'}\n"; -+ } - else { - print "# Processor: There isn't enough cpu info for this arch!!!\n"; - } --- -2.8.1 - diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch index abf6e752a..337fb11dd 100644 --- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch @@ -1,8 +1,8 @@ -From c4428260e7685ebaf5c26c6ecaae5a56849853e8 Mon Sep 17 00:00:00 2001 +From 05a4d54e2adc4caed507baca529089ec01f48340 Mon Sep 17 00:00:00 2001 From: Li Zhou Date: Tue, 6 Sep 2016 14:04:29 +0800 -Subject: [PATCH] lmsensors: sensors-detect: print a special message when there - isn't enough cpu info +Subject: [PATCH 1/2] lmsensors: sensors-detect: print a special message when + there isn't enough cpu info When running sensors-detect, if there isn't enough information in /proc/cpuinfo for this arch (e.g. ppc64), "Use of uninitialized value @@ -18,10 +18,10 @@ Signed-off-by: Li Zhou 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect -index 3c2b44f..5f62405 100755 +index 0b3b0ff2..68594cd7 100755 --- a/prog/detect/sensors-detect +++ b/prog/detect/sensors-detect -@@ -2864,7 +2864,12 @@ sub initialize_cpu_list +@@ -3119,7 +3119,12 @@ sub initialize_cpu_list sub print_cpu_info { my $cpu = $cpu[0]; @@ -36,5 +36,5 @@ index 3c2b44f..5f62405 100755 # @i2c_adapters is a list of references to hashes, one hash per I2C/SMBus -- -1.9.1 +2.21.0 diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch deleted file mode 100644 index fb3878dc3..000000000 --- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 727524453f115ddc05109e9bbb3d0e60a7db9185 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 16 Jul 2017 15:05:50 -0700 -Subject: [PATCH] prog: Do not limit sys/io.h header include to just glibc - -musl provides it too. - -Signed-off-by: Khem Raj ---- - prog/dump/isadump.c | 6 ------ - prog/dump/isaset.c | 6 ------ - prog/dump/superio.c | 5 ----- - prog/dump/util.c | 5 ----- - 4 files changed, 22 deletions(-) - -diff --git a/prog/dump/isadump.c b/prog/dump/isadump.c -index e0e6f00..8794537 100644 ---- a/prog/dump/isadump.c -+++ b/prog/dump/isadump.c -@@ -36,13 +36,7 @@ - #include "util.h" - #include "superio.h" - -- --/* To keep glibc2 happy */ --#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 - #include --#else --#include --#endif - - #ifdef __powerpc__ - unsigned long isa_io_base = 0; /* XXX for now */ -diff --git a/prog/dump/isaset.c b/prog/dump/isaset.c -index e743755..85a4f64 100644 ---- a/prog/dump/isaset.c -+++ b/prog/dump/isaset.c -@@ -32,13 +32,7 @@ - #include - #include "util.h" - -- --/* To keep glibc2 happy */ --#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 - #include --#else --#include --#endif - - #ifdef __powerpc__ - unsigned long isa_io_base = 0; /* XXX for now */ -diff --git a/prog/dump/superio.c b/prog/dump/superio.c -index 64ef27b..906fe55 100644 ---- a/prog/dump/superio.c -+++ b/prog/dump/superio.c -@@ -20,12 +20,7 @@ - */ - - #include -- --#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 - #include --#else --#include --#endif - - #include "superio.h" - -diff --git a/prog/dump/util.c b/prog/dump/util.c -index 874c1b9..197fa64 100644 ---- a/prog/dump/util.c -+++ b/prog/dump/util.c -@@ -11,12 +11,7 @@ - #include - #include "util.h" - --/* To keep glibc2 happy */ --#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 - #include --#else --#include --#endif - - /* Return 1 if we should continue, 0 if we should abort */ - int user_ack(int def) --- -2.13.3 - diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0002-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0002-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch new file mode 100644 index 000000000..68f51f5a6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0002-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch @@ -0,0 +1,74 @@ +From 26742544bc9f136093b6be78259f4a891870aa3c Mon Sep 17 00:00:00 2001 +From: Dengke Du +Date: Wed, 21 Sep 2016 03:17:32 -0400 +Subject: [PATCH 2/2] lm-sensors: fix sensors-detect can't read the cpu + information on fsl-t4xxx + +This is because two reasons: + +1. The sensors-detect program in lm-sensors depends on the file '/proc/cpuinfo', + different arch write different infomation to it. That program supports x86 + and x86-64 well, but weak on ppc and arm. + +2. The sensors-detect program show the cpu information just design for intel's + cpu, when meets other arch, it can't output the correct information. + +So we need to add the ppc and arm support for this program: + +1. add the ppc cpu information field 'cpu' in initialize_cpu_list function. + +2. add the correspond case of ppc and arm when print cpu information in + print_cpu_info function. + +Upstream-Status: Pending + +Signed-off-by: Dengke Du +--- + prog/detect/sensors-detect | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect +index 68594cd7..efe2c1af 100755 +--- a/prog/detect/sensors-detect ++++ b/prog/detect/sensors-detect +@@ -3088,6 +3088,7 @@ sub kernel_version_at_least + # model name and stepping, directly taken from /proc/cpuinfo. + use vars qw(@cpu); + ++# The added field 'cpu' is for support the ppc. + sub initialize_cpu_list + { + local $_; +@@ -3103,7 +3104,7 @@ sub initialize_cpu_list + }; + next; + } +- if (m/^(vendor_id|cpu family|model|model name|stepping|cpuid level)\s*:\s*(.+)$/) { ++ if (m/^(vendor_id|cpu family|model|model name|stepping|cpuid level|cpu|revision)\s*:\s*(.+)$/) { + my $k = $1; + my $v = $2; + $v =~ s/\s+/ /g; # Merge multiple spaces +@@ -3116,12 +3117,20 @@ sub initialize_cpu_list + push @cpu, $entry if scalar keys(%{$entry}); # Last entry + } + ++# The field 'model name' is for ARM. ++# The field 'cpu' is for ppc. + sub print_cpu_info + { + my $cpu = $cpu[0]; + if ( $cpu->{'model name'} && $cpu->{'cpu family'} && $cpu->{model} && $cpu->{stepping} ) { + print "# Processor: $cpu->{'model name'} ($cpu->{'cpu family'}/$cpu->{model}/$cpu->{stepping})\n"; + } ++ elsif ( $cpu->{'model name'} ) { ++ print "# Processor: $cpu->{'model name'}\n"; ++ } ++ elsif ( $cpu->{'cpu'} && $cpu->{'revision'} ) { ++ print "# Processor: $cpu->{'cpu'} $cpu->{'revision'}\n"; ++ } + else { + print "# Processor: There isn't enough cpu info for this arch!!!\n"; + } +-- +2.21.0 + diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb deleted file mode 100644 index 4dbef73b9..000000000 --- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb +++ /dev/null @@ -1,148 +0,0 @@ -SUMMARY = "lm_sensors" -DESCRIPTION = "Hardware health monitoring applications" -HOMEPAGE = "http://www.lm-sensors.org/" -LICENSE = "GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ - file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "sysfsutils virtual/libiconv bison-native flex-native rrdtool" - -SRC_URI = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz \ - file://fancontrol.init \ - file://sensord.init \ - file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \ - file://0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch \ - file://0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch \ -" -SRC_URI[md5sum] = "1e9f117cbfa11be1955adc96df71eadb" -SRC_URI[sha256sum] = "e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e" - -# It is using '-' but not '.' as delimiter for the version in the releases page, -# which causes the version comparison unmatched. -#UPSTREAM_CHECK_URI = "https://github.com/groeck/lm-sensors/releases" - -RECIPE_UPSTREAM_VERSION = "3.4.0" -RECIPE_UPSTREAM_DATE = "Jun 25, 2015" -CHECK_DATE = "May 28, 2018" - -inherit update-rc.d systemd - -RDEPENDS_${PN}-dev = "" - -INITSCRIPT_PACKAGES = "${PN}-fancontrol ${PN}-sensord" -INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol" -INITSCRIPT_NAME_${PN}-sensord = "sensord" -INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66" -INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67" - -SYSTEMD_PACKAGES = "${PN}-sensord" -SYSTEMD_SERVICE_${PN}-sensord = "sensord.service lm_sensors.service fancontrol.service" -SYSTEMD_AUTO_ENABLE = "disable" - -S = "${WORKDIR}/lm-sensors-3-4-0" - -EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \ - MACHINE=${TARGET_ARCH} PREFIX=${prefix} MANDIR=${mandir} \ - LIBDIR=${libdir} \ - CC="${CC}" AR="${AR}"' - -do_compile() { - sed -i -e 's:^# \(PROG_EXTRA\):\1:' ${S}/Makefile - # Respect LDFLAGS - sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile - sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \ - ${S}/lib/Module.mk - oe_runmake user PROG_EXTRA="sensors sensord" -} - -do_install() { - oe_runmake user_install DESTDIR=${D} - install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir} - install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8 - - # Install directory - install -d ${D}${sysconfdir}/init.d - - # Install fancontrol init script - install -m 0755 ${WORKDIR}/fancontrol.init \ - ${D}${sysconfdir}/init.d/fancontrol - - # Install sensord init script - install -m 0755 ${WORKDIR}/sensord.init ${D}${sysconfdir}/init.d/sensord - - # Insall sensord service script - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/prog/init/*.service ${D}${systemd_unitdir}/system - fi -} - -RPROVIDES_${PN}-dbg += "${PN}-libsensors-dbg ${PN}-sensors-dbg ${PN}-sensord-dbg ${PN}-isatools-dbg" - -# libsensors packages -PACKAGES =+ "${PN}-libsensors ${PN}-libsensors-dev ${PN}-libsensors-staticdev ${PN}-libsensors-doc" - -# sensors command packages -PACKAGES =+ "${PN}-sensors ${PN}-sensors-doc" - -# sensord logging daemon -PACKAGES =+ "${PN}-sensord ${PN}-sensord-doc" - -# fancontrol script -PACKAGES =+ "${PN}-fancontrol ${PN}-fancontrol-doc" - -# sensors-detect script -PACKAGES =+ "${PN}-sensorsdetect ${PN}-sensorsdetect-doc" - -# sensors-conf-convert script -PACKAGES =+ "${PN}-sensorsconfconvert ${PN}-sensorsconfconvert-doc" - -# pwmconfig script -PACKAGES =+ "${PN}-pwmconfig ${PN}-pwmconfig-doc" - -# isadump and isaset helper program -PACKAGES =+ "${PN}-isatools ${PN}-isatools-doc" - - -# libsensors files -FILES_${PN}-libsensors = "${libdir}/libsensors.so.* ${sysconfdir}/sensors3.conf ${sysconfdir}/sensors.d" -FILES_${PN}-libsensors-dev = "${libdir}/libsensors.so ${includedir}" -FILES_${PN}-libsensors-staticdev = "${libdir}/libsensors.a" -FILES_${PN}-libsensors-doc = "${mandir}/man3" -RRECOMMENDS_${PN}-libsensors = "lmsensors-config-libsensors" - -# sensors command files -FILES_${PN}-sensors = "${bindir}/sensors" -FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5" -RDEPENDS_${PN}-sensors = "${PN}-libsensors" - -# sensord logging daemon -FILES_${PN}-sensord = "${sbindir}/sensord ${sysconfdir}/init.d/sensord ${systemd_unitdir}/system/sensord.service" -FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8" -RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool" -RRECOMMENDS_${PN}-sensord = "lmsensors-config-sensord" - -# fancontrol script files -FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${sysconfdir}/init.d/fancontrol" -FILES_${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8" -RDEPENDS_${PN}-fancontrol = "bash" -RRECOMMENDS_${PN}-fancontrol = "lmsensors-config-fancontrol" - -# sensors-detect script files -FILES_${PN}-sensorsdetect = "${sbindir}/sensors-detect" -FILES_${PN}-sensorsdetect-doc = "${mandir}/man8/sensors-detect.8" -RDEPENDS_${PN}-sensorsdetect = "${PN}-sensors perl perl-modules" - -# sensors-conf-convert script files -FILES_${PN}-sensorsconfconvert = "${bindir}/sensors-conf-convert" -FILES_${PN}-sensorsconfconvert-doc = "${mandir}/man8/sensors-conf-convert.8" -RDEPENDS_${PN}-sensorsconfconvert = "${PN}-sensors perl perl-modules" - -# pwmconfig script files -FILES_${PN}-pwmconfig = "${sbindir}/pwmconfig" -FILES_${PN}-pwmconfig-doc = "${mandir}/man8/pwmconfig.8" -RDEPENDS_${PN}-pwmconfig = "${PN}-fancontrol" - -# isadump and isaset helper program files -FILES_${PN}-isatools = "${sbindir}/isa*" -FILES_${PN}-isatools-doc = "${mandir}/man8/isa*" diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb new file mode 100644 index 000000000..c8e4565c1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb @@ -0,0 +1,139 @@ +SUMMARY = "Hardware health monitoring applications" +HOMEPAGE = "https://hwmon.wiki.kernel.org/" +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ + file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = " \ + bison-native \ + flex-native \ + rrdtool \ + virtual/libiconv \ +" + +SRC_URI = "git://github.com/lm-sensors/lm-sensors.git;protocol=https \ + file://fancontrol.init \ + file://sensord.init \ + file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \ + file://0002-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch \ +" +SRCREV = "e8afbda10fba571c816abddcb5c8180afc435bba" + +inherit update-rc.d systemd + +RDEPENDS_${PN}-dev = "" + +INITSCRIPT_PACKAGES = "${PN}-fancontrol ${PN}-sensord" +INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol" +INITSCRIPT_NAME_${PN}-sensord = "sensord" +INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66" +INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67" + +SYSTEMD_PACKAGES = "${PN}-sensord" +SYSTEMD_SERVICE_${PN}-sensord = "sensord.service lm_sensors.service fancontrol.service" +SYSTEMD_AUTO_ENABLE = "disable" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \ + MACHINE=${TARGET_ARCH} PREFIX=${prefix} MANDIR=${mandir} \ + LIBDIR=${libdir} \ + CC="${CC}" AR="${AR}"' + +do_compile() { + sed -i -e 's:^# \(PROG_EXTRA\):\1:' ${S}/Makefile + # Respect LDFLAGS + sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile + sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \ + ${S}/lib/Module.mk + oe_runmake user PROG_EXTRA="sensors sensord" +} + +do_install() { + oe_runmake user_install DESTDIR=${D} + install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir} + install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8 + + # Install directory + install -d ${D}${INIT_D_DIR} + + # Install fancontrol init script + install -m 0755 ${WORKDIR}/fancontrol.init ${D}${INIT_D_DIR}/fancontrol + + # Install sensord init script + install -m 0755 ${WORKDIR}/sensord.init ${D}${INIT_D_DIR}/sensord + + # Insall sensord service script + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/prog/init/*.service ${D}${systemd_system_unitdir} +} + +RPROVIDES_${PN}-dbg += "${PN}-libsensors-dbg ${PN}-sensors-dbg ${PN}-sensord-dbg ${PN}-isatools-dbg" + +# libsensors packages +PACKAGES =+ "${PN}-libsensors ${PN}-libsensors-dev ${PN}-libsensors-staticdev ${PN}-libsensors-doc" + +# sensors command packages +PACKAGES =+ "${PN}-sensors ${PN}-sensors-doc" + +# sensord logging daemon +PACKAGES =+ "${PN}-sensord ${PN}-sensord-doc" + +# fancontrol script +PACKAGES =+ "${PN}-fancontrol ${PN}-fancontrol-doc" + +# sensors-detect script +PACKAGES =+ "${PN}-sensorsdetect ${PN}-sensorsdetect-doc" + +# sensors-conf-convert script +PACKAGES =+ "${PN}-sensorsconfconvert ${PN}-sensorsconfconvert-doc" + +# pwmconfig script +PACKAGES =+ "${PN}-pwmconfig ${PN}-pwmconfig-doc" + +# isadump and isaset helper program +PACKAGES =+ "${PN}-isatools ${PN}-isatools-doc" + + +# libsensors files +FILES_${PN}-libsensors = "${libdir}/libsensors.so.* ${sysconfdir}/sensors3.conf ${sysconfdir}/sensors.d" +FILES_${PN}-libsensors-dev = "${libdir}/libsensors.so ${includedir}" +FILES_${PN}-libsensors-staticdev = "${libdir}/libsensors.a" +FILES_${PN}-libsensors-doc = "${mandir}/man3" +RRECOMMENDS_${PN}-libsensors = "lmsensors-config-libsensors" + +# sensors command files +FILES_${PN}-sensors = "${bindir}/sensors" +FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5" +RDEPENDS_${PN}-sensors = "${PN}-libsensors" + +# sensord logging daemon +FILES_${PN}-sensord = "${sbindir}/sensord ${INIT_D_DIR}/sensord ${systemd_system_unitdir}/sensord.service" +FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8" +RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool" +RRECOMMENDS_${PN}-sensord = "lmsensors-config-sensord" + +# fancontrol script files +FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${INIT_D_DIR}/fancontrol" +FILES_${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8" +RDEPENDS_${PN}-fancontrol = "bash" +RRECOMMENDS_${PN}-fancontrol = "lmsensors-config-fancontrol" + +# sensors-detect script files +FILES_${PN}-sensorsdetect = "${sbindir}/sensors-detect" +FILES_${PN}-sensorsdetect-doc = "${mandir}/man8/sensors-detect.8" +RDEPENDS_${PN}-sensorsdetect = "${PN}-sensors perl perl-modules" + +# sensors-conf-convert script files +FILES_${PN}-sensorsconfconvert = "${bindir}/sensors-conf-convert" +FILES_${PN}-sensorsconfconvert-doc = "${mandir}/man8/sensors-conf-convert.8" +RDEPENDS_${PN}-sensorsconfconvert = "${PN}-sensors perl perl-modules" + +# pwmconfig script files +FILES_${PN}-pwmconfig = "${sbindir}/pwmconfig" +FILES_${PN}-pwmconfig-doc = "${mandir}/man8/pwmconfig.8" +RDEPENDS_${PN}-pwmconfig = "${PN}-fancontrol" + +# isadump and isaset helper program files +FILES_${PN}-isatools = "${sbindir}/isa*" +FILES_${PN}-isatools-doc = "${mandir}/man8/isa*" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch deleted file mode 100644 index 5fbafbb5d..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b8862e6af1c6d022b8c182098e7deddb874ece19 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 18 Dec 2018 23:10:44 -0800 -Subject: [PATCH] Do not pass null string to %s printf formatted string - -Here the string is already decided to be NULL and passing -a null pointer to %s will not work - -Fixes -error: '%s' directive argument is null - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/67] - -Signed-off-by: Khem Raj ---- - plugins/mtk/mm-broadband-modem-mtk.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/plugins/mtk/mm-broadband-modem-mtk.c b/plugins/mtk/mm-broadband-modem-mtk.c -index 475a63ac..541de4a5 100644 ---- a/plugins/mtk/mm-broadband-modem-mtk.c -+++ b/plugins/mtk/mm-broadband-modem-mtk.c -@@ -191,7 +191,7 @@ get_supported_modes_ready (MMBaseModem *self, - - response = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error); - if (!response) { -- mm_dbg ("Fail to get response %s", response); -+ mm_dbg ("Fail to get response"); - g_task_return_error (task, error); - g_object_unref (task); - return; diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb new file mode 100644 index 000000000..8254a85fc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb @@ -0,0 +1,56 @@ +SUMMARY = "ModemManager is a daemon controlling broadband devices/connections" +DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/" +LICENSE = "GPL-2.0 & LGPL-2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +inherit gnomebase gettext systemd vala gobject-introspection bash-completion + +DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native libxslt-native" + +SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \ + file://0001-Do-not-set-Wno-unused-but-set-variable.patch \ + " +SRC_URI[md5sum] = "92d25176d0cc9d588ca29700b33c7d98" +SRC_URI[sha256sum] = "fd0f39996025dac96995daea8a58ec7dd571582f7563a8ae0d5f65b571b76ee2" + +S = "${WORKDIR}/ModemManager-${PV}" + +PACKAGECONFIG ??= "mbim qmi \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \ +" + +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,," +PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit" +# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol. +PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim" +# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol. +PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi" + +EXTRA_OECONF = " \ + --with-udev-base-dir=${nonarch_base_libdir}/udev \ +" +CFLAGS_append_toolchain-gcc = " -Wno-unused-but-set-variable" + +FILES_${PN} += " \ + ${datadir}/icons \ + ${datadir}/polkit-1 \ + ${datadir}/dbus-1 \ + ${libdir}/ModemManager \ + ${systemd_unitdir}/system \ +" + +FILES_${PN}-dev += " \ + ${libdir}/ModemManager/*.la \ +" + +FILES_${PN}-staticdev += " \ + ${libdir}/ModemManager/*.a \ +" + +FILES_${PN}-dbg += "${libdir}/ModemManager/.debug" + +SYSTEMD_SERVICE_${PN} = "ModemManager.service" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb deleted file mode 100644 index f9b302a3d..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "ModemManager is a daemon controlling broadband devices/connections" -DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/" -LICENSE = "GPL-2.0 & LGPL-2.1" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -inherit gnomebase gettext systemd vala gobject-introspection bash-completion - -DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native libxslt-native" - -SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \ - file://0001-Do-not-set-Wno-unused-but-set-variable.patch \ - file://0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch \ - " - -SRC_URI[md5sum] = "a49c9f73e46c7b89e5efedda250d22c0" -SRC_URI[sha256sum] = "96f2a5f0ed15532b4c4c185b756fdc0326e7c2027cea26a1264f91e098260f80" - -S = "${WORKDIR}/ModemManager-${PV}" - -PACKAGECONFIG ??= "mbim qmi \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \ -" - -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,," -PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit" -# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol. -PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim" -# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol. -PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi" - -EXTRA_OECONF = " \ - --with-udev-base-dir=${nonarch_base_libdir}/udev \ -" -CFLAGS_append_toolchain-gcc = " -Wno-unused-but-set-variable" - -FILES_${PN} += " \ - ${datadir}/icons \ - ${datadir}/polkit-1 \ - ${datadir}/dbus-1 \ - ${libdir}/ModemManager \ - ${systemd_unitdir}/system \ -" - -FILES_${PN}-dev += " \ - ${libdir}/ModemManager/*.la \ -" - -FILES_${PN}-staticdev += " \ - ${libdir}/ModemManager/*.a \ -" - -FILES_${PN}-dbg += "${libdir}/ModemManager/.debug" - -SYSTEMD_SERVICE_${PN} = "ModemManager.service" diff --git a/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch b/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch new file mode 100644 index 000000000..b8ed87aa0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch @@ -0,0 +1,24 @@ +From cb2a3991545ba9e885704226ed3e831bd5e4cb27 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 20 May 2019 22:10:05 -0700 +Subject: [PATCH] usbbus: Include stdint.h for uintX_t + +stdint.h is needed for uintX_t typedefs which are +used to replace u_intX_t in libusb API headers in the cmake files + +Upstream-Status: Submitted [https://github.com/nfc-tools/libnfc/pull/544] +Signed-off-by: Khem Raj +--- + libnfc/buses/usbbus.h | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/libnfc/buses/usbbus.h ++++ b/libnfc/buses/usbbus.h +@@ -35,6 +35,7 @@ + + #ifndef _WIN32 + // Under POSIX system, we use libusb (>= 0.1.12) ++#include + #include + #define USB_TIMEDOUT ETIMEDOUT + #define _usb_strerror( X ) strerror(-X) diff --git a/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb b/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb index d00733bf5..7efd3443d 100644 --- a/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb +++ b/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb @@ -9,6 +9,9 @@ inherit autotools pkgconfig S = "${WORKDIR}/git" SRCREV = "c42e2502d4627d3ea62f83c32677b100bb3cebdc" -SRC_URI = "git://github.com/nfc-tools/libnfc.git" +SRC_URI = "git://github.com/nfc-tools/libnfc.git \ + file://0001-usbbus-Include-stdint.h-for-uintX_t.patch \ + " +CFLAGS_append_libc-musl = " -D_GNU_SOURCE" DEPENDS = "libusb" diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 5fcf9899b..e34cce4eb 100644 --- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -220,7 +220,8 @@ RDEPENDS_packagegroup-meta-oe-shells ="\ NE10 = "" NE10_aarch64 = "ne10" -NE10_arm7 = "ne10" +NE10_armv7a = "ne10" +NE10_armv7ve = "ne10" RDEPENDS_packagegroup-meta-oe-support ="\ anthy asio atop augeas avro-c bdwgc frame grail \ @@ -241,7 +242,7 @@ RDEPENDS_packagegroup-meta-oe-support ="\ pngcheck poco poppler poppler-data portaudio-v19 pps-tools \ pv pxaregs raptor2 rdfind read-edid rsnapshot s3c24xx-gpio s3c64xx-gpio \ sjf2410-linux-native satyr sdparm pty-forward-native serial-forward \ - sg3-utils sharutils smem spitools srecord ssiapi start-stop-daemon stm32flash \ + sg3-utils sharutils smem spitools srecord ssiapi stm32flash \ syslog-ng system-config-keyboard tbb thin-provisioning-tools tokyocabinet \ tree uhubctl unixodbc uriparser usb-modeswitch \ usb-modeswitch-data usbpath uthash utouch-evemu utouch-frame \ diff --git a/meta-openembedded/meta-oe/recipes-core/safec/safec_3.4.bb b/meta-openembedded/meta-oe/recipes-core/safec/safec_3.4.bb new file mode 100644 index 000000000..d55d081f3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/safec/safec_3.4.bb @@ -0,0 +1,15 @@ +SUMMARY = "Safe C Library" + +LICENSE = "safec" +LIC_FILES_CHKSUM = "file://COPYING;md5=6d0eb7dfc57806a006fcbc4e389cf164" +SECTION = "lib" + +inherit autotools pkgconfig + +S = "${WORKDIR}/git" +SRCREV = "62e6b2df55084316d027165d286e46beb40513dc" +SRC_URI = "git://github.com/rurban/safeclib.git" + +COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm|aarch64).*-linux' + +RDEPENDS_${PN} = "perl" diff --git a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb index cf1d22242..51cecf5d2 100644 --- a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb +++ b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb @@ -9,7 +9,12 @@ SECTION = "console" LICENSE = "GPL-2.0-with-OpenSSL-exception" LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326" -DEPENDS = "util-linux libdevmapper popt libgcrypt json-c" +DEPENDS = " \ + json-c \ + libdevmapper \ + popt \ + util-linux \ +" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" SRC_URI[md5sum] = "41d8b985ef69242852b93e95d53e8e28" @@ -19,9 +24,45 @@ inherit autotools gettext pkgconfig # Use openssl because libgcrypt drops root privileges # if libgcrypt is linked with libcap support -PACKAGECONFIG ??= "openssl" +PACKAGECONFIG ??= " \ + keyring \ + cryptsetup \ + veritysetup \ + cryptsetup-reencrypt \ + integritysetup \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ + udev \ + kernel_crypto \ + internal-argon2 \ + blkid \ + luks-adjust-xts-keysize \ + openssl \ +" + +PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring" +PACKAGECONFIG[fips] = "--enable-fips,--disable-fips" +PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality" +PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc" +PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup" +PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup" +PACKAGECONFIG[cryptsetup-reencrypt] = "--enable-cryptsetup-reencrypt,--disable-cryptsetup-reencrypt" +PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux" +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" +PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto" +# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't +# recognized. +PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2" +PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2" +PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2" +PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" +PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random" +PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize" PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl" PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt" +PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss" +PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel" +PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle" RRECOMMENDS_${PN} = "kernel-module-aes-generic \ kernel-module-dm-crypt \ @@ -32,6 +73,12 @@ RRECOMMENDS_${PN} = "kernel-module-aes-generic \ " EXTRA_OECONF = "--enable-static" +# Building without largefile is not supported by upstream +EXTRA_OECONF += "--enable-largefile" +# Requires a static popt library +EXTRA_OECONF += "--disable-static-cryptsetup" +# There's no recipe for libargon2 yet +EXTRA_OECONF += "--disable-libargon2" FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.bb deleted file mode 100644 index e1a038dfa..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.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.15.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.15.bb new file mode 100644 index 000000000..e1a038dfa --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.15.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 fca74d448..eed23d28a 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -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] = "603ce42e35b9a688f2cca05275acb5cb" -SRC_URI[sha256sum] = "b2aa857ef5b84f85a7ea60a1eac7b34c0ca5151c71a0d44ce2d7fb028d71459a" +SRC_URI[md5sum] = "08edd8b5060a181e6dd3c6aac23218cd" +SRC_URI[sha256sum] = "27f391a54d544f93850d4edfb3ef1b4cf24f8e27e61e51727b0e7d31bb4d6968" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb deleted file mode 100644 index de24c920f..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.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.15.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.15.bb new file mode 100644 index 000000000..de24c920f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.15.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-dbs/postgresql/files/0001-Improve-reproducibility.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch new file mode 100644 index 000000000..32b7f4284 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch @@ -0,0 +1,39 @@ +From 3c13315447fa175da6c9ebe59a039e611cdb5bd1 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 4 Jun 2019 13:45:30 +0800 +Subject: [PATCH] Improve reproducibility, + +Remove build patch from binaries which pg_config do +not record var-CC, var-CFLAGS, and configure + +$ /usr/bin/pg_config --cc +not recorded + +$ /usr/bin/pg_config --configure +not recorded + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + src/common/Makefile | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/common/Makefile b/src/common/Makefile +index 1fc2c66..5e6c457 100644 +--- a/src/common/Makefile ++++ b/src/common/Makefile +@@ -27,10 +27,6 @@ include $(top_builddir)/src/Makefile.global + # don't include subdirectory-path-dependent -I and -L switches + STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS)) + STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS)) +-override CPPFLAGS += -DVAL_CONFIGURE="\"$(configure_args)\"" +-override CPPFLAGS += -DVAL_CC="\"$(CC)\"" +-override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\"" +-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\"" + override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\"" + override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\"" + override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\"" +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc index 6e2023143..0fe5d58e1 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc +++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc @@ -280,7 +280,9 @@ FILES_${PN}-timezone = "${datadir}/${BPN}/timezone \ ${datadir}/${BPN}/timezonesets \ " RDEPENDS_${PN} += "${PN}-timezone" -FILES_${PN}-server-dev = "${includedir}/${BPN}/server" +FILES_${PN}-server-dev = "${includedir}/${BPN}/server \ + ${libdir}/${BPN}/pgxs \ +" FILES_libecpg = "${libdir}/libecpg*${SOLIBS}" FILES_libecpg-dev = "${libdir}/libecpg*${SOLIBSDEV} \ diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb index ff9306c1a..a18eca320 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb +++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb @@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=87da2b84884860b71f5f24ab37e7da78" SRC_URI += "\ file://not-check-libperl.patch \ file://0001-Add-support-for-RISC-V.patch \ + file://0001-Improve-reproducibility.patch \ " SRC_URI[md5sum] = "c2a729b754b8de86a969c86ec25db076" diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch new file mode 100644 index 000000000..9682f8ad4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch @@ -0,0 +1,29 @@ +From 38146a5d803a1fb9b10f011aa857872b6f20cd02 Mon Sep 17 00:00:00 2001 +From: Tongliang Liao +Date: Mon, 29 Apr 2019 03:51:51 -0700 +Subject: [PATCH] CMake has stock FindZLIB in upper case. More details in + https://cmake.org/cmake/help/v3.14/module/FindZLIB.html + + +Upstream-Status: Backport https://github.com/facebook/rocksdb/pull/5261 + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 40cdd26bb..355686566 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -92,7 +92,7 @@ else() + endif() + + if(WITH_ZLIB) +- find_package(zlib REQUIRED) ++ find_package(ZLIB REQUIRED) + add_definitions(-DZLIB) + if(ZLIB_INCLUDE_DIRS) + # CMake 3 +-- +2.11.0 + diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch new file mode 100644 index 000000000..ba9834dfe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch @@ -0,0 +1,80 @@ +From 512aaf3d833973f6146c6f1235b590901876175e Mon Sep 17 00:00:00 2001 +From: biocodz +Date: Fri, 7 Jun 2019 09:49:37 -0400 +Subject: [PATCH] fix Issue 5303 + +Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/5426] + +--- + db/internal_stats.h | 21 +++++++++++++++++++++ + db/version_edit.h | 8 ++++++++ + utilities/persistent_cache/persistent_cache_util.h | 2 +- + 3 files changed, 30 insertions(+), 1 deletion(-) + +diff --git a/db/internal_stats.h b/db/internal_stats.h +index 6fa8727a4..09447644d 100644 +--- a/db/internal_stats.h ++++ b/db/internal_stats.h +@@ -236,6 +236,27 @@ class InternalStats { + } + } + ++ CompactionStats & operator=(const CompactionStats& c) { ++ count = c.count; ++ micros = c.micros; ++ cpu_micros = c.cpu_micros; ++ bytes_read_non_output_levels = c.bytes_read_non_output_levels; ++ bytes_read_output_level = c.bytes_read_output_level; ++ bytes_written = c.bytes_written; ++ bytes_moved = c.bytes_moved; ++ num_input_files_in_non_output_levels = ++ c.num_input_files_in_non_output_levels; ++ num_input_files_in_output_level = c.num_input_files_in_output_level; ++ num_output_files = c.num_output_files; ++ num_input_records = c.num_input_records; ++ num_dropped_records = c.num_dropped_records; ++ int num_of_reasons = static_cast(CompactionReason::kNumOfReasons); ++ for (int i = 0; i < num_of_reasons; i++) { ++ counts[i] = c.counts[i]; ++ } ++ return *this; ++ } ++ + void Clear() { + this->micros = 0; + this->cpu_micros = 0; +diff --git a/db/version_edit.h b/db/version_edit.h +index 229531792..5c50ef552 100644 +--- a/db/version_edit.h ++++ b/db/version_edit.h +@@ -52,6 +52,14 @@ struct FileDescriptor { + smallest_seqno(_smallest_seqno), + largest_seqno(_largest_seqno) {} + ++ FileDescriptor(const FileDescriptor& fd) { ++ table_reader = fd.table_reader; ++ packed_number_and_path_id = fd.packed_number_and_path_id; ++ file_size = fd.file_size; ++ smallest_seqno = fd.smallest_seqno; ++ largest_seqno = fd.largest_seqno; ++ } ++ + FileDescriptor& operator=(const FileDescriptor& fd) { + table_reader = fd.table_reader; + packed_number_and_path_id = fd.packed_number_and_path_id; +diff --git a/utilities/persistent_cache/persistent_cache_util.h b/utilities/persistent_cache/persistent_cache_util.h +index 214bb5875..254c038f9 100644 +--- a/utilities/persistent_cache/persistent_cache_util.h ++++ b/utilities/persistent_cache/persistent_cache_util.h +@@ -48,7 +48,7 @@ class BoundedQueue { + T t = std::move(q_.front()); + size_ -= t.Size(); + q_.pop_front(); +- return std::move(t); ++ return t; + } + + size_t Size() const { +-- +2.11.0 + diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb index 8d846197a..9fd5ee15b 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb +++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb @@ -6,24 +6,28 @@ LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837" -SRCREV = "641fae60f63619ed5d0c9d9e4c4ea5a0ffa3e253" -SRCBRANCH = "5.18.fb" -PV = "5.18.3" +SRCREV = "628a7fd74b5611657106c57f724f1682b114684c" +SRCBRANCH = "6.0.fb" +PV = "6.0.2" SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \ + file://0001-CMake-has-stock-FindZLIB-in-upper-case.patch \ file://0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch \ file://0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch \ + file://0001-fix-Issue-5303.patch \ " S = "${WORKDIR}/git" inherit cmake -PACKAGECONFIG ??= "bzip2 zlib lz4" +PACKAGECONFIG ??= "bzip2 zlib lz4 gflags" PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON -DBZIP2_LIBRARIES:STRING=bz2,-DWITH_BZ2=OFF,bzip2" PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON -DLZ4_LIBRARIES:STRING=lz4,-DWITH_LZ4=OFF,lz4" -PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON -DZLIB_LIBRARIES:STRING=z,-DWITH_ZLIB=OFF,zlib" +PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON -DZLIB_LIBRARY:STRING=z,-DWITH_ZLIB=OFF,zlib" +PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF" +PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" # Tools and tests currently don't compile on armv5 so we disable them EXTRA_OECMAKE = "\ diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup index beca353e6..26cf30edd 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup @@ -9,6 +9,15 @@ # model=$(getprop ro.product.model Android) # serial=$(getprop ro.serialno 0123456789ABCDEF) +#below are now needed in order to use FunctionFS for ADB, tested to work with 3.4+ kernels +if grep -q functionfs /proc/filesystems; then + mkdir -p /dev/usb-ffs/adb + mount -t functionfs adb /dev/usb-ffs/adb + #android-gadget-setup doesn't provide below 2 and without them it won't work, so we provide them here. + echo adb > /sys/class/android_usb/android0/f_ffs/aliases + echo ffs > /sys/class/android_usb/android0/functions +fi + manufacturer="$(cat /system/build.prop | grep -o 'ro.product.manufacturer=.*' | cut -d'=' -f 2)" model="$(cat /system/build.prop | grep -o 'ro.product.model=.*' | cut -d'=' -f 2)" # get the device serial number from /proc/cmdline directly(since we have no getprop on diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch new file mode 100644 index 000000000..c80d9f19f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch @@ -0,0 +1,59 @@ +From bee22f143ffa0457aefcf31053f76416e6d242e5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 20 May 2019 23:24:26 -0700 +Subject: [PATCH] esirisc_flash: Rename PAGE_SIZE to FLASH_PAGE_SIZE + +PAGE_SIZE is defined in system includes on some systems, this would +avoid the unintended conflict + +Fixes +| src/flash/nor/esirisc_flash.c:95:9: error: 'PAGE_SIZE' macro redefined [-Werror,-Wmacro-redefined] +| #define PAGE_SIZE 4096 +| ^ +| /mnt/a/yoe/build/tmp/work/core2-64-yoe-linux-musl/openocd/0.10+gitrAUTOINC+7ee618692f-r0/recipe-sysroot/usr/inclu +de/limits.h:89:9: note: previous definition is here +| #define PAGE_SIZE PAGESIZE + +Upstream-Status: Submitted [http://openocd.zylin.com/#/c/5180/2] +Change-Id: I195b303fc88a7c848ca4e55fd6ba893796df55cc +Signed-off-by: Khem Raj +--- + src/flash/nor/esirisc_flash.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/flash/nor/esirisc_flash.c b/src/flash/nor/esirisc_flash.c +index 4e33b942..3bed0658 100644 +--- a/src/flash/nor/esirisc_flash.c ++++ b/src/flash/nor/esirisc_flash.c +@@ -92,7 +92,7 @@ + #endif + + #define CONTROL_TIMEOUT 5000 /* 5s */ +-#define PAGE_SIZE 4096 ++#define FLASH_PAGE_SIZE 4096 + #define PB_MAX 32 + + #define NUM_NS_PER_S 1000000000ULL +@@ -264,7 +264,7 @@ static int esirisc_flash_erase(struct flash_bank *bank, int first, int last) + (void)esirisc_flash_disable_protect(bank); + + for (int page = first; page < last; ++page) { +- uint32_t address = page * PAGE_SIZE; ++ uint32_t address = page * FLASH_PAGE_SIZE; + + target_write_u32(target, esirisc_info->cfg + ADDRESS, address); + +@@ -464,8 +464,8 @@ static int esirisc_flash_probe(struct flash_bank *bank) + if (target->state != TARGET_HALTED) + return ERROR_TARGET_NOT_HALTED; + +- bank->num_sectors = bank->size / PAGE_SIZE; +- bank->sectors = alloc_block_array(0, PAGE_SIZE, bank->num_sectors); ++ bank->num_sectors = bank->size / FLASH_PAGE_SIZE; ++ bank->sectors = alloc_block_array(0, FLASH_PAGE_SIZE, bank->num_sectors); + + retval = esirisc_flash_init(bank); + if (retval != ERROR_OK) { +-- +2.21.0 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb index 9a8a09a91..b50c3acf4 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb @@ -9,6 +9,7 @@ SRC_URI = " \ git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl \ git://repo.or.cz/r/jimtcl.git;protocol=http;destsuffix=git/jimtcl;name=jimtcl \ git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink \ + file://0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch \ " SRCREV_FORMAT = "openocd" diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf b/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf index 77cdd82a7..ef79a0cc9 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf @@ -1,6 +1,6 @@ # Taken from http://wiki.apache.org/httpd/PHP-FPM -LoadModule proxy_module lib/apache2/modules/mod_proxy.so -LoadModule proxy_fcgi_module lib/apache2/modules/mod_proxy_fcgi.so +LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so +LoadModule proxy_fcgi_module /usr/lib/apache2/modules/mod_proxy_fcgi.so ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/apache2/htdocs/ diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch new file mode 100644 index 000000000..21057439c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch @@ -0,0 +1,34 @@ +php-ptest: xfail two tests + +If and when these tests are modified to expect the correct output, they will +succeed and generate warnings in the test summary. This patch can then be removed. + +Note that we add a closing '?>' to one test so that it can be executed directly by php. + +Upstream-Status: Pending + +Signed-off-By: Joe Slater + + +--- a/tests/basic/bug71273.phpt ++++ b/tests/basic/bug71273.phpt +@@ -16,6 +16,8 @@ Bug #71273 A wrong ext directory setup i + var_dump(preg_match(",.+a[\\/].+[\\/]w.php_kartoffelbrei.dll.+,s", $out)); + ?> + ==DONE== ++--XFAIL-- ++Output is int(0), not int(1) + --EXPECT-- + int(1) + ==DONE== +--- a/tests/run-test/bug75042-3.phpt ++++ b/tests/run-test/bug75042-3.phpt +@@ -8,5 +8,8 @@ display_errors=1 + nonexistentsharedmodule + --FILE-- + ++--XFAIL-- ++No warning message printed. + --EXPECTF-- + PHP Warning: PHP Startup: Unable to load dynamic library '%snonexistentsharedmodule.%s' %A diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.4.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.4.bb deleted file mode 100644 index 1a5c9760d..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.4.bb +++ /dev/null @@ -1,25 +0,0 @@ -require php.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=fb07bfc51f6d5e0c30b65d9701233b2e" - -SRC_URI += "file://0001-acinclude.m4-don-t-unset-cache-variables.patch \ - file://0048-Use-pkg-config-for-FreeType2-detection.patch \ - file://0049-ext-intl-Use-pkg-config-to-detect-icu.patch \ - file://0001-Use-pkg-config-for-libxml2-detection.patch \ - " -SRC_URI_append_class-target = " \ - file://pear-makefile.patch \ - file://phar-makefile.patch \ - file://0001-opcache-config.m4-enable-opcache.patch \ - " - -SRC_URI[md5sum] = "efb58aea95a66738d871f83ec55fec6f" -SRC_URI[sha256sum] = "2e2c3d8212c83649e443b61efffbd03df4b9edd0f9c7a679081fe4cb2da12b78" - -PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ - --with-pdo-mysql=mysqlnd \ - ,--without-mysqli --without-pdo-mysql \ - ,mysql5" -PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" - -FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default" diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb new file mode 100644 index 000000000..b1cac1c07 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb @@ -0,0 +1,26 @@ +require php.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=fb07bfc51f6d5e0c30b65d9701233b2e" + +SRC_URI += "file://0001-acinclude.m4-don-t-unset-cache-variables.patch \ + file://0048-Use-pkg-config-for-FreeType2-detection.patch \ + file://0049-ext-intl-Use-pkg-config-to-detect-icu.patch \ + file://0001-Use-pkg-config-for-libxml2-detection.patch \ + " +SRC_URI_append_class-target = " \ + file://pear-makefile.patch \ + file://phar-makefile.patch \ + file://0001-opcache-config.m4-enable-opcache.patch \ + file://xfail_two_bug_tests.patch \ + " + +SRC_URI[md5sum] = "bde9a912fb311182cd460dad1abbc247" +SRC_URI[sha256sum] = "1e5ac8700154835c0910e3a814517da9b87bb4a82cc7011fea1a82096b6f6f77" + +PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ + --with-pdo-mysql=mysqlnd \ + ,--without-mysqli --without-pdo-mysql \ + ,mysql5" +PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" + +FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default" diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb new file mode 100644 index 000000000..d00d1e2a0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "JavaScript minifier." +HOMEPAGE = "https://github.com/tikitu/jsmin/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3a3301ce2ad647e172f4a1016c67324d" + +inherit setuptools pypi +SRC_URI[md5sum] = "00e7a3179a4591aab2ee707b3214e2fd" +SRC_URI[sha256sum] = "b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb deleted file mode 100644 index 348a0398f..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Python GObject bindings" -HOMEPAGE = "http://www.pygtk.org/" -SECTION = "devel/python" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" - -inherit gnomebase gobject-introspection distutils-base upstream-version-is-even - -DEPENDS += "python glib-2.0" - -SRCNAME = "pygobject" -SRC_URI = " \ - http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \ -" - -SRC_URI[md5sum] = "3bac63c86bb963aa401f97859464aa90" -SRC_URI[sha256sum] = "3dd3e21015d06e00482ea665fc1733b77e754a6ab656a5db5d7f7bfaf31ad0b0" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -BBCLASSEXTEND = "native" - -EXTRA_OECONF = "--disable-cairo" - -RDEPENDS_${PN} += "python-setuptools" -RDEPENDS_${PN}_class-native = "" - -do_install_append() { - # Remove files that clash with python3-pygobject; their content is same - rm -r ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig -} diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb new file mode 100644 index 000000000..c26b3838e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb @@ -0,0 +1,35 @@ +SUMMARY = "Python GObject bindings" +HOMEPAGE = "http://www.pygtk.org/" +SECTION = "devel/python" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gobject-introspection distutils-base upstream-version-is-even + +DEPENDS += "python glib-2.0" + +SRCNAME = "pygobject" +SRC_URI = " \ + http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \ +" + +SRC_URI[md5sum] = "9d5dbca10162dd9b0d03fed0c6cf865d" +SRC_URI[sha256sum] = "32c99def94b8dea5ce9e4bc99576ef87591ea779b4db77cfdca7af81b76d04d8" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +UNKNOWN_CONFIGURE_WHITELIST = "introspection" + +PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python-pycairo, python-pycairo" +PACKAGECONFIG[tests] = "-Dtests=true, -Dtests=false, , " + + +BBCLASSEXTEND = "native" +RDEPENDS_${PN} = "python-setuptools" +RDEPENDS_${PN}_class-native = "" + +do_install_append() { + # Remove files that clash with python3-pygobject; their content is same + rm -r ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig +} diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc new file mode 100644 index 000000000..1019c09d0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc @@ -0,0 +1,12 @@ +SUMMARY = "A TOML-0.4.0 parser/writer for Python" +HOMEPAGE = "https://pypi.python.org/pypi/pytoml/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cfff423699bdaef24331933ac4f56078" + +SRC_URI[md5sum] = "a11d8a4859b53f6ebe2f782314428911" +SRC_URI[sha256sum] = "ca2d0cb127c938b8b76a9a0d0f855cf930c1d50cc3a0af6d3595b566519a1013" + +inherit pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.20.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.20.bb new file mode 100644 index 000000000..88fa95317 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.20.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require python-pytoml.inc diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.12.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.12.0.bb new file mode 100644 index 000000000..af26e83d6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.12.0.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require recipes-devtools/python/python-six.inc diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb new file mode 100644 index 000000000..901fdc763 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "which.py -- a portable GNU which replacement" +HOMEPAGE = "http://code.google.com/p/which/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=030b09798681482b9ad12ac47be496ea" + +inherit setuptools pypi python-dir + +SRCREV = "425bdeeb2d87c36e2313dc4b8d69ff2bb5a02ee9" +PYPI_SRC_URI = "git://github.com/trentm/which" + +S = "${WORKDIR}/git" + +do_install_append() { + rmdir -p --ignore-fail-on-non-empty ${D}${STAGING_BINDIR_NATIVE} + rmdir -p --ignore-fail-on-non-empty ${D}${datadir} +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch new file mode 100644 index 000000000..5b68f1966 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch @@ -0,0 +1,20 @@ +Some ARM cpus does not report the cache size or say it is -1 + +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866306 + +Upstream-status: Pending + +Index: haveged-1.9.2/src/havegetune.c +=================================================================== +--- haveged-1.9.2.orig/src/havegetune.c ++++ haveged-1.9.2/src/havegetune.c +@@ -795,6 +795,9 @@ static int vfs_configInfoCache( + ctype = vfs_configFile(pAnchor, path, vfs_configType); + strcpy(path+plen, "size"); + size = vfs_configFile(pAnchor, path, vfs_configInt); ++ if (size == -1) { ++ size = ctype == 'I' ? GENERIC_ICACHE : GENERIC_DCACHE; ++ } + cfg_cacheAdd(pAnchor, SRC_VFS_INDEX, pArgs[1], level, ctype, size); + } + } diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb index 32aab59f1..d0e1a29dd 100644 --- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb +++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRCREV = "faa40ff345af194d3253f5fb030403e3c9831c36" SRC_URI = "git://github.com/jirka-h/haveged.git \ file://haveged-init.d-Makefile.am-add-missing-dependency.patch \ + file://fix-cpu-cache-size-detection.patch \ " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb deleted file mode 100644 index 5f4155ea5..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Portable Hardware Locality (hwloc) software package" -DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \ - provides a portable abstraction of the hierarchical topology of modern \ - architectures." -HOMEPAGE = "https://www.open-mpi.org/software/hwloc/" -SECTION = "base" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b" - -SRC_URI = "https://www.open-mpi.org/software/${BPN}/v1.11/downloads/${BP}.tar.bz2" -SRC_URI[md5sum] = "0981a01935982aa7e850a96e0c3057b0" -SRC_URI[sha256sum] = "2be808383d8337846fe77ce49c7ad3336fb6857505494d85c0ac03f22c5bd1e7" - -UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v1.11/" - -inherit autotools pkgconfig - -DEPENDS += "ncurses udev zlib" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}" - -PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" - -PACKAGECONFIG[numactl] = "--enable-libnuma,--disable-libnuma,numactl,numactl" -PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2" -PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo" -PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess" - -# Split hwloc library into separate subpackage -PACKAGES_prepend = " libhwloc " -FILES_libhwloc += "${libdir}/libhwloc.so.*" -RDEPENDS_${PN} += "libhwloc (= ${EXTENDPKGV})" diff --git a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb new file mode 100644 index 000000000..4f5b248c4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb @@ -0,0 +1,31 @@ +SUMMARY = "Portable Hardware Locality (hwloc) software package" +DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \ + provides a portable abstraction of the hierarchical topology of modern \ + architectures." +HOMEPAGE = "https://www.open-mpi.org/software/hwloc/" +SECTION = "base" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b" + +SRC_URI = "https://www.open-mpi.org/software/${BPN}/v1.11/downloads/${BP}.tar.bz2" +SRC_URI[md5sum] = "c2a2e4e23eeb719ed31a755684697cf9" +SRC_URI[sha256sum] = "ddfb7b9b4571551165b0fd824a340e58814c8c2b4af64c818579d4bc695a417d" + +UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v1.11/" + +inherit autotools pkgconfig + +DEPENDS += "ncurses udev zlib" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}" + +PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" + +PACKAGECONFIG[numactl] = "--enable-libnuma,--disable-libnuma,numactl,numactl" +PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2" +PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo" +PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess" + +# Split hwloc library into separate subpackage +PACKAGES_prepend = " libhwloc " +FILES_libhwloc += "${libdir}/libhwloc.so.*" +RDEPENDS_${PN} += "libhwloc (= ${EXTENDPKGV})" diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-To-fix-build-error-on-arm32BE.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-To-fix-build-error-on-arm32BE.patch index 3bbd10a17..056f74a52 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-To-fix-build-error-on-arm32BE.patch +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-To-fix-build-error-on-arm32BE.patch @@ -7,13 +7,13 @@ error: #error Target architecture was not detected as supported by Double-Conver Signed-off-by: Lei Maohui --- - mfbt/double-conversion/utils.h | 2 +- + mfbt/double-conversion/double-conversion/utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h +diff --git a/mfbt/double-conversion/double-conversion/utils.h b/mfbt/double-conversion/double-conversion/utils.h index 4f37218..93575cb 100644 ---- a/mfbt/double-conversion/utils.h -+++ b/mfbt/double-conversion/utils.h +--- a/mfbt/double-conversion/double-conversion/utils.h ++++ b/mfbt/double-conversion/double-conversion/utils.h @@ -53,7 +53,7 @@ // disabled.) // On Linux,x86 89255e-22 != Div_double(89255.0/1e22) diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch index ba317bc0c..a3c1b69e2 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch @@ -14,11 +14,9 @@ Signed-off-by: Hongxu Jia js/src/old-configure | 4 ++-- 3 files changed, 11 insertions(+), 21 deletions(-) -diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure -index 2123beb..6fe6591 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure -@@ -179,24 +179,6 @@ def virtualenv_python(env_python, build_env, mozconfig, help): +@@ -250,24 +250,6 @@ def virtualenv_python(env_python, build_ else: python = sys.executable @@ -42,9 +40,7 @@ index 2123beb..6fe6591 100644 - return python - set_config('PYTHON', virtualenv_python) -diff --git a/configure.py b/configure.py -index f7392d0..45323a5 100644 + --- a/configure.py +++ b/configure.py @@ -12,7 +12,15 @@ import textwrap @@ -62,22 +58,11 @@ index f7392d0..45323a5 100644 + sys.path.insert(0, os.path.join(sub_dir, module_dir)) + from mozbuild.configure import ConfigureSandbox - from mozbuild.util import ( - indented_repr, -diff --git a/js/src/old-configure b/js/src/old-configure -index ee4527b..75b00e1 100644 + from mozbuild.makeutil import Makefile + from mozbuild.pythonutil import iter_modules_in_path --- a/js/src/old-configure +++ b/js/src/old-configure -@@ -10512,7 +10512,7 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then - ;; - esac - -- eval $dumpenv $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args -+ eval $dumpenv PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args - - done - -@@ -10931,7 +10931,7 @@ if test "$JS_STANDALONE"; then +@@ -9974,7 +9974,7 @@ if test "$JS_STANDALONE"; then if test "$no_recursion" != yes; then trap '' EXIT @@ -86,6 +71,3 @@ index ee4527b..75b00e1 100644 exit 1 fi fi --- -2.7.4 - 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 bc1af3c70..a36478bfb 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 @@ -22,11 +22,9 @@ Signed-off-by: Hongxu Jia 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 6fe6591..a77b46c 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure -@@ -357,7 +357,10 @@ def split_triplet(triplet): +@@ -650,7 +650,10 @@ def split_triplet(triplet, allow_unknown canonical_cpu = 'mips32' endianness = 'little' if 'el' in cpu else 'big' elif cpu in ('mips64', 'mips64el'): @@ -38,11 +36,9 @@ index 6fe6591..a77b46c 100644 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 7afe305..c6e29dc 100644 --- a/js/src/jit/mips-shared/Architecture-mips-shared.h +++ b/js/src/jit/mips-shared/Architecture-mips-shared.h -@@ -24,6 +24,8 @@ +@@ -26,6 +26,8 @@ #define USES_O32_ABI #elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABI64)) || defined(JS_SIMULATOR_MIPS64) #define USES_N64_ABI @@ -51,7 +47,7 @@ index 7afe305..c6e29dc 100644 #else #error "Unsupported ABI" #endif -@@ -91,7 +93,7 @@ class Registers +@@ -93,7 +95,7 @@ class Registers ta1 = t5, ta2 = t6, ta3 = t7, @@ -60,20 +56,15 @@ index 7afe305..c6e29dc 100644 a4 = r8, a5 = r9, a6 = r10, -diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py -index dfc7cf8..27f83ab 100644 --- a/python/mozbuild/mozbuild/configure/constants.py +++ b/python/mozbuild/mozbuild/configure/constants.py -@@ -83,8 +83,8 @@ CPU_preprocessor_checks = OrderedDict(( +@@ -90,8 +90,8 @@ CPU_preprocessor_checks = OrderedDict(( ('hppa', '__hppa__'), ('sparc64', '__sparc__ && __arch64__'), ('sparc', '__sparc__'), - ('mips64', '__mips64'), ('mips32', '__mips__'), + ('mips64', '__mips64'), + ('sh4', '__sh__'), )) - assert sorted(CPU_preprocessor_checks.keys()) == sorted(CPU.POSSIBLE_VALUES) --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js-Fix-build-with-musl.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js-Fix-build-with-musl.patch new file mode 100644 index 000000000..f4c6e2768 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js-Fix-build-with-musl.patch @@ -0,0 +1,31 @@ +From 0c9e8f586ba52a9aef5ed298e8315b2598b8fb72 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 25 May 2019 16:54:45 -0700 +Subject: [PATCH] js: Fix build with musl + +The MIPS specific header is not provided by musl +linux kernel headers provide which has same definitions + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + js/src/jsmath.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/js/src/jsmath.cpp b/js/src/jsmath.cpp +index a28968be..8facaa81 100644 +--- a/js/src/jsmath.cpp ++++ b/js/src/jsmath.cpp +@@ -71,7 +71,7 @@ + #elif defined(__s390__) + #define GETRANDOM_NR 349 + #elif defined(__mips__) +-#include ++#include + #if _MIPS_SIM == _MIPS_SIM_ABI32 + #define GETRANDOM_NR 4353 + #elif _MIPS_SIM == _MIPS_SIM_ABI64 +-- +2.21.0 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch index c111ea5ea..e3f1883a9 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch @@ -15,13 +15,13 @@ Signed-off-by: Andreas Müller Rebase to 52.8.1 Signed-off-by: Hongxu Jia --- - js/src/js.pc.in | 2 +- + js/src/build/js.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/js/src/js.pc.in b/js/src/js.pc.in +diff --git a/js/src/build/js.pc.in b/js/src/build/js.pc.in index 2eae393..c2dea62 100644 ---- a/js/src/js.pc.in -+++ b/js/src/js.pc.in +--- a/js/src/build/js.pc.in ++++ b/js/src/build/js.pc.in @@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript Version: @MOZILLA_VERSION@ @PKGCONF_REQUIRES_PRIVATE@ diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-riscv-Disable-atomic-operations.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-riscv-Disable-atomic-operations.patch new file mode 100644 index 000000000..2e810c87f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-riscv-Disable-atomic-operations.patch @@ -0,0 +1,38 @@ +From 64ad80e6d95871f17be4cd01da15581f41ac0b2b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 27 May 2019 21:10:34 -0700 +Subject: [PATCH] riscv: Disable atomic operations + +Signed-off-by: Khem Raj +--- + js/src/jit/AtomicOperations.h | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/js/src/jit/AtomicOperations.h ++++ b/js/src/jit/AtomicOperations.h +@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfree + #include "jit/none/AtomicOperations-feeling-lucky.h" + #elif defined(__s390__) || defined(__s390x__) + #include "jit/none/AtomicOperations-feeling-lucky.h" ++#elif defined(__riscv) ++#include "jit/none/AtomicOperations-feeling-lucky.h" + #else + #error "No AtomicOperations support provided for this platform" + #endif +--- a/js/src/jit/none/AtomicOperations-feeling-lucky.h ++++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h +@@ -80,6 +80,14 @@ + #define GNUC_COMPATIBLE + #endif + ++#ifdef __riscv ++#define GNUC_COMPATIBLE ++#ifdef __riscv_xlen == 64 ++#define HAS_64BIT_ATOMICS ++#define HAS_64BIT_LOCKFREE ++#endif ++#endif ++ + // The default implementation tactic for gcc/clang is to use the newer + // __atomic intrinsics added for use in C++11 . Where that + // isn't available, we use GCC's older __sync functions instead. diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch index 38e4698f2..d1da10972 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch @@ -20,19 +20,14 @@ Signed-off-by: Hongxu Jia config/config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/config/config.mk b/config/config.mk -index 4e3fd1a..d847ffa 100644 --- a/config/config.mk +++ b/config/config.mk -@@ -523,7 +523,7 @@ EXPAND_MKSHLIB_ARGS = --uselist +@@ -423,7 +423,7 @@ EXPAND_MKSHLIB_ARGS = --uselist ifdef SYMBOL_ORDER EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER) endif -EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB) +EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB) $(OS_LDFLAGS) - # $(call CHECK_SYMBOLS,lib,PREFIX,dep_name,test) - # Checks that the given `lib` doesn't contain dependency on symbols with a --- -2.7.4 - + # autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including + # this file diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch index 32a977ce2..770d5e0aa 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch @@ -7,8 +7,6 @@ Upstream-Status: Pending Signed-off-by: Hongxu Jia --- - memory/jemalloc/src/src/pages.c | 1 - - memory/mozjemalloc/jemalloc.c | 7 +++---- mozglue/misc/TimeStamp_darwin.cpp | 1 - mozglue/misc/TimeStamp_posix.cpp | 1 - nsprpub/pr/src/misc/prsystem.c | 1 - @@ -18,62 +16,9 @@ Signed-off-by: Hongxu Jia python/psutil/psutil/arch/osx/process_info.c | 1 - 9 files changed, 3 insertions(+), 12 deletions(-) -diff --git a/memory/jemalloc/src/src/pages.c b/memory/jemalloc/src/src/pages.c -index 647952a..7b964c8 100644 ---- a/memory/jemalloc/src/src/pages.c -+++ b/memory/jemalloc/src/src/pages.c -@@ -2,7 +2,6 @@ - #include "jemalloc/internal/jemalloc_internal.h" - - #ifdef JEMALLOC_SYSCTL_VM_OVERCOMMIT --#include - #endif - - /******************************************************************************/ -diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c -index 5d4d83a..c618de9 100644 ---- a/memory/mozjemalloc/jemalloc.c -+++ b/memory/mozjemalloc/jemalloc.c -@@ -332,7 +332,6 @@ __FBSDID("$FreeBSD: head/lib/libc/stdlib/malloc.c 180599 2008-07-18 19:35:44Z ja - #include - #include - #if !defined(MOZ_MEMORY_SOLARIS) && !defined(MOZ_MEMORY_ANDROID) --#include - #endif - #include - #ifndef MOZ_MEMORY -@@ -674,7 +673,7 @@ static bool malloc_initialized = false; - #elif defined(MOZ_MEMORY_DARWIN) - static malloc_mutex_t init_lock = {OS_SPINLOCK_INIT}; - #elif defined(MOZ_MEMORY_LINUX) && !defined(MOZ_MEMORY_ANDROID) --static malloc_mutex_t init_lock = PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP; -+static malloc_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER; - #elif defined(MOZ_MEMORY) - static malloc_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER; - #else -@@ -1644,7 +1643,7 @@ malloc_mutex_init(malloc_mutex_t *mutex) - pthread_mutexattr_t attr; - if (pthread_mutexattr_init(&attr) != 0) - return (true); -- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); -+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED); - if (pthread_mutex_init(mutex, &attr) != 0) { - pthread_mutexattr_destroy(&attr); - return (true); -@@ -1709,7 +1708,7 @@ malloc_spin_init(malloc_spinlock_t *lock) - pthread_mutexattr_t attr; - if (pthread_mutexattr_init(&attr) != 0) - return (true); -- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); -+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED); - if (pthread_mutex_init(lock, &attr) != 0) { - pthread_mutexattr_destroy(&attr); - return (true); -diff --git a/mozglue/misc/TimeStamp_darwin.cpp b/mozglue/misc/TimeStamp_darwin.cpp -index f30bc98..3998c9c 100644 --- a/mozglue/misc/TimeStamp_darwin.cpp +++ b/mozglue/misc/TimeStamp_darwin.cpp -@@ -18,7 +18,6 @@ +@@ -19,7 +19,6 @@ #include #include @@ -81,20 +26,16 @@ index f30bc98..3998c9c 100644 #include #include -diff --git a/mozglue/misc/TimeStamp_posix.cpp b/mozglue/misc/TimeStamp_posix.cpp -index 05dedde..d9e30f2 100644 --- a/mozglue/misc/TimeStamp_posix.cpp +++ b/mozglue/misc/TimeStamp_posix.cpp @@ -21,7 +21,6 @@ - #if defined(__DragonFly__) || defined(__FreeBSD__) \ - || defined(__NetBSD__) || defined(__OpenBSD__) + #if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \ + defined(__OpenBSD__) #include -#include #endif #if defined(__DragonFly__) || defined(__FreeBSD__) -diff --git a/nsprpub/pr/src/misc/prsystem.c b/nsprpub/pr/src/misc/prsystem.c -index eba85fb..54b57bb 100644 --- a/nsprpub/pr/src/misc/prsystem.c +++ b/nsprpub/pr/src/misc/prsystem.c @@ -27,7 +27,6 @@ @@ -105,22 +46,18 @@ index eba85fb..54b57bb 100644 #endif #if defined(DARWIN) -diff --git a/python/psutil/psutil/_psutil_bsd.c b/python/psutil/psutil/_psutil_bsd.c -index 7b6e561..0a91262 100644 ---- a/python/psutil/psutil/_psutil_bsd.c -+++ b/python/psutil/psutil/_psutil_bsd.c -@@ -16,7 +16,6 @@ - #include +--- a/third_party/python/psutil/psutil/_psutil_bsd.c ++++ b/third_party/python/psutil/psutil/_psutil_bsd.c +@@ -29,7 +29,6 @@ #include #include --#include #include +-#include #include #include -diff --git a/python/psutil/psutil/_psutil_osx.c b/python/psutil/psutil/_psutil_osx.c -index 3ebf8ff..b3910ba 100644 ---- a/python/psutil/psutil/_psutil_osx.c -+++ b/python/psutil/psutil/_psutil_osx.c + #include +--- a/third_party/python/psutil/psutil/_psutil_osx.c ++++ b/third_party/python/psutil/psutil/_psutil_osx.c @@ -13,7 +13,6 @@ #include #include @@ -129,22 +66,8 @@ index 3ebf8ff..b3910ba 100644 #include #include #include -diff --git a/python/psutil/psutil/arch/bsd/process_info.c b/python/psutil/psutil/arch/bsd/process_info.c -index 4d73924..46f288d 100644 ---- a/python/psutil/psutil/arch/bsd/process_info.c -+++ b/python/psutil/psutil/arch/bsd/process_info.c -@@ -15,7 +15,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/python/psutil/psutil/arch/osx/process_info.c b/python/psutil/psutil/arch/osx/process_info.c -index b6dd5bb..62a838f 100644 ---- a/python/psutil/psutil/arch/osx/process_info.c -+++ b/python/psutil/psutil/arch/osx/process_info.c +--- a/third_party/python/psutil/psutil/arch/osx/process_info.c ++++ b/third_party/python/psutil/psutil/arch/osx/process_info.c @@ -16,7 +16,6 @@ #include #include @@ -153,6 +76,23 @@ index b6dd5bb..62a838f 100644 #include #include "process_info.h" --- -2.7.4 - +--- a/memory/build/Mutex.h ++++ b/memory/build/Mutex.h +@@ -42,7 +42,7 @@ struct Mutex { + if (pthread_mutexattr_init(&attr) != 0) { + return false; + } +- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED); + if (pthread_mutex_init(&mMutex, &attr) != 0) { + pthread_mutexattr_destroy(&attr); + return false; +@@ -102,7 +102,7 @@ typedef Mutex StaticMutex; + + #if defined(XP_DARWIN) + #define STATIC_MUTEX_INIT OS_SPINLOCK_INIT +-#elif defined(XP_LINUX) && !defined(ANDROID) ++#elif defined(XP_LINUX) && !defined(ANDROID) && defined(__GLIBC__) + #define STATIC_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP + #else + #define STATIC_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch index 9194e346a..3ac25f6ae 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch @@ -17,12 +17,10 @@ Signed-off-by: Hongxu Jia js/src/old-configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/js/src/old-configure b/js/src/old-configure -index 8a8ef52..d7afcff 100644 --- a/js/src/old-configure +++ b/js/src/old-configure -@@ -3964,7 +3964,7 @@ IMPORT_LIB_SUFFIX= - DIRENT_INO=d_ino +@@ -3833,7 +3833,7 @@ AS='$(CC)' + AS_DASH_C_FLAG='-c' MOZ_USER_DIR=".mozilla" -MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib" @@ -30,6 +28,3 @@ index 8a8ef52..d7afcff 100644 --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch index 6c87ff2a4..56b18ba8c 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch @@ -1,28 +1,40 @@ -Patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1426865 +patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1426865 -Signed-off-by: Khem Raj Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1426865] +Signed-off-by: Khem Raj --- a/js/public/TypeDecls.h +++ b/js/public/TypeDecls.h -@@ -21,22 +21,23 @@ +@@ -21,31 +21,32 @@ #include #include "js-config.h" +#include "jstypes.h" - struct JSContext; + typedef uint8_t jsbytecode; + +-class JSAtom; +-struct JSCompartment; +-struct JSContext; -class JSFunction; -+class JS_PUBLIC_API(JSFunction); - class JSObject; +-class JSObject; +-struct JSRuntime; -class JSScript; -class JSString; -class JSAddonId; -+class JS_PUBLIC_API(JSScript); -+class JS_PUBLIC_API(JSString); -+class JS_PUBLIC_API(JSAddonId); +-struct JSFreeOp; ++class JS_PUBLIC_API JSAtom; ++struct JS_PUBLIC_API JSCompartment; ++struct JS_PUBLIC_API JSContext; ++class JS_PUBLIC_API JSFunction; ++class JS_PUBLIC_API JSObject; ++struct JS_PUBLIC_API JSRuntime; ++class JS_PUBLIC_API JSScript; ++class JS_PUBLIC_API JSString; ++class JS_PUBLIC_API JSAddonId; ++struct JS_PUBLIC_API JSFreeOp; -struct jsid; -+struct JS_PUBLIC_API(jsid); ++struct JS_PUBLIC_API jsid; namespace JS { @@ -30,8 +42,14 @@ Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1426865 -class Symbol; -class Value; -+class JS_PUBLIC_API(Symbol); -+class JS_PUBLIC_API(Value); - template class Handle; - template class MutableHandle; - template class Rooted; +-class Realm; +-struct Runtime; +-struct Zone; ++class JS_PUBLIC_API Symbol; ++class JS_PUBLIC_API Value; ++class JS_PUBLIC_API Realm; ++struct JS_PUBLIC_API Runtime; ++struct JS_PUBLIC_API Zone; + + template + class Handle; diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch index 4354a9dee..0a4148561 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch @@ -4,8 +4,6 @@ Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1318905 Signed-off-by: Ricardo Salveti -diff --git a/build/autoconf/config.guess b/build/autoconf/config.guess -index d5d667d..1277a86 100755 --- a/build/autoconf/config.guess +++ b/build/autoconf/config.guess @@ -1029,6 +1029,9 @@ EOF @@ -18,39 +16,21 @@ index d5d667d..1277a86 100755 s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; -diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure -index 6fe6591..56e6730 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure -@@ -362,6 +362,9 @@ def split_triplet(triplet): - elif cpu.startswith('aarch64'): - canonical_cpu = 'aarch64' +@@ -658,6 +658,9 @@ def split_triplet(triplet, allow_unknown + elif cpu == 'sh4': + canonical_cpu = 'sh4' endianness = 'little' + elif cpu in ('riscv32', 'riscv64'): + canonical_cpu = cpu + endianness = 'little' - else: - die('Unknown CPU type: %s' % cpu) - -diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h -index 15dd4bf..4f37218 100644 ---- a/mfbt/double-conversion/utils.h -+++ b/mfbt/double-conversion/utils.h -@@ -60,7 +60,8 @@ - defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ - defined(__SH4__) || defined(__alpha__) || \ - defined(_MIPS_ARCH_MIPS32R2) || \ -- defined(__AARCH64EL__) || defined(__aarch64__) -+ defined(__AARCH64EL__) || defined(__aarch64__) || \ -+ defined(__riscv) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) - #if defined(_WIN32) -diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py -index dfc7cf8..4f8d666 100644 + elif allow_unknown: + canonical_cpu = cpu + endianness = 'unknown' --- a/python/mozbuild/mozbuild/configure/constants.py +++ b/python/mozbuild/mozbuild/configure/constants.py -@@ -48,6 +48,8 @@ CPU_bitness = { +@@ -50,6 +50,8 @@ CPU_bitness = { 'mips64': 64, 'ppc': 32, 'ppc64': 64, @@ -58,8 +38,8 @@ index dfc7cf8..4f8d666 100644 + 'riscv64': 64, 's390': 32, 's390x': 64, - 'sparc': 32, -@@ -79,6 +81,8 @@ CPU_preprocessor_checks = OrderedDict(( + 'sh4': 32, +@@ -82,6 +84,8 @@ CPU_preprocessor_checks = OrderedDict(( ('s390', '__s390__'), ('ppc64', '__powerpc64__'), ('ppc', '__powerpc__'), diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch deleted file mode 100644 index 5487cdbe6..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 2fb531ac753500314336ccd508cb2d53f5e768e5 Mon Sep 17 00:00:00 2001 -From: Till Schneidereit -Date: Thu, 1 Oct 2015 12:59:09 +0200 -Subject: Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on all platforms - -Otherwise, build fails not being able to find HashBytes. - -Patch ported forward to mozjs52 by Philip Chimento -. - -https://bugzilla.mozilla.org/show_bug.cgi?id=1176787 - -Upstream-Status: Backport - -Signed-off-by: Ricardo Salveti ---- - js/src/old-configure | 20 ++++++++++++-------- - mozglue/build/moz.build | 2 +- - 2 files changed, 13 insertions(+), 9 deletions(-) - -diff --git a/js/src/old-configure b/js/src/old-configure -index d7afcff..8a6f142 100644 ---- a/js/src/old-configure -+++ b/js/src/old-configure -@@ -8546,21 +8546,25 @@ if test -z "$MOZ_ENABLE_WARNINGS_AS_ERRORS"; then - fi - - --case "${OS_TARGET}" in --Android|WINNT|Darwin) -+if test "$JS_STANDALONE"; then - MOZ_GLUE_IN_PROGRAM= -- ;; --*) -- MOZ_GLUE_IN_PROGRAM=1 -- cat >> confdefs.pytmp <<\EOF -+else -+ case "${OS_TARGET}" in -+ Android|WINNT|Darwin) -+ MOZ_GLUE_IN_PROGRAM= -+ ;; -+ *) -+ MOZ_GLUE_IN_PROGRAM=1 -+ cat >> confdefs.pytmp <<\EOF - (''' MOZ_GLUE_IN_PROGRAM ''', ' 1 ') - EOF - cat >> confdefs.h <<\EOF - #define MOZ_GLUE_IN_PROGRAM 1 - EOF - -- ;; --esac -+ ;; -+ esac -+fi - - if test "$MOZ_MEMORY"; then - if test "x$MOZ_DEBUG" = "x1"; then -diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build -index d289747..e3be5a2 100644 ---- a/mozglue/build/moz.build -+++ b/mozglue/build/moz.build -@@ -6,7 +6,7 @@ - - # Build mozglue as a shared lib on Windows, OSX and Android. - # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in --if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'): -+if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']: - SharedLibrary('mozglue') - else: - Library('mozglue') --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch index 29c6a7b69..e257fc6f6 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch @@ -11,11 +11,11 @@ Signed-off-by: Khem Raj --- a/js/src/moz.build +++ b/js/src/moz.build @@ -785,7 +785,7 @@ if CONFIG['JS_HAS_CTYPES']: - DEFINES['FFI_BUILDING'] = True - - if CONFIG['GNU_CXX']: -- CXXFLAGS += ['-Wno-shadow', '-Werror=format'] -+ CXXFLAGS += ['-Wno-shadow'] + if CONFIG['CC_TYPE'] in ('clang', 'gcc'): + # Also disable strict-aliasing for GCC compiler, that is enabled by default + # starting with version 7.1, see Bug 1363009 +- CXXFLAGS += ['-Wno-shadow', '-Werror=format', '-fno-strict-aliasing'] ++ CXXFLAGS += ['-Wno-shadow', '-fno-strict-aliasing'] # Suppress warnings in third-party code. - if CONFIG['CLANG_CXX']: + if CONFIG['CC_TYPE'] in ('clang', 'gcc'): diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb deleted file mode 100644 index 5e67eeea7..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb +++ /dev/null @@ -1,120 +0,0 @@ -SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++" -HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad" - -SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/m/mozjs52/mozjs52_52.9.1.orig.tar.xz \ - file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \ - file://0010-fix-cross-compilation-on-i586-targets.patch \ - file://0001-do-not-create-python-environment.patch \ - file://0002-fix-cannot-find-link.patch \ - file://0003-workaround-autoconf-2.13-detection-failed.patch \ - file://0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch \ - file://0005-fix-do_compile-failed-on-mips.patch \ - file://disable-mozglue-in-stand-alone-builds.patch \ - file://add-riscv-support.patch \ - file://0001-mozjs-fix-coredump-caused-by-getenv.patch \ - file://format-overflow.patch \ - file://JS_PUBLIC_API.patch \ - file://0001-To-fix-build-error-on-arm32BE.patch \ - " -SRC_URI_append_libc-musl = " \ - file://0006-support-musl.patch \ - " -SRC_URI_append_mipsarchn32 = " \ - file://0001-fix-compiling-failure-on-mips64-n32-bsp.patch \ - " - -SRC_URI[md5sum] = "c9473c625ee0a9edaaac8b742ff24c5f" -SRC_URI[sha256sum] = "f9324a6724233ab15f10381fe13e635e89d725ef1e78025a0a7d36c58a84a0f9" - -inherit autotools pkgconfig perlnative pythonnative - -inherit distro_features_check -CONFLICT_DISTRO_FEATURES_mipsarchn32 = "ld-is-gold" - -DEPENDS += "nspr zlib" - -# Disable null pointer optimization in gcc >= 6 -# https://bugzilla.redhat.com/show_bug.cgi?id=1328045 -CFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks" -CXXFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks" - -# nspr's package-config is ignored so set libs manually -EXTRA_OECONF = " \ - --target=${TARGET_SYS} \ - --host=${BUILD_SYS} \ - --prefix=${prefix} \ - --libdir=${libdir} \ - --disable-tests --disable-strip --disable-optimize \ - --with-nspr-libs='-lplds4 -lplc4 -lnspr4' \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \ -" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" -PACKAGECONFIG[x11] = "--x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--x-includes=no --x-libraries=no,virtual/libx11" - -EXTRA_OEMAKE_task-compile += "BUILD_OPT=1 OS_LDFLAGS='-Wl,-latomic ${LDFLAGS}'" -EXTRA_OEMAKE_task-install += "STATIC_LIBRARY_NAME=js_static" - -export HOST_CC = "${BUILD_CC}" -export HOST_CXX = "${BUILD_CXX}" -export HOST_CFLAGS = "${BUILD_CFLAGS}" -export HOST_CPPFLAGS = "${BUILD_CPPFLAGS}" -export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}" - -do_configure() { - export SHELL="/bin/sh" - export TMP="${B}" - ${S}/js/src/configure ${EXTRA_OECONF} -} - -do_compile_prepend() { - export SHELL="/bin/sh" - export S - export PYTHONPATH - cd ${S} - for sub_dir in python testing/mozbase; do - for module_dir in `ls $sub_dir -1`;do - [ $module_dir = "virtualenv" ] && continue - if [ -d "${S}/$sub_dir/$module_dir" ];then - PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir" - fi - done - done - PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build" - cd - -} - -do_install_prepend() { - export SHELL="/bin/sh" - export S - export PYTHONPATH - cd ${S} - for sub_dir in python testing/mozbase; do - for module_dir in `ls $sub_dir -1`;do - [ $module_dir = "virtualenv" ] && continue - if [ -d "${S}/$sub_dir/$module_dir" ];then - PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir" - fi - done - done - PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build" - cd - -} - -PACKAGES =+ "lib${BPN}" -FILES_lib${BPN} += "${libdir}/lib*.so" -FILES_${PN}-dev += "${bindir}/js52-config" - -# Fails to build with thumb-1 (qemuarm) -#| {standard input}: Assembler messages: -#| {standard input}:2172: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r2,r1,LSR#20' -#| {standard input}:2173: Error: unshifted register required -- `bic r2,r2,#(1<<11)' -#| {standard input}:2174: Error: unshifted register required -- `orr r1,r1,#(1<<20)' -#| {standard input}:2176: Error: instruction not supported in Thumb16 mode -- `subs r2,r2,#0x300' -#| {standard input}:2178: Error: instruction not supported in Thumb16 mode -- `subs r5,r2,#52' -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv4 = "arm" - -DISABLE_STATIC = "" diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb new file mode 100644 index 000000000..70bdbc168 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb @@ -0,0 +1,127 @@ +SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++" +HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf" + +SRC_URI = "https://dev.gentoo.org/~axs/distfiles/mozjs-60.5.2.tar.bz2 \ + file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \ + file://0010-fix-cross-compilation-on-i586-targets.patch \ + file://0001-do-not-create-python-environment.patch \ + file://0002-fix-cannot-find-link.patch \ + file://0003-workaround-autoconf-2.13-detection-failed.patch \ + file://0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch \ + file://0005-fix-do_compile-failed-on-mips.patch \ + file://add-riscv-support.patch \ + file://0001-mozjs-fix-coredump-caused-by-getenv.patch \ + file://format-overflow.patch \ + file://0001-To-fix-build-error-on-arm32BE.patch \ + file://JS_PUBLIC_API.patch \ + file://0001-riscv-Disable-atomic-operations.patch \ + " +SRC_URI_append_libc-musl = " \ + file://0006-support-musl.patch \ + file://0001-js-Fix-build-with-musl.patch \ + " +SRC_URI_append_mipsarchn32 = " \ + file://0001-fix-compiling-failure-on-mips64-n32-bsp.patch \ + " +SRC_URI[md5sum] = "023ed014e9e93d01620d121bc06a3589" +SRC_URI[sha256sum] = "f51039c997415fd0f13f8e01966b4a8ff80cbf90deb8b14c18827104a369cc0d" + +inherit autotools pkgconfig perlnative pythonnative + +inherit distro_features_check +CONFLICT_DISTRO_FEATURES_mipsarchn32 = "ld-is-gold" + +DEPENDS += "nspr zlib python-six-native python-pytoml-native \ + python-jsmin-native python-futures-native \ + python-which-native" + +# Disable null pointer optimization in gcc >= 6 +# https://bugzilla.redhat.com/show_bug.cgi?id=1328045 +CFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks" +CXXFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks" + +# nspr's package-config is ignored so set libs manually +EXTRA_OECONF = " \ + --target=${TARGET_SYS} \ + --host=${BUILD_SYS} \ + --prefix=${prefix} \ + --libdir=${libdir} \ + --disable-tests --disable-strip --disable-optimize \ + --disable-jemalloc \ + --with-nspr-libs='-lplds4 -lplc4 -lnspr4' \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \ +" + +EXTRA_OECONF_append_mipsarch = " --disable-ion" +EXTRA_OECONF_append_riscv64 = " --disable-ion" +EXTRA_OECONF_append_riscv32 = " --disable-ion" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[x11] = "--x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--x-includes=no --x-libraries=no,virtual/libx11" + +EXTRA_OEMAKE_task-compile += "BUILD_OPT=1 OS_LDFLAGS='-Wl,-latomic ${LDFLAGS}'" +EXTRA_OEMAKE_task-install += "STATIC_LIBRARY_NAME=js_static" + +export HOST_CC = "${BUILD_CC}" +export HOST_CXX = "${BUILD_CXX}" +export HOST_CFLAGS = "${BUILD_CFLAGS}" +export HOST_CPPFLAGS = "${BUILD_CPPFLAGS}" +export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}" + +do_configure() { + export SHELL="/bin/sh" + export TMP="${B}" + ${S}/js/src/configure ${EXTRA_OECONF} +} + +do_compile_prepend() { + export SHELL="/bin/sh" + export S + export PYTHONPATH + cd ${S} + for sub_dir in python testing/mozbase; do + for module_dir in `ls $sub_dir -1`;do + [ $module_dir = "virtualenv" ] && continue + if [ -d "${S}/$sub_dir/$module_dir" ];then + PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir" + fi + done + done + PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build" + cd - +} + +do_install_prepend() { + export SHELL="/bin/sh" + export S + export PYTHONPATH + cd ${S} + for sub_dir in python testing/mozbase; do + for module_dir in `ls $sub_dir -1`;do + [ $module_dir = "virtualenv" ] && continue + if [ -d "${S}/$sub_dir/$module_dir" ];then + PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir" + fi + done + done + PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build" + cd - +} + +PACKAGES =+ "lib${BPN}" +FILES_lib${BPN} += "${libdir}/lib*.so" +FILES_${PN}-dev += "${bindir}/js60-config" + +# Fails to build with thumb-1 (qemuarm) +#| {standard input}: Assembler messages: +#| {standard input}:2172: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r2,r1,LSR#20' +#| {standard input}:2173: Error: unshifted register required -- `bic r2,r2,#(1<<11)' +#| {standard input}:2174: Error: unshifted register required -- `orr r1,r1,#(1<<20)' +#| {standard input}:2176: Error: instruction not supported in Thumb16 mode -- `subs r2,r2,#0x300' +#| {standard input}:2178: Error: instruction not supported in Thumb16 mode -- `subs r5,r2,#52' +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv4 = "arm" + +DISABLE_STATIC = "" diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch deleted file mode 100644 index 3b0ef5e5a..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 7d5e205aa58a10e7b1ccc2fa75b443508a5c3e18 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 20 Jan 2016 04:31:59 +0000 -Subject: [PATCH] make netgroup support configurable - -Disable using innetgr and *netigrent function if not available - -These functions are not available on all libc implementations e.g. musl -doesnt have them. - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - -Rebase to 0.115 -Signed-off-by: Hongxu Jia ---- - configure.ac | 2 +- - src/polkitbackend/polkitbackendinteractiveauthority.c | 6 +++++- - src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++ - 3 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 8b3e1b1..1c392df 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"], - [AC_MSG_ERROR([Can't find expat library. Please install expat.])]) - AC_SUBST(EXPAT_LIBS) - --AC_CHECK_FUNCS(clearenv fdatasync) -+AC_CHECK_FUNCS(clearenv fdatasync getnetgrent innetgr) - - if test "x$GCC" = "xyes"; then - LDFLAGS="-Wl,--as-needed $LDFLAGS" -diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c -index cb6fdab..de3f752 100644 ---- a/src/polkitbackend/polkitbackendinteractiveauthority.c -+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c -@@ -2224,7 +2224,7 @@ get_users_in_group (PolkitIdentity *group, - out: - return ret; - } -- -+#if defined HAVE_GETNETGRENT - static GList * - get_users_in_net_group (PolkitIdentity *group, - gboolean include_root) -@@ -2285,6 +2285,8 @@ get_users_in_net_group (PolkitIdentity *group, - return ret; - } - -+#endif -+ - /* ---------------------------------------------------------------------------------------------------- */ - - static void -@@ -2369,10 +2371,12 @@ authentication_agent_initiate_challenge (AuthenticationAgent *agent, - { - user_identities = g_list_concat (user_identities, get_users_in_group (identity, FALSE)); - } -+#if defined HAVE_GETNETGRENT - else if (POLKIT_IS_UNIX_NETGROUP (identity)) - { - user_identities = g_list_concat (user_identities, get_users_in_net_group (identity, FALSE)); - } -+#endif - else - { - g_warning ("Unsupported identity"); -diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp -index 517f3c6..6042dd2 100644 ---- a/src/polkitbackend/polkitbackendjsauthority.cpp -+++ b/src/polkitbackend/polkitbackendjsauthority.cpp -@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, - user = JS_EncodeString (cx, args[0].toString()); - netgroup = JS_EncodeString (cx, args[1].toString()); - -+#if defined HAVE_INNETGR - if (innetgr (netgroup, - NULL, /* host */ - user, -@@ -1509,6 +1510,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, - { - is_in_netgroup = true; - } -+#endif - - JS_free (cx, netgroup); - JS_free (cx, user); --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch new file mode 100644 index 000000000..fd7251369 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch @@ -0,0 +1,232 @@ +From 21aa2747e8f0048759aab184b07dd6389666d5e6 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 22 May 2019 13:18:55 -0700 +Subject: [PATCH] make netgroup support optional + +On at least Linux/musl and Linux/uclibc, netgroup +support is not available. PolKit fails to compile on these systems +for that reason. + +This change makes netgroup support conditional on the presence of the +setnetgrent(3) function which is required for the support to work. If +that function is not available on the system, an error will be returned +to the administrator if unix-netgroup: is specified in configuration. + +Fixes bug 50145. + +Closes polkit/polkit#14. +Signed-off-by: A. Wilcox +Signed-off-by: Khem Raj +--- + configure.ac | 2 +- + src/polkit/polkitidentity.c | 16 ++++++++++++++++ + src/polkit/polkitunixnetgroup.c | 3 +++ + .../polkitbackendinteractiveauthority.c | 14 ++++++++------ + src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++ + test/polkit/polkitidentitytest.c | 9 ++++++++- + test/polkit/polkitunixnetgrouptest.c | 3 +++ + .../test-polkitbackendjsauthority.c | 2 ++ + 8 files changed, 43 insertions(+), 8 deletions(-) + +--- a/configure.ac ++++ b/configure.ac +@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXP + [AC_MSG_ERROR([Can't find expat library. Please install expat.])]) + AC_SUBST(EXPAT_LIBS) + +-AC_CHECK_FUNCS(clearenv fdatasync) ++AC_CHECK_FUNCS(clearenv fdatasync setnetgrent) + + if test "x$GCC" = "xyes"; then + LDFLAGS="-Wl,--as-needed $LDFLAGS" +--- a/src/polkit/polkitidentity.c ++++ b/src/polkit/polkitidentity.c +@@ -182,7 +182,15 @@ polkit_identity_from_string (const gcha + } + else if (g_str_has_prefix (str, "unix-netgroup:")) + { ++#ifndef HAVE_SETNETGRENT ++ g_set_error (error, ++ POLKIT_ERROR, ++ POLKIT_ERROR_FAILED, ++ "Netgroups are not available on this machine ('%s')", ++ str); ++#else + identity = polkit_unix_netgroup_new (str + sizeof "unix-netgroup:" - 1); ++#endif + } + + if (identity == NULL && (error != NULL && *error == NULL)) +@@ -344,6 +352,13 @@ polkit_identity_new_for_gvariant (GVaria + GVariant *v; + const char *name; + ++#ifndef HAVE_SETNETGRENT ++ g_set_error (error, ++ POLKIT_ERROR, ++ POLKIT_ERROR_FAILED, ++ "Netgroups are not available on this machine"); ++ goto out; ++#else + v = lookup_asv (details_gvariant, "name", G_VARIANT_TYPE_STRING, error); + if (v == NULL) + { +@@ -353,6 +368,7 @@ polkit_identity_new_for_gvariant (GVaria + name = g_variant_get_string (v, NULL); + ret = polkit_unix_netgroup_new (name); + g_variant_unref (v); ++#endif + } + else + { +--- a/src/polkit/polkitunixnetgroup.c ++++ b/src/polkit/polkitunixnetgroup.c +@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUni + PolkitIdentity * + polkit_unix_netgroup_new (const gchar *name) + { ++#ifndef HAVE_SETNETGRENT ++ g_assert_not_reached(); ++#endif + g_return_val_if_fail (name != NULL, NULL); + return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP, + "name", name, +--- a/src/polkitbackend/polkitbackendinteractiveauthority.c ++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c +@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity + GList *ret; + + ret = NULL; ++#ifdef HAVE_SETNETGRENT + name = polkit_unix_netgroup_get_name (POLKIT_UNIX_NETGROUP (group)); + +-#ifdef HAVE_SETNETGRENT_RETURN ++# ifdef HAVE_SETNETGRENT_RETURN + if (setnetgrent (name) == 0) + { + g_warning ("Error looking up net group with name %s: %s", name, g_strerror (errno)); + goto out; + } +-#else ++# else + setnetgrent (name); +-#endif ++# endif /* HAVE_SETNETGRENT_RETURN */ + + for (;;) + { +-#if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) ++# if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) + const char *hostname, *username, *domainname; +-#else ++# else + char *hostname, *username, *domainname; +-#endif ++# endif /* defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) */ + PolkitIdentity *user; + GError *error = NULL; + +@@ -2282,6 +2283,7 @@ get_users_in_net_group (PolkitIdentity + + out: + endnetgrent (); ++#endif /* HAVE_SETNETGRENT */ + return ret; + } + +--- a/src/polkitbackend/polkitbackendjsauthority.cpp ++++ b/src/polkitbackend/polkitbackendjsauthority.cpp +@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext + + JS::CallArgs args = JS::CallArgsFromVp (argc, vp); + ++#ifdef HAVE_SETNETGRENT + JS::RootedString usrstr (authority->priv->cx); + usrstr = args[0].toString(); + user = JS_EncodeStringToUTF8 (cx, usrstr); +@@ -1519,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext + + JS_free (cx, netgroup); + JS_free (cx, user); ++#endif + + ret = true; + +--- a/test/polkit/polkitidentitytest.c ++++ b/test/polkit/polkitidentitytest.c +@@ -19,6 +19,7 @@ + * Author: Nikki VonHollen + */ + ++#include "config.h" + #include "glib.h" + #include + #include +@@ -145,11 +146,15 @@ struct ComparisonTestData comparison_tes + {"unix-group:root", "unix-group:jane", FALSE}, + {"unix-group:jane", "unix-group:jane", TRUE}, + ++#ifdef HAVE_SETNETGRENT + {"unix-netgroup:foo", "unix-netgroup:foo", TRUE}, + {"unix-netgroup:foo", "unix-netgroup:bar", FALSE}, ++#endif + + {"unix-user:root", "unix-group:root", FALSE}, ++#ifdef HAVE_SETNETGRENT + {"unix-user:jane", "unix-netgroup:foo", FALSE}, ++#endif + + {NULL}, + }; +@@ -181,11 +186,13 @@ main (int argc, char *argv[]) + g_test_add_data_func ("/PolkitIdentity/group_string_2", "unix-group:jane", test_string); + g_test_add_data_func ("/PolkitIdentity/group_string_3", "unix-group:users", test_string); + ++#ifdef HAVE_SETNETGRENT + g_test_add_data_func ("/PolkitIdentity/netgroup_string", "unix-netgroup:foo", test_string); ++ g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant); ++#endif + + g_test_add_data_func ("/PolkitIdentity/user_gvariant", "unix-user:root", test_gvariant); + g_test_add_data_func ("/PolkitIdentity/group_gvariant", "unix-group:root", test_gvariant); +- g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant); + + add_comparison_tests (); + +--- a/test/polkit/polkitunixnetgrouptest.c ++++ b/test/polkit/polkitunixnetgrouptest.c +@@ -19,6 +19,7 @@ + * Author: Nikki VonHollen + */ + ++#include "config.h" + #include "glib.h" + #include + #include +@@ -69,7 +70,9 @@ int + main (int argc, char *argv[]) + { + g_test_init (&argc, &argv, NULL); ++#ifdef HAVE_SETNETGRENT + g_test_add_func ("/PolkitUnixNetgroup/new", test_new); + g_test_add_func ("/PolkitUnixNetgroup/set_name", test_set_name); ++#endif + return g_test_run (); + } +--- a/test/polkitbackend/test-polkitbackendjsauthority.c ++++ b/test/polkitbackend/test-polkitbackendjsauthority.c +@@ -137,12 +137,14 @@ test_get_admin_identities (void) + "unix-group:users" + } + }, ++#ifdef HAVE_SETNETGRENT + { + "net.company.action3", + { + "unix-netgroup:foo" + } + }, ++#endif + }; + guint n; + diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb deleted file mode 100644 index 13c4b0259..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb +++ /dev/null @@ -1,57 +0,0 @@ -SUMMARY = "PolicyKit Authorization Framework" -DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes." -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \ - file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4" - -DEPENDS = "expat glib-2.0 intltool-native mozjs" - -inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection distro_features_check - -REQUIRED_DISTRO_FEATURES = "polkit" - -PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \ - bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ - " - -PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam" -PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd" -# there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS -PACKAGECONFIG[consolekit] = ",,,consolekit" - -PAM_SRC_URI = "file://polkit-1_pam.patch" -SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \ - file://0001-make-netgroup-support-configurable.patch \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ -" -SRC_URI[md5sum] = "f03b055d6ae5fc8eac76838c7d83d082" -SRC_URI[sha256sum] = "2f87ecdabfbd415c6306673ceadc59846f059b18ef2fce42bac63fe283f12131" - -EXTRA_OECONF = "--with-os-type=moblin \ - --disable-man-pages \ - --disable-libelogind \ - " - -do_compile_prepend () { - export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs" -} - -PACKAGES =+ "${PN}-examples" - -FILES_${PN}_append = " \ - ${libdir}/${BPN}-1 \ - ${nonarch_libdir}/${BPN}-1 \ - ${datadir}/dbus-1 \ - ${datadir}/${BPN}-1 \ - ${datadir}/gettext \ -" - -FILES_${PN}-examples = "${bindir}/*example*" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd" - -SYSTEMD_SERVICE_${PN} = "${BPN}.service" -SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb new file mode 100644 index 000000000..8754383ef --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb @@ -0,0 +1,57 @@ +SUMMARY = "PolicyKit Authorization Framework" +DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \ + file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4" + +DEPENDS = "expat glib-2.0 intltool-native mozjs" + +inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection distro_features_check + +REQUIRED_DISTRO_FEATURES = "polkit" + +PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ + " + +PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam" +PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd" +# there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS +PACKAGECONFIG[consolekit] = ",,,consolekit" + +PAM_SRC_URI = "file://polkit-1_pam.patch" +SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ + file://0003-make-netgroup-support-optional.patch \ + " +SRC_URI[md5sum] = "4b37258583393e83069a0e2e89c0162a" +SRC_URI[sha256sum] = "88170c9e711e8db305a12fdb8234fac5706c61969b94e084d0f117d8ec5d34b1" + +EXTRA_OECONF = "--with-os-type=moblin \ + --disable-man-pages \ + --disable-libelogind \ + " + +do_compile_prepend () { + export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs" +} + +PACKAGES =+ "${PN}-examples" + +FILES_${PN}_append = " \ + ${libdir}/${BPN}-1 \ + ${nonarch_libdir}/${BPN}-1 \ + ${datadir}/dbus-1 \ + ${datadir}/${BPN}-1 \ + ${datadir}/gettext \ +" + +FILES_${PN}-examples = "${bindir}/*example*" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd" + +SYSTEMD_SERVICE_${PN} = "${BPN}.service" +SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0001-add-missing-etc-rrdcached-default-lsb.in-to-tarball-.patch b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0001-add-missing-etc-rrdcached-default-lsb.in-to-tarball-.patch deleted file mode 100644 index 701ab2c5b..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0001-add-missing-etc-rrdcached-default-lsb.in-to-tarball-.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 35aae13a34728e14150706b2a4b1a57fabe00e98 Mon Sep 17 00:00:00 2001 -From: Tobias Oetiker -Date: Mon, 4 Feb 2019 16:25:06 +0100 -Subject: [PATCH 1/3] add missing etc/rrdcached-default-lsb.in to tarball - - fixes #956 - -Add missing etc/rrdcached-default-lsb.in to tarball - fixes #956 - -Upstream-Status: Backport [https://github.com/oetiker/rrdtool-1.x/commit/35aae13a34728e14150706b2a4b1a57fabe00e98] - -Signed-off-by: Mingli Yu ---- - Makefile.am | 2 +- - Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 5a15db6c..6bec092e 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -20,7 +20,7 @@ EXTRA_DIST = COPYRIGHT CHANGES TODO CONTRIBUTORS THREADS VERSION LICENSE \ - rrdtool.spec favicon.ico bootstrap \ - libtool \ - m4/snprintf.m4 \ -- etc/rrdcached-default-redhat etc/rrdcached-init-redhat \ -+ etc/rrdcached-default-redhat etc/rrdcached-init-redhat etc/rrdcached-default-lsb.in \ - win32/build-rrdtool.dot win32/build-rrdtool.pdf win32/build-rrdtool.svg \ - win32/librrd-4.def win32/librrd-4.rc win32/librrd-4.vcxproj \ - win32/Makefile.msc win32/README win32/README-MinGW-w64 win32/rrdcgi.rc win32/rrd_config.h \ -diff --git a/Makefile.in b/Makefile.in -index 607193c1..c9b1939f 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -432,7 +432,7 @@ EXTRA_DIST = COPYRIGHT CHANGES TODO CONTRIBUTORS THREADS VERSION LICENSE \ - rrdtool.spec favicon.ico bootstrap \ - libtool \ - m4/snprintf.m4 \ -- etc/rrdcached-default-redhat etc/rrdcached-init-redhat \ -+ etc/rrdcached-default-redhat etc/rrdcached-init-redhat etc/rrdcached-default-lsb.in \ - win32/build-rrdtool.dot win32/build-rrdtool.pdf win32/build-rrdtool.svg \ - win32/librrd-4.def win32/librrd-4.rc win32/librrd-4.vcxproj \ - win32/Makefile.msc win32/README win32/README-MinGW-w64 win32/rrdcgi.rc win32/rrd_config.h \ --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0002-properly-add-etc-files-via-EXTRA_DIST-fixes-956-some.patch b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0002-properly-add-etc-files-via-EXTRA_DIST-fixes-956-some.patch deleted file mode 100644 index 0385ae6d6..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0002-properly-add-etc-files-via-EXTRA_DIST-fixes-956-some.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 3e469b4c4b5c219469b0be299ce75c4fac09afc9 Mon Sep 17 00:00:00 2001 -From: Tobias Oetiker -Date: Mon, 4 Feb 2019 17:17:25 +0100 -Subject: [PATCH 2/3] properly add etc files via EXTRA_DIST - fixes #956 some more - -Add etc files via EXTRA_DIST - fixes #956 some more - -Upstream-Status: Backport [https://github.com/oetiker/rrdtool-1.x/commit/3e469b4c4b5c219469b0be299ce75c4fac09afc9] - -Signed-off-by: Mingli Yu ---- - Makefile.am | 3 +-- - Makefile.in | 5 ++--- - etc/Makefile.am | 3 +++ - etc/Makefile.in | 3 +++ - 4 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 6bec092e..c3e2c303 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -5,7 +5,7 @@ RSYNC = rsync --rsh=ssh - - # build the following subdirectories - --SUBDIRS = po src bindings tests -+SUBDIRS = po src bindings tests etc - - if BUILD_DOCS - SUBDIRS += doc -@@ -20,7 +20,6 @@ EXTRA_DIST = COPYRIGHT CHANGES TODO CONTRIBUTORS THREADS VERSION LICENSE \ - rrdtool.spec favicon.ico bootstrap \ - libtool \ - m4/snprintf.m4 \ -- etc/rrdcached-default-redhat etc/rrdcached-init-redhat etc/rrdcached-default-lsb.in \ - win32/build-rrdtool.dot win32/build-rrdtool.pdf win32/build-rrdtool.svg \ - win32/librrd-4.def win32/librrd-4.rc win32/librrd-4.vcxproj \ - win32/Makefile.msc win32/README win32/README-MinGW-w64 win32/rrdcgi.rc win32/rrd_config.h \ -diff --git a/Makefile.in b/Makefile.in -index c9b1939f..6a1280e4 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -168,7 +168,7 @@ am__define_uniq_tagged_files = \ - ETAGS = etags - CTAGS = ctags - CSCOPE = cscope --DIST_SUBDIRS = po src bindings tests doc examples -+DIST_SUBDIRS = po src bindings tests etc doc examples - am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/conftools/compile \ - $(top_srcdir)/conftools/config.guess \ -@@ -427,12 +427,11 @@ top_srcdir = @top_srcdir@ - RSYNC = rsync --rsh=ssh - - # build the following subdirectories --SUBDIRS = po src bindings tests $(am__append_1) $(am__append_2) -+SUBDIRS = po src bindings tests etc $(am__append_1) $(am__append_2) - EXTRA_DIST = COPYRIGHT CHANGES TODO CONTRIBUTORS THREADS VERSION LICENSE \ - rrdtool.spec favicon.ico bootstrap \ - libtool \ - m4/snprintf.m4 \ -- etc/rrdcached-default-redhat etc/rrdcached-init-redhat etc/rrdcached-default-lsb.in \ - win32/build-rrdtool.dot win32/build-rrdtool.pdf win32/build-rrdtool.svg \ - win32/librrd-4.def win32/librrd-4.rc win32/librrd-4.vcxproj \ - win32/Makefile.msc win32/README win32/README-MinGW-w64 win32/rrdcgi.rc win32/rrd_config.h \ -diff --git a/etc/Makefile.am b/etc/Makefile.am -index f5503f0c..ab763dc8 100644 ---- a/etc/Makefile.am -+++ b/etc/Makefile.am -@@ -1,3 +1,6 @@ -+EXTRA_DIST = rrdcached-default-redhat rrdcached-init-redhat rrdcached-default-lsb.in \ -+ rrdcached.socket.in rrdcached.service.in -+ - if HAVE_SYSTEMD - systemdsystemunit_DATA = \ - etc/rrdcached.socket \ -diff --git a/etc/Makefile.in b/etc/Makefile.in -index c67f9214..74b914b9 100644 ---- a/etc/Makefile.in -+++ b/etc/Makefile.in -@@ -364,6 +364,9 @@ target_vendor = @target_vendor@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ -+EXTRA_DIST = rrdcached-default-redhat rrdcached-init-redhat rrdcached-default-lsb.in \ -+ rrdcached.socket.in rrdcached.service.in -+ - @HAVE_SYSTEMD_TRUE@systemdsystemunit_DATA = \ - @HAVE_SYSTEMD_TRUE@ etc/rrdcached.socket \ - @HAVE_SYSTEMD_TRUE@ etc/rrdcached.service --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0003-Fixed-No-rule-to-make-target-etc-rrdcached.socket.patch b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0003-Fixed-No-rule-to-make-target-etc-rrdcached.socket.patch deleted file mode 100644 index b929e31f8..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0003-Fixed-No-rule-to-make-target-etc-rrdcached.socket.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 865a9bade72f93cf72ca59954c6df01e8c48915d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= -Date: Tue, 5 Feb 2019 15:04:34 +0100 -Subject: [PATCH 3/3] Fixed 'No rule to make target 'etc/rrdcached.socket' -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixed 'No rule to make target 'etc/rrdcached.socket' - -Upstream-Status: Backport [https://github.com/oetiker/rrdtool-1.x/commit/865a9bade72f93cf72ca59954c6df01e8c48915d] - -Signed-off-by: Jaroslav Škarvada ---- - etc/Makefile.am | 4 ++-- - etc/Makefile.in | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/etc/Makefile.am b/etc/Makefile.am -index ab763dc8..7d18178a 100644 ---- a/etc/Makefile.am -+++ b/etc/Makefile.am -@@ -3,6 +3,6 @@ EXTRA_DIST = rrdcached-default-redhat rrdcached-init-redhat rrdcached-default-ls - - if HAVE_SYSTEMD - systemdsystemunit_DATA = \ -- etc/rrdcached.socket \ -- etc/rrdcached.service -+ rrdcached.socket \ -+ rrdcached.service - endif -\ No newline at end of file -diff --git a/etc/Makefile.in b/etc/Makefile.in -index 74b914b9..d512fd59 100644 ---- a/etc/Makefile.in -+++ b/etc/Makefile.in -@@ -368,8 +368,8 @@ EXTRA_DIST = rrdcached-default-redhat rrdcached-init-redhat rrdcached-default-ls - rrdcached.socket.in rrdcached.service.in - - @HAVE_SYSTEMD_TRUE@systemdsystemunit_DATA = \ --@HAVE_SYSTEMD_TRUE@ etc/rrdcached.socket \ --@HAVE_SYSTEMD_TRUE@ etc/rrdcached.service -+@HAVE_SYSTEMD_TRUE@ rrdcached.socket \ -+@HAVE_SYSTEMD_TRUE@ rrdcached.service - - all: all-am - --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.1.bb b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.1.bb deleted file mode 100644 index 63cdb7aee..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.1.bb +++ /dev/null @@ -1,132 +0,0 @@ -SUMMARY = "High performance data logging and graphing system for time series data" -HOMEPAGE = "http://oss.oetiker.ch/rrdtool/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3349111ed0533471494beec99715bc9d" - -DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native python-setuptools-native" - -SRCREV = "34e6ff6218bb0372eb545f886dec96dd3d20be47" -PV = "1.7.1" - -SRC_URI = "\ - git://github.com/oetiker/rrdtool-1.x.git;branch=master;protocol=http; \ - file://0001-add-missing-etc-rrdcached-default-lsb.in-to-tarball-.patch \ - file://0002-properly-add-etc-files-via-EXTRA_DIST-fixes-956-some.patch \ - file://0003-Fixed-No-rule-to-make-target-etc-rrdcached.socket.patch \ -" - -S = "${WORKDIR}/git" - -inherit cpan autotools-brokensep gettext pythonnative python-dir systemd - -BBCLASSEXTEND = "native" - -SYSTEMD_PACKAGES = "rrdcached" -SYSTEMD_SERVICE_rrdcached = "rrdcached.socket rrdcached.service" - -EXTRA_AUTORECONF = "-I m4 --exclude=autopoint" - -PACKAGECONFIG ??= "python perl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" - -PACKAGECONFIG[python] = "--enable-python=yes \ -am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \ -am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\ ---disable-python,python," - -PACKAGECONFIG[perl] = \ -"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor"' \ -ac_cv_path_PERL_CC='${CC}', \ ---disable-perl,perl," - -PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi" - -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," - -EXTRA_OECONF = " \ - --enable-shared \ - --disable-libwrap \ - --program-prefix='' \ - rd_cv_ieee_works=yes \ - --disable-ruby \ - --disable-lua \ - --disable-tcl \ - --disable-rpath \ - --enable-nls=${USE_NLS} \ - --disable-docs \ -" - -export STAGING_LIBDIR -export STAGING_INCDIR - -# emulate cpan_do_configure -EXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" ' -# Avoid do_configure error on some hosts - -do_configure() { - unset PERLHOSTLIB - #fix the pkglib problem with newer automake - #perl - sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \ - ${S}/bindings/perl-shared/Makefile.PL - - #python - sed -i -e '/PYTHON_INCLUDES="-I${/c \ - PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \ - ${S}/m4/acinclude.m4 - #remove the useless RPATH from the rrdtool.so - sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am - - autotools_do_configure - - #modify python sitepkg - #remove the dependency of perl-shared:Makefile - #or perl-shared/Makefile will be regenerated - #if any code touch bindings/Makefile after below perl bindings code - sed -i -e "s:python/setup.py install:python/setup.py install \ - --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \ - -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \ - ${B}/bindings/Makefile - - #redo the perl bindings - ( - cd ${S}/bindings/perl-shared; - perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc"; - - cd ../../bindings/perl-piped; - perl Makefile.PL INSTALLDIRS="vendor"; - ) - - #change the interpreter in file - sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \ - ${B}/examples/Makefile - sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \ - ${B}/examples/*.pl -} - -PACKAGES =+ "${PN}-perl ${PN}-python" -PACKAGES =+ "rrdcached" - -DESCRIPTION_rrdcached = \ -"The rrdcached package contains the data caching daemon for RRDtool." - -FILES_rrdcached = "${bindir}/rrdcached \ - ${systemd_unitdir}/system/rrdcached.service \ - ${systemd_unitdir}/system/rrdcached.socket" - -FILES_${PN}-doc += "${datadir}/rrdtool/examples" - -DESCRIPTION_${PN}-perl = \ -"The ${PN}-perl package includes RRDtool bindings for perl." -FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \ - ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*" -RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \ - perl-module-io-file perl-module-ipc-open2 perl-module-io-socket" - -DESCRIPTION_${PN}-python = \ -"The ${PN}-python package includes RRDtool bindings for python." -FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*" -RDEPENDS_${PN}-python = "python" - -FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \ - ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug" diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb new file mode 100644 index 000000000..1962a2dd4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb @@ -0,0 +1,129 @@ +SUMMARY = "High performance data logging and graphing system for time series data" +HOMEPAGE = "http://oss.oetiker.ch/rrdtool/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676" + +DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native python-setuptools-native" + +SRCREV = "56a83f4f52e6745cd4352f9ee008be3183a6dedf" +PV = "1.7.2" + +SRC_URI = "\ + git://github.com/oetiker/rrdtool-1.x.git;branch=master;protocol=http; \ +" + +S = "${WORKDIR}/git" + +inherit cpan autotools-brokensep gettext pythonnative python-dir systemd + +BBCLASSEXTEND = "native" + +SYSTEMD_PACKAGES = "rrdcached" +SYSTEMD_SERVICE_rrdcached = "rrdcached.socket rrdcached.service" + +EXTRA_AUTORECONF = "-I m4 --exclude=autopoint" + +PACKAGECONFIG ??= "python perl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +PACKAGECONFIG[python] = "--enable-python=yes \ +am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \ +am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\ +--disable-python,python," + +PACKAGECONFIG[perl] = \ +"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1' \ +ac_cv_path_PERL_CC='${CC}', \ +--disable-perl,perl," + +PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi" + +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," + +EXTRA_OECONF = " \ + --enable-shared \ + --disable-libwrap \ + --program-prefix='' \ + rd_cv_ieee_works=yes \ + --disable-ruby \ + --disable-lua \ + --disable-tcl \ + --disable-rpath \ + --enable-nls=${USE_NLS} \ + --disable-docs \ +" + +export STAGING_LIBDIR +export STAGING_INCDIR + +# emulate cpan_do_configure +EXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" ' +# Avoid do_configure error on some hosts + +do_configure() { + unset PERLHOSTLIB + #fix the pkglib problem with newer automake + #perl + sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \ + ${S}/bindings/perl-shared/Makefile.PL + + #python + sed -i -e '/PYTHON_INCLUDES="-I${/c \ + PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \ + ${S}/m4/acinclude.m4 + #remove the useless RPATH from the rrdtool.so + sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am + + autotools_do_configure + + #modify python sitepkg + #remove the dependency of perl-shared:Makefile + #or perl-shared/Makefile will be regenerated + #if any code touch bindings/Makefile after below perl bindings code + sed -i -e "s:python/setup.py install:python/setup.py install \ + --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \ + -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \ + ${B}/bindings/Makefile + + #redo the perl bindings + ( + cd ${S}/bindings/perl-shared; + perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc"; + + cd ../../bindings/perl-piped; + perl Makefile.PL INSTALLDIRS="vendor"; + ) + + #change the interpreter in file + sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \ + ${B}/examples/Makefile + sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \ + ${B}/examples/*.pl +} + +PACKAGES =+ "${PN}-perl ${PN}-python" +PACKAGES =+ "rrdcached" + +DESCRIPTION_rrdcached = \ +"The rrdcached package contains the data caching daemon for RRDtool." + +FILES_rrdcached = "${bindir}/rrdcached \ + ${systemd_unitdir}/system/rrdcached.service \ + ${systemd_unitdir}/system/rrdcached.socket" + +FILES_${PN}-doc += "${datadir}/rrdtool/examples" + +DESCRIPTION_${PN}-perl = \ +"The ${PN}-perl package includes RRDtool bindings for perl." +FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \ + ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*" +RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \ + perl-module-io-file perl-module-ipc-open2 perl-module-io-socket" + +DESCRIPTION_${PN}-python = \ +"The ${PN}-python package includes RRDtool bindings for python." +FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*" +RDEPENDS_${PN}-python = "python" + +FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \ + ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug" diff --git a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb index 91fa00cc9..249e96f16 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb @@ -3,7 +3,7 @@ DEPENDS = "jpeg tiff libpng zlib" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=34aa579294e8284b7b848c8d5d361e8f" -SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz" +SRC_URI = "http://www.leptonica.org/source/leptonica-${PV}.tar.gz" SRC_URI[md5sum] = "4f32be9bd2e2c142ba018037ab5d746f" SRC_URI[sha256sum] = "29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb index 9ad348d9f..efcf1b616 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb @@ -2,7 +2,7 @@ require ttf.inc SUMMARY = "MPlus font - TTF Edition" HOMEPAGE = "http://dejavu.sourceforge.net/wiki/" -LICENSE = "${PN}" +LICENSE = "${BPN}" LIC_FILES_CHKSUM = "file://LICENSE_E;md5=ac161e96eda00db9a3aec7870b5d9658 \ file://LICENSE_J;md5=a120ca8d7c8e4a475d5277c9aeb95221 \ " diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb index 62f2bb280..e522810a2 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb @@ -4,7 +4,7 @@ SUMMARY = "Japanese TrueType fonts from Vine Linux" AUTHOR = "Contributor: noonov " HOMEPAGE = "http://vlgothic.dicey.org/" -LICENSE = "mplus & BSD" +LICENSE = "ttf-mplus & BSD" LIC_FILES_CHKSUM = "file://LICENSE.en;md5=66ecd0fd7e4da6246fa30317c7b66755 \ file://LICENSE_E.mplus;md5=1c4767416f20215f1e61b970f2117db9 \ " diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb deleted file mode 100644 index b38fb6592..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -require recipes-graphics/xorg-driver/xorg-driver-video.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc" - -SUMMARY = "X.Org X server -- ATI Radeon video driver" - -DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics" - -DEPENDS += "virtual/libx11 libxvmc drm \ - virtual/libgl xorgproto libpciaccess" - -inherit distro_features_check -REQUIRED_DISTRO_FEATURES += "opengl" - -SRC_URI[md5sum] = "40e7c0a5a69aba3d84e0958f58705ea7" -SRC_URI[sha256sum] = "72ea3b8127d4550b64f797457f5a7851a541fa4ee2cc3f345b6c1886b81714a0" - -EXTRA_OECONF += "--disable-glamor" - -RDEPENDS_${PN} += "xserver-xorg-module-exa" -RRECOMMENDS_${PN} += "linux-firmware-radeon" - -FILES_${PN} += "${datadir}/X11" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb new file mode 100644 index 000000000..971de731a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb @@ -0,0 +1,23 @@ +require recipes-graphics/xorg-driver/xorg-driver-video.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc" + +SUMMARY = "X.Org X server -- ATI Radeon video driver" + +DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics" + +DEPENDS += "virtual/libx11 libxvmc drm \ + virtual/libgl xorgproto libpciaccess" + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES += "opengl" + +SRC_URI[md5sum] = "47eccf71823206ade9629cba69de7ef6" +SRC_URI[sha256sum] = "5cb6015d8664546ad1311bc9c363d7bc41ebf60e7046ceb44dd38e5b707961b0" + +EXTRA_OECONF += "--disable-glamor" + +RDEPENDS_${PN} += "xserver-xorg-module-exa" +RRECOMMENDS_${PN} += "linux-firmware-radeon" + +FILES_${PN} += "${datadir}/X11" diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb index 0b2335682..e124db19c 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb @@ -12,8 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "zlib readline coreutils-native" -SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ - http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=${BP} \ +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/crash-utility/${BPN}.git \ + http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=git \ file://7001force_define_architecture.patch \ file://7003cross_ranlib.patch \ file://0001-cross_add_configure_option.patch \ @@ -25,8 +26,7 @@ SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;download file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \ file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \ " -SRC_URI[md5sum] = "3f6e18d38821bb326700f1d6d43bcaec" -SRC_URI[sha256sum] = "114a83ca27c91e4321f6399d637a9d2270f72b9327e56d687c5fb139e903069b" +SRCREV = "c0a2fc9d322cf0c5f569ce54e9201d2f586edb0c" SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470" SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36" diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb index 8d706e4a5..4e5b6ca33 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb @@ -1,11 +1,7 @@ require oprofile.inc -DEPENDS += "virtual/kernel" DEPENDS_append_powerpc64 = " libpfm4" -# Depends on MACHINE_ARCH kernel -PACKAGE_ARCH = "${MACHINE_ARCH}" - SRC_URI[md5sum] = "bd998df5521ebedae31e71cd3fb6200b" SRC_URI[sha256sum] = "95ded8bde1ec39922f0af015981a67aec63e025a501e4dc04cd65d38f73647e6" 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 new file mode 100644 index 000000000..de2d46dca --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb @@ -0,0 +1,19 @@ +SUMMARY = "Timing analysis tools for suspend/resume/boot" +DESCRIPTION = "This tool suite is designed to assist kernel and OS developers \ +in optimizing their linux stack's suspend/resume & boot time." +HOMEPAGE = "https://01.org/pm-graph" +LICENSE = "GPL-2" +LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" + +SRCREV = "5be9a16547234cef5aca8bfaccd920490ea1cfa7" +SRC_URI = "git://github.com/intel/pm-graph.git" +S = "${WORKDIR}/git" + +COMPATIBLE_HOST='(i.86|x86_64).*' +EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D}" + +do_install() { + oe_runmake install +} + +RDEPENDS_${PN} += "python-core python-threading python-datetime python-subprocess python-compression" diff --git a/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb index dc3e78feb..3f25e6f00 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb @@ -41,11 +41,13 @@ do_configure_prepend() { mkdir -p ${S} cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S} cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S} + cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S} cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S} cp -r ${WORKDIR}/COPYING ${S} } do_compile() { + sed -i 's##"bits.h"#' msr-index.h sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb index 50d49370b..fb9bdc70f 100644 --- a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb +++ b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb @@ -28,9 +28,10 @@ EXTRA_OECONF = " \ --enable-custom-modes \ " -# ne10 is available only for armv7a and aarch64 +# ne10 is available only for armv7a, armv7ve and aarch64 DEPENDS_append_aarch64 = " ne10" DEPENDS_append_armv7a = " ne10" +DEPENDS_append_armv7ve = " ne10" python () { if d.getVar('TARGET_FPU') in [ 'soft' ]: diff --git a/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb new file mode 100644 index 000000000..76e10f86a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "libmikmod is a module player library supporting many formats, including mod, s3m, it, and xm." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "alsa-lib texinfo" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ +" +SRC_URI[md5sum] = "f69d7dd06d307e888f466fc27f4f680b" +SRC_URI[sha256sum] = "ad9d64dfc8f83684876419ea7cd4ff4a41d8bcd8c23ef37ecb3a200a16b46d19" + +inherit autotools binconfig lib_package + +EXTRA_OECONF = "\ + --disable-af \ + --enable-alsa \ + --disable-esd \ + --enable-oss \ + --disable-sam9407 \ + --disable-ultra \ + --disable-esdtest \ + --enable-threads \ +" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}" +PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb b/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb deleted file mode 100644 index d53dff6a0..000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb +++ /dev/null @@ -1,28 +0,0 @@ -DESCRIPTION = "libmikmod is a module player library supporting many formats, including mod, s3m, it, and xm." -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "alsa-lib texinfo" - -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ -" -SRC_URI[md5sum] = "9dd9bed30c6f7607a55480234606071b" -SRC_URI[sha256sum] = "3f363e03f7b1db75b9b6602841bbd440ed275a548e53545f980df8155de4d330" - -inherit autotools binconfig lib_package - -EXTRA_OECONF = "\ - --disable-af \ - --enable-alsa \ - --disable-esd \ - --enable-oss \ - --disable-sam9407 \ - --disable-ultra \ - --disable-esdtest \ - --enable-threads \ -" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}" -PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch deleted file mode 100644 index b59569f2c..000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 1f92aa5c8d910519e3a74b2e3a9199aa9026a16c Mon Sep 17 00:00:00 2001 -From: Arun Raghavan -Date: Mon, 25 Jan 2016 08:41:42 +0530 -Subject: [PATCH 1/2] build-sys: Use C++11 for building - -This requirement was added by gtkmm at some point: - -http://www.murrayc.com/permalink/2015/07/31/gtkmm-now-uses-c11/ ---- - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.ac b/configure.ac -index 5b50e2d..8f28782 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -39,6 +39,7 @@ AC_PROG_CC - AC_PROG_LN_S - AC_TYPE_SIGNAL - AC_HEADER_STDC -+AX_CXX_COMPILE_STDCXX_11 - - AC_ARG_ENABLE(gtk3, - [AS_HELP_STRING([--disable-gtk3], --- -2.12.1 - diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb deleted file mode 100644 index 959068dd3..000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control tool ("mixer") for the PulseAudio sound server." -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" - -DEPENDS = "intltool-native gtkmm libcanberra pulseaudio" - -inherit gnome distro_features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz \ - file://0001-build-sys-Use-C-11-for-building.patch \ - file://0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch \ - " -SRC_URI[md5sum] = "176308d2c03f8f3a7b2bd4f4d284fe71" -SRC_URI[sha256sum] = "b3d2ea5a25fc88dcee80c396014f72df1b4742f8cfbbc5349c39d64a0d338890" - -EXTRA_OECONF = " --disable-gtk3 --disable-lynx " - -RDEPENDS_${PN} += "pulseaudio-server" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb new file mode 100644 index 000000000..6a8274405 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control tool ("mixer") for the PulseAudio sound server." +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "intltool-native gtkmm3 libcanberra pulseaudio" + +inherit gnome distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz \ + " +SRC_URI[md5sum] = "9dcc2c76292e7e5e075d51b8dcb20202" +SRC_URI[sha256sum] = "8fc45bac9722aefa6f022999cbb76242d143c31b314e2dbb38f034f4069d14e2" + +EXTRA_OECONF = "--disable-lynx " + +RDEPENDS_${PN} += "pulseaudio-server" diff --git a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb deleted file mode 100644 index b31d8eb4e..000000000 --- a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "The Geolocation Service" -DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \ -The primary goal of the Geoclue project is to make creating location-aware applications \ -as simple as possible, while the secondary goal is to ensure that no application \ -can access location information without explicit permission from user." -LICENSE = "GPLv2.0+" -SECTION = "console/network" - -LIC_FILES_CHKSUM = "file://COPYING;md5=8114b83a0435d8136b47bd70111ce5cd" - -DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native" - -inherit autotools pkgconfig gtk-doc gobject-introspection - -SRC_URI = " \ - http://www.freedesktop.org/software/geoclue/releases/2.4/geoclue-${PV}.tar.xz \ -" - -SRC_URI[md5sum] = "d2a5b05f4bad032673fe23afbce27926" -SRC_URI[sha256sum] = "9c43fb9d0c12067ea64400500abb0640194947d4c2c55e38545afe5d9c5c315c" - -export BUILD_SYS -export HOST_SYS -export STAGING_INCDIR -export STAGING_LIBDIR - -# Without this line, package is delcared a library and named libgeoclue* -AUTO_LIBNAME_PKGS = "" - -PACKAGECONFIG ??= "3g modem-gps cdma nmea lib" -PACKAGECONFIG[3g] = "--enable-3g-source,--disable-3g-source,modemmanager" -PACKAGECONFIG[modem-gps] = "--enable-modem-gps-source,--disable-modem-gps-source,modemmanager" -PACKAGECONFIG[cdma] = "--enable-cdma-source,--disable-cdma-source,modemmanager" -PACKAGECONFIG[nmea] = "--enable-nmea-source,--disable-nmea-source,avahi" -PACKAGECONFIG[lib] = "--enable-libgeoclue,--disable-libgeoclue,gobject-introspection" - -EXTRA_OECONF += " \ - --with-dbus-service-user=root \ - --with-dbus-sys-dir=${sysconfdir}/dbus-1/system.d \ - --enable-demo-agent=no \ -" - -FILES_${PN} += " \ - ${datadir}/dbus-1/system-services \ - ${libdir} \ - ${systemd_unitdir} \ - ${prefix}/libexec \ -" - -FILES_${PN}-dev += " \ - ${datadir}/dbus-1/interfaces \ - ${datadir}/gir-1.0 \ -" diff --git a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb new file mode 100644 index 000000000..b46445a2b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb @@ -0,0 +1,54 @@ +SUMMARY = "The Geolocation Service" +DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \ +The primary goal of the Geoclue project is to make creating location-aware applications \ +as simple as possible, while the secondary goal is to ensure that no application \ +can access location information without explicit permission from user." +LICENSE = "GPLv2.0+" +SECTION = "console/network" + +LIC_FILES_CHKSUM = "file://COPYING;md5=bdfdd4986a0853eb84eeba85f9d0c4d6" + +DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native" + +inherit meson pkgconfig gtk-doc gobject-introspection vala + +SRC_URI = " \ + https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/${PV}/geoclue-${PV}.tar \ +" + +SRC_URI[md5sum] = "6228301ed62b587ebaa0438b97ce66e4" +SRC_URI[sha256sum] = "3caa5e10190a34c17a9b3a9d1d8a19797ed197f07f36f6e35ce533a379efe155" + +export BUILD_SYS +export HOST_SYS +export STAGING_INCDIR +export STAGING_LIBDIR + +# Without this line, package is declared a library and named libgeoclue* +AUTO_LIBNAME_PKGS = "" + +PACKAGECONFIG ??= "3g modem-gps cdma nmea lib" +PACKAGECONFIG[3g] = "-D3g-source=true,-D3g-source=false,modemmanager" +PACKAGECONFIG[modem-gps] = "-Dmodem-gps-source=true,-Dmodem-gps-source=false,modemmanager" +PACKAGECONFIG[cdma] = "-Dcdma-source=true,-Dcdma-source=false,modemmanager" +PACKAGECONFIG[nmea] = "-Dnmea-source=true,-Dnmea-source=false,avahi" +PACKAGECONFIG[lib] = "-Dlibgeoclue=true,-Dlibgeoclue=false,gobject-introspection" + +GTKDOC_MESON_OPTION = "gtk-doc" + +EXTRA_OEMESON += " \ + -Ddbus-sys-dir=${sysconfdir}/dbus-1/system.d \ + -Ddemo-agent=false \ +" + +FILES_${PN} += " \ + ${datadir}/dbus-1/system-services \ + ${libdir} \ + ${systemd_unitdir} \ + ${prefix}/libexec \ +" + +FILES_${PN}-dev += " \ + ${datadir}/dbus-1/interfaces \ + ${datadir}/gir-1.0 \ +" 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 e823e42a5..131e84961 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 @@ -28,7 +28,7 @@ export STAGING_LIBDIR PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}" PACKAGECONFIG[bluez] = "bluez='true',bluez='false',${BLUEZ}" -PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free" +PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase" EXTRA_OESCONS = " \ sysroot=${STAGING_DIR_TARGET} \ libQgpsmm='false' \ diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch deleted file mode 100644 index 28bd7dad8..000000000 --- a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch +++ /dev/null @@ -1,17 +0,0 @@ -https://www.gaia-gis.it/fossil/libspatialite/tktview?name=abeeaad448 - -Upstream-Status: Submitted [rpm5-devel@rpm5.org] - -Index: libspatialite-4.2.0/configure.ac -=================================================================== ---- libspatialite-4.2.0.orig/configure.ac -+++ libspatialite-4.2.0/configure.ac -@@ -260,7 +260,7 @@ if test x"$enable_geos" != "xno"; then - fi - # Extract the linker and include flags - GEOS_LDFLAGS=`$GEOSCONFIG --ldflags` -- GEOS_CFLAGS=-I`$GEOSCONFIG --includes` -+ GEOS_CFLAGS=`$GEOSCONFIG --cflags` - AC_SUBST([GEOS_LDFLAGS]) - AC_SUBST([GEOS_CFLAGS]) - # Ensure that we can parse geos_c.h diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch new file mode 100644 index 000000000..28bd7dad8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch @@ -0,0 +1,17 @@ +https://www.gaia-gis.it/fossil/libspatialite/tktview?name=abeeaad448 + +Upstream-Status: Submitted [rpm5-devel@rpm5.org] + +Index: libspatialite-4.2.0/configure.ac +=================================================================== +--- libspatialite-4.2.0.orig/configure.ac ++++ libspatialite-4.2.0/configure.ac +@@ -260,7 +260,7 @@ if test x"$enable_geos" != "xno"; then + fi + # Extract the linker and include flags + GEOS_LDFLAGS=`$GEOSCONFIG --ldflags` +- GEOS_CFLAGS=-I`$GEOSCONFIG --includes` ++ GEOS_CFLAGS=`$GEOSCONFIG --cflags` + AC_SUBST([GEOS_LDFLAGS]) + AC_SUBST([GEOS_CFLAGS]) + # Ensure that we can parse geos_c.h diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb deleted file mode 100644 index d66dc875b..000000000 --- a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "Library extending the SQLite core to support fully fledged Spatial SQL capabilities" -HOMEPAGE = "https://www.gaia-gis.it/fossil/libspatialite/" -SECTION = "libs" -DEPENDS = "proj geos sqlite3 libxml2 zlib" - -LICENSE = "MPLv1.1 & GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e" - -SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--enable-freexl=no" - -# package plugins for SQLite3 -PACKAGES += "${PN}-plugin" -INSANE_SKIP_${PN}-plugin = "dev-so" -FILES_${PN}-plugin += "${libdir}/mod_*" - -SRC_URI[md5sum] = "83305ed694a77152120d1f74c5151779" -SRC_URI[sha256sum] = "9f138a6854740c7827fdee53845eb1485fce3e805a7aa9fc9151f8046ebd312d" - -SRC_URI += "file://geos-config.patch" diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb new file mode 100644 index 000000000..a3f09036c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Library extending the SQLite core to support fully fledged Spatial SQL capabilities" +HOMEPAGE = "https://www.gaia-gis.it/fossil/libspatialite/" +SECTION = "libs" +DEPENDS = "proj geos sqlite3 libxml2 zlib" + +LICENSE = "MPLv1.1 & GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e" + +SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz \ + file://geos-config.patch" +SRC_URI[md5sum] = "6b380b332c00da6f76f432b10a1a338c" +SRC_URI[sha256sum] = "88900030a4762904a7880273f292e5e8ca6b15b7c6c3fb88ffa9e67ee8a5a499" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-freexl=no" + +# package plugins for SQLite3 +PACKAGES += "${PN}-plugin" +INSANE_SKIP_${PN}-plugin = "dev-so" +FILES_${PN}-plugin += "${libdir}/mod_*" diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb deleted file mode 100644 index e62c1d3d1..000000000 --- a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "C++11 command line parser" -DESCRIPTION = "A command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface." -HOMEPAGE = "https://github.com/CLIUtils/CLI11" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c271fee3ae28e11b24b97284d9f82887" -SRCREV = "bd4dc911847d0cde7a6b41dfa626a85aab213baf" -PV .= "+git${SRCPV}" - -SRC_URI += "gitsm://github.com/CLIUtils/CLI11 \ - file://0001-Add-CLANG_TIDY-check.patch \ - " - -S = "${WORKDIR}/git" - -inherit cmake -inherit ptest - -EXTRA_OECMAKE += "-DCLANG_TIDY=OFF" -DEPENDS += "boost" diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb new file mode 100644 index 000000000..1ed97a27e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "C++11 command line parser" +DESCRIPTION = "A command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface." +HOMEPAGE = "https://github.com/CLIUtils/CLI11" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8489f3831fc7b75264c1d5e346251a74" +SRCREV = "49ac989a9527ee9bb496de9ded7b4872c2e0e5ca" +PV .= "+git${SRCPV}" + +SRC_URI += "gitsm://github.com/CLIUtils/CLI11 \ + file://0001-Add-CLANG_TIDY-check.patch \ + " + +S = "${WORKDIR}/git" + +inherit cmake +inherit ptest + +EXTRA_OECMAKE += "-DCLANG_TIDY=OFF" +DEPENDS += "boost" diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb index 1b1265fe3..070451211 100644 --- a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb +++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb @@ -17,3 +17,7 @@ SRCREV= "9d8f544001cb74544de6dc8c565592f7e2626d6e" S = "${WORKDIR}/git" inherit cmake pkgconfig + +# Temporary until https://github.com/Microsoft/cpprestsdk/issues/1099 +# is fixed properly +CXXFLAGS += "-Wno-error=deprecated-copy -Wno-error=redundant-move" diff --git a/meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb b/meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb deleted file mode 100644 index 620e7804c..000000000 --- a/meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb +++ /dev/null @@ -1,7 +0,0 @@ -include gsl.inc - -SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz" - -SRC_URI[md5sum] = "494ffefd90eef4ada678c306bab4030b" -SRC_URI[sha256sum] = "85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3" - diff --git a/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.5.bb b/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.5.bb new file mode 100644 index 000000000..4e8541812 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.5.bb @@ -0,0 +1,6 @@ +include gsl.inc + +SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz" + +SRC_URI[md5sum] = "52fcbe147ba413d78841084cb43c95fb" +SRC_URI[sha256sum] = "0460ad7c2542caaddc6729762952d345374784100223995eb14d614861f2258d" diff --git a/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb new file mode 100644 index 000000000..3da67d1e3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb @@ -0,0 +1,151 @@ +SUMMARY = "Hunspell dictionaries used by Maliit" + +#Provided by Titus Wormer (wooorm) https://github.com/wooorm/dictionaries + +LICENSE = "MIT" +LICENSE_dictionaries/bg = "LGPL 2.1" +LICENSE_dictionaries/br = "GPL 3.0" +LICENSE_dictionaries/ca-valencia = "GPL 2.0 & LGPL-2.1" +LICENSE_dictionaries/ca = "GPL 2.0 & LGPL-2.1" +LICENSE_dictionaries/cs = "GPL-2.0" +LICENSE_dictionaries/da = "GPL-2.0" +LICENSE_dictionaries/de-AT = "GPL-3.0" +LICENSE_dictionaries/de-CH = "GPL-3.0" +LICENSE_dictionaries/de = "GPL-3.0" +LICENSE_dictionaries/el-polyton = "GPL-2.0" +LICENSE_dictionaries/el = "GPL-2.0" +LICENSE_dictionaries/en-AU = "LGPL-2.0" +LICENSE_dictionaries/en-CA = "MIT & BSD" +LICENSE_dictionaries/en-GB = "LGPL-2.0" +LICENSE_dictionaries/en-US = "MIT & BSD" +LICENSE_dictionaries/en-ZA = "LGPL 2.1" +LICENSE_dictionaries/eo = "GPL-2.0" +LICENSE_dictionaries/es = "GPL-3.0" +LICENSE_dictionaries/et = "LGPL-2.1" +LICENSE_dictionaries/eu = "GPL-2.0" +LICENSE_dictionaries/fo = "GPL-2.0" +LICENSE_dictionaries/fr = "MPL-2.0" +LICENSE_dictionaries/fur = "GPL-2.0" +LICENSE_dictionaries/fy = "GPL-3.0" +LICENSE_dictionaries/ga = "GPL-2.0" +LICENSE_dictionaries/gd = "GPL-3.0" +LICENSE_dictionaries/gl = "GPL-3.0" +LICENSE_dictionaries/he = "AGPL-3.0" +LICENSE_dictionaries/hr = "GPL-3.0" +LICENSE_dictionaries/hu = "GPL-2.0" +LICENSE_dictionaries/hy-arevela = "GPL-2.0" +LICENSE_dictionaries/hy-arevmda = "GPL-2.0" +LICENSE_dictionaries/ia = "GPL-3.0" +LICENSE_dictionaries/ie = "Apache-2.0" +LICENSE_dictionaries/is = "CC BY-SA 3.0 & CC BY 4.0" +LICENSE_dictionaries/it = "GPL-3.0" +LICENSE_dictionaries/ko = "MPL-1.1 & GPL-2.0 & LGPL-2.1" +LICENSE_dictionaries/la = "GPL-3.0" +LICENSE_dictionaries/lb = "EUPL-1.1" +LICENSE_dictionaries/lt = "Other" +LICENSE_dictionaries/ltg = "LGPL-2.1" +LICENSE_dictionaries/lv = "LGPL-2.1" +LICENSE_dictionaries/mk = "GPL-3.0" +LICENSE_dictionaries/mn = "GPL-2.0" +LICENSE_dictionaries/nb = "GPL-2.0" +LICENSE_dictionaries/nds = "GPL-2.0" +LICENSE_dictionaries/ne = "LGPL-2.1" +LICENSE_dictionaries/nl = "BSD" +LICENSE_dictionaries/nn = "GPL-2.0" +LICENSE_dictionaries/pl = "GPL-3.0" +LICENSE_dictionaries/pt-BR = "LGPL 2.1" +LICENSE_dictionaries/pt = "GPL-2.0" +LICENSE_dictionaries/ro = "GPL-2.0" +LICENSE_dictionaries/ru = "BSD" +LICENSE_dictionaries/rw = "GPL-3.0" +LICENSE_dictionaries/sk = "GPL-2.0" +LICENSE_dictionaries/sl = "GPL-2.0" +LICENSE_dictionaries/sr-Latn = "LGPL 3.0" +LICENSE_dictionaries/sr = "LGPL 3.0" +LICENSE_dictionaries/sv = "LGPL 3.0" +LICENSE_dictionaries/tr = "MIT" +LICENSE_dictionaries/uk = "GPL 2.0" +LICENSE_dictionaries/vi = "GPL 3.0" +LIC_FILES_CHKSUM = " \ + file://dictionaries/bg/license;md5=ab14e2ded1a43b84be9aba2be64b9814 \ + file://dictionaries/br/license;md5=2e046c64edc0a4e47fb3ea614e6c82c4 \ + file://dictionaries/ca-valencia/license;md5=da087cefab7bc3b7687203198a0042ec \ + file://dictionaries/ca/license;md5=da087cefab7bc3b7687203198a0042ec \ + file://dictionaries/cs/license;md5=e0496d626a53ad31addea1869c1bed53 \ + file://dictionaries/da/license;md5=b7678b3e997999043be3503dc717d96d \ + file://dictionaries/de-AT/license;md5=a03d823e8cd00fd71c9ba18b8ec4ccf1 \ + file://dictionaries/de-CH/license;md5=a03d823e8cd00fd71c9ba18b8ec4ccf1 \ + file://dictionaries/de/license;md5=a03d823e8cd00fd71c9ba18b8ec4ccf1 \ + file://dictionaries/el-polyton/license;md5=d952bcbf1c67129920f03536197c7281 \ + file://dictionaries/el/license;md5=90b757dd77b1ebbf473eef31037a59e8 \ + file://dictionaries/en-AU/license;md5=dae002c846eab5e1132ba2e00692dc68 \ + file://dictionaries/en-CA/license;md5=6c205de0cbcae4b42cf992bb355a5346 \ + file://dictionaries/en-GB/license;md5=dd6d2bbd7b7f4519448f2b995fd99cd4 \ + file://dictionaries/en-US/license;md5=244a909f295640bfafeb8d9e522d454b \ + file://dictionaries/en-ZA/license;md5=56e4b4ca965de3bba6db42494cc34576 \ + file://dictionaries/eo/license;md5=eb723b61539feef013de476e68b5c50a \ + file://dictionaries/es/license;md5=b41cabf4e6f2a7d951684246518bea4f \ + file://dictionaries/et/readme.md;md5=59d851f12cc280f893b245938abc1905 \ + file://dictionaries/fo/license;md5=fa9ce505d07423c9f8e6c1073f4806c2 \ + file://dictionaries/fr/license;md5=2346c7bffe6ab4d51730ab3116817c72 \ + file://dictionaries/fur/license;md5=28ac8c6e75d6c44b60016a8c850036e3 \ + file://dictionaries/fy/license;md5=c05115c38ca2a4aa95cb9c9b00ed78df \ + file://dictionaries/ga/license;md5=ee7d601b5d3be3856a169afa71eb3376 \ + file://dictionaries/gd/license;md5=b5f39c26d691733095323a59d0f02216 \ + file://dictionaries/gl/license;md5=d32239bcb673463ab874e80d47fae504 \ + file://dictionaries/he/license;md5=e627dcdf6878e7eca4454e39d1489271 \ + file://dictionaries/hr/license;md5=4b03c9b6e41a6ef12b4e31d2fb224d46 \ + file://dictionaries/hu/license;md5=c9755266de74fdbe69636bdb3076b603 \ + file://dictionaries/hy-arevela/license;md5=c690b6bc807de0a6dcd62db030843ee4 \ + file://dictionaries/hy-arevmda/license;md5=c690b6bc807de0a6dcd62db030843ee4 \ + file://dictionaries/ia/license;md5=25c37bbb54f9ab5da9b4bcdda2e2f68e \ + file://dictionaries/ie/license;md5=fa818a259cbed7ce8bc2a22d35a464fc \ + file://dictionaries/is/license;md5=db5e38a312b91d717561514767c95999 \ + file://dictionaries/it/license;md5=31d06285633a89f4d0267895ef8b7107 \ + file://dictionaries/ko/license;md5=5ff35d5b0523cccb3049edff77c73a10 \ + file://dictionaries/la/license;md5=9bc08ae2930eb806cee44bbae905b7ba \ + file://dictionaries/lb/license;md5=5d6417331778645577c40c3329a3d559 \ + file://dictionaries/lt/license;md5=3d1264d7017271c6731fefaba912a15f \ + file://dictionaries/ltg/license;md5=72c786f9d43bb07c101766457fcf6435 \ + file://dictionaries/lv/license;md5=957d42bd58feff079daa6ede1d215585 \ + file://dictionaries/mk/license;md5=c05a3747d4c871f3c6378909668ec72d \ + file://dictionaries/mn/license;md5=93a1be573a1bd039cb4e17c21ed800a7 \ + file://dictionaries/nb/license;md5=6b50c67a5ee9ba5af1b4ab6c009b66f2 \ + file://dictionaries/nds/license;md5=08c69ee106e67a1085d45dc723ae5396 \ + file://dictionaries/ne/license;md5=620e39f1aec72b0bdbc922128dd08267 \ + file://dictionaries/nl/license;md5=f9181fe437dd701ce6ae690f6e09b119 \ + file://dictionaries/nn/license;md5=9d372c99817cb42bdd1f6c0acb7f4d11 \ + file://dictionaries/pl/license;md5=5d0961c4eee8448d5f3738b1ff04ebe8 \ + file://dictionaries/pt-BR/license;md5=08a7e74543d3e612e7613f2959bedab0 \ + file://dictionaries/pt/license;md5=53d8ed71b4053ef0ccfcf6b3f89880a8 \ + file://dictionaries/ro/license;md5=db18b1d6cfc0d4ca32371cb76900de2c \ + file://dictionaries/ru/license;md5=a3d4108679bd3b76ec1a86520b5362cf \ + file://dictionaries/rw/license;md5=784d7dc7357bd924e8d5642892bf1b6b \ + file://dictionaries/sk/license;md5=7fb3956bf960db433deedec7746d33c5 \ + file://dictionaries/sl/license;md5=4965d53062ea2045837facf483475ac7 \ + file://dictionaries/sr-Latn/license;md5=0139a4b8ce316882cceae8924030950d \ + file://dictionaries/sr/license;md5=0139a4b8ce316882cceae8924030950d \ + file://dictionaries/sv/license;md5=fe5c586fe56d04fbdc44df187129ac29 \ + file://dictionaries/tr/readme.md;md5=27c07bbfa543cfdd163f2dad491703bd \ + file://dictionaries/uk/license;md5=7702f203b58979ebbc31bfaeb44f219c \ + file://dictionaries/vi/license;md5=8d9ecb4e7577ce760029786aba7ecec5 \ +" + +RDEPENDS_${PN} = "hunspell" + +PV = "0.0.0+git${SRCPV}" +SRCREV = "820a65e539e34a3a8c2a855d2450b84745c624ee" +SRC_URI = "git://github.com/wooorm/dictionaries.git" + +S = "${WORKDIR}/git" + +do_install() { + for LANGUAGE in `ls -d1 ${S}/dictionaries/*` ; do + LANGUAGE_DIR=`basename $LANGUAGE` + install -D -m0644 $LANGUAGE/index.dic ${D}${datadir}/hunspell/$LANGUAGE_DIR.dic + install -D -m0644 $LANGUAGE/index.aff ${D}${datadir}/hunspell/$LANGUAGE_DIR.aff + install -D -m0644 $LANGUAGE/LICENSE ${D}${datadir}/hunspell/LICENSE-$LANGUAGE_DIR 2>/dev/null || echo "No LICENSE for language $LANGUAGE" + done +} + +FILES_${PN} = "${datadir}/hunspell" diff --git a/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb index 40da3b496..c2fb4fa05 100644 --- a/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb @@ -6,9 +6,10 @@ LIC_FILES_CHKSUM = " \ file://COPYING.LESSER;md5=c96ca6c1de8adc025adfada81d06fba5 \ " -SRC_URI = "https://github.com/${BPN}/${BPN}/archive/v${PV}.tar.gz" -SRC_URI[md5sum] = "b2399a4aa927e8b3e171d9ea6737cc02" -SRC_URI[sha256sum] = "bb27b86eb910a8285407cf3ca33b62643a02798cf2eef468c0a74f6c3ee6bc8a" +SRCREV = "4ddd8ed5ca6484b930b111aec50c2750a6119a0f" +SRC_URI = "git://github.com/${BPN}/${BPN}.git" + +S = "${WORKDIR}/git" inherit autotools pkgconfig gettext diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb index f235db094..4ee06d77f 100644 --- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb +++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb @@ -9,9 +9,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=05ff94b3ff59fe6fa7489fa26e3d9142" DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool" BASE_PV := "${PV}" -PV .= "_43" +PV .= "_47" SRC_URI = "git://github.com/ImageMagick/ImageMagick.git " -SRCREV = "723c2bd9cc716a9267a8afe08354d67bb60dabd5" +SRCREV = "b672df7a44b0ab0219b1fa78b3673c2810ddd374" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb b/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb deleted file mode 100644 index 56a018ba5..000000000 --- a/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "A graphical front-end for gcov" -HOMEPAGE = "http://ltp.sourceforge.net/coverage/lcov.php" -DESCRIPTION = "LCOV is a graphical front-end for GCC's coverage testing \ -tool gcov. It collects gcov data for multiple source files and creates \ -HTML pages containing the source code annotated with coverage information. \ -It also adds overview pages for easy navigation within the file structure. \ -LCOV supports statement, function and branch coverage measurement." -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -RDEPENDS_${PN} += " \ - gcov \ - perl \ - perl-module-filehandle \ - perl-module-getopt-std \ - perl-module-digest-sha \ - perl-module-constant \ - perl-module-cwd \ - perl-module-errno \ - perl-module-file-basename \ - perl-module-file-find \ - perl-module-file-path \ - perl-module-file-spec \ - perl-module-file-spec-functions \ - perl-module-file-spec-unix \ - perl-module-file-temp \ - perl-module-getopt-long \ - perl-module-list-util \ - perl-module-mro \ - perl-module-overload \ - perl-module-overloading \ - perl-module-overload-numbers \ - perl-module-parent \ - perl-module-pod-usage \ - perl-module-posix \ - perl-module-re \ - perl-module-safe \ - perl-module-scalar-util \ - perl-module-term-cap \ - perl-module-text-parsewords \ - perl-module-tie-hash \ -" - -SRC_URI = "http://downloads.sourceforge.net/ltp/${BP}.tar.gz" - -SRC_URI[md5sum] = "e79b799ae3ce149aa924c7520e993024" -SRC_URI[sha256sum] = "c282de8d678ecbfda32ce4b5c85fc02f77c2a39a062f068bd8e774d29ddc9bf8" - -do_install() { - oe_runmake install PREFIX=${D} -} - diff --git a/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb b/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb new file mode 100755 index 000000000..fd02f4a76 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb @@ -0,0 +1,52 @@ +SUMMARY = "A graphical front-end for gcov" +HOMEPAGE = "http://ltp.sourceforge.net/coverage/lcov.php" +DESCRIPTION = "LCOV is a graphical front-end for GCC's coverage testing \ +tool gcov. It collects gcov data for multiple source files and creates \ +HTML pages containing the source code annotated with coverage information. \ +It also adds overview pages for easy navigation within the file structure. \ +LCOV supports statement, function and branch coverage measurement." +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +RDEPENDS_${PN} += " \ + gcov \ + perl \ + perl-module-filehandle \ + perl-module-getopt-std \ + perl-module-digest-sha \ + perl-module-constant \ + perl-module-cwd \ + perl-module-errno \ + perl-module-file-basename \ + perl-module-file-find \ + perl-module-file-path \ + perl-module-file-spec \ + perl-module-file-spec-functions \ + perl-module-file-spec-unix \ + perl-module-file-temp \ + perl-module-getopt-long \ + perl-module-list-util \ + perl-module-mro \ + perl-module-overload \ + perl-module-overloading \ + perl-module-overload-numbers \ + perl-module-parent \ + perl-module-pod-usage \ + perl-module-posix \ + perl-module-re \ + perl-module-safe \ + perl-module-scalar-util \ + perl-module-term-cap \ + perl-module-text-parsewords \ + perl-module-tie-hash \ +" + +SRC_URI = "http://downloads.sourceforge.net/ltp/${BP}.tar.gz" + +SRC_URI[md5sum] = "0220d01753469f83921f8f41ae5054c1" +SRC_URI[sha256sum] = "14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a" + +do_install() { + oe_runmake install PREFIX=${D}${prefix} CFG_DIR=${D}${sysconfdir} +} + diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc index cd7750623..89679cb91 100644 --- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc +++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc @@ -7,9 +7,6 @@ SRC_URI = "https://www.kernel.org/pub/software/libs/libgpiod/${BP}.tar.xz" inherit autotools pkgconfig -# enable tools -PACKAGECONFIG ?= "tools" - PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev" PACKAGECONFIG[tools] = "--enable-tools,--disable-tools," diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb index 96615ebf2..3ecfffdd6 100644 --- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb +++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb @@ -1,5 +1,8 @@ require libgpiod.inc +# enable tools +PACKAGECONFIG ?= "tools" + PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev" SRC_URI[md5sum] = "2aa1e1a80c3c919ae142ab9a55fb59ca" 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 index e513a33bd..ffa2b9f12 100644 --- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb +++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb @@ -5,6 +5,9 @@ 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" 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 new file mode 100644 index 000000000..c72df6d5e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb @@ -0,0 +1,27 @@ +SUMMARY = "Library for using PKCS" +DESCRIPTION = "\ +Libp11 is a library implementing a small layer on top of PKCS \ +make using PKCS" +HOMEPAGE = "https://github.com/OpenSC/libp11" +BUGTRACKER = "https://github.com/OpenSC/libp11/issues" +SECTION = "Development/Libraries" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29" +DEPENDS = "libtool openssl" + +SRC_URI = "git://github.com/OpenSC/libp11.git" +SRCREV = "973d31f3f58d5549ddd8b1f822ce8f72186f9d68" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-static" + +do_install_append () { + rm -rf ${D}${libdir}/*.la + rm -rf ${D}${docdir}/${BPN} +} + +FILES_${PN} += "${libdir}/engines*/pkcs11.so" +FILES_${PN}-dev += "${libdir}/engines*/libpkcs11${SOLIBSDEV}" diff --git a/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb b/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb deleted file mode 100644 index 87d99c1a6..000000000 --- a/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Library for using PKCS" -DESCRIPTION = "\ -Libp11 is a library implementing a small layer on top of PKCS \ -make using PKCS" -HOMEPAGE = "http://www.opensc-project.org/libp11" -SECTION = "Development/Libraries" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29" -DEPENDS = "libtool openssl" - -SRC_URI = "git://github.com/OpenSC/libp11.git" -SRCREV = "64569a391897bd29c5060b19fa4613e619e59277" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--disable-static" - -do_install_append () { - rm -rf ${D}${libdir}/*.la - rm -rf ${D}${docdir}/${BPN} -} - -FILES_${PN} += "${libdir}/engines*/pkcs11.so" -FILES_${PN}-dev += "${libdir}/engines*/libpkcs11${SOLIBSDEV}" diff --git a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb index dfca3855b..1aee674ec 100644 --- a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb +++ b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb @@ -32,4 +32,4 @@ do_install_ptest() { sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test } -RDEPENDS_${PN}-ptest += "${PN} make bash mce-inject" +RDEPENDS_${PN}-ptest += "make bash mce-inject" diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch index 4fa7960b1..3919f9904 100644 --- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch +++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch @@ -1,10 +1,7 @@ -From a805b601fcf4bb9e269566a8d25e48d9e60915c0 Mon Sep 17 00:00:00 2001 +From c3436ec8a502a40579abf62be0a479fa9d7888ad Mon Sep 17 00:00:00 2001 From: Changqing Li -Date: Mon, 26 Nov 2018 11:14:24 +0800 -Subject: [PATCH] From 8bdd4481d822b6625d8bf719431ca74ed1b5e021 Mon Sep 17 - 00:00:00 2001 From: Changqing Li Date: Mon, 16 - Jul 2018 15:56:37 +0800 Subject: [PATCH] multipath-tools: modify Makefile.inc - for cross-compilation +Date: Tue, 4 Jun 2019 11:39:39 +0800 +Subject: [PATCH] multipath-tools: modify Makefile.inc for cross-compilation Do not look for systemd info on the host, and allow us to pass in CFLAGS using the OPTFLAGS variable. @@ -27,23 +24,28 @@ remove change about CFLAGS part, since patch 0024 already have similar function. Signed-off-by: Changqing Li -update for version 0.7.9 +update for version 0.8.1 Signed-off-by: Changqing Li --- - Makefile.inc | 6 ------ - 1 file changed, 6 deletions(-) + Makefile.inc | 11 ----------- + 1 file changed, 11 deletions(-) diff --git a/Makefile.inc b/Makefile.inc -index 295afb9..7136db3 100644 +index 661f141..3f9fd28 100644 --- a/Makefile.inc +++ b/Makefile.inc -@@ -38,12 +38,6 @@ ifndef RUN +@@ -35,17 +35,6 @@ ifndef RUN endif endif -ifndef SYSTEMD -- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1) -- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p') +- ifeq ($(shell pkg-config --modversion libsystemd >/dev/null 2>&1 && echo 1), 1) +- SYSTEMD = $(shell pkg-config --modversion libsystemd) +- else +- ifeq ($(shell systemctl --version >/dev/null 2>&1 && echo 1), 1) +- SYSTEMD = $(shell systemctl --version 2> /dev/null | \ +- sed -n 's/systemd \([0-9]*\).*/\1/p') +- endif - endif -endif - diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb deleted file mode 100644 index 0cff48dc4..000000000 --- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb +++ /dev/null @@ -1,111 +0,0 @@ -SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" - -DESCRIPTION = "It provides tools to manage multipath devices \ -by instructing the device-mapper kernel module what to do. These \ -tools include: \ -1. multipath - Scan the system for multipath devices and assemble them.\ -2. multipathd - Detects when paths fail and execs multipath to update \ -things.\ -3. mpathpersist - Persistent reservation management feature allows \ -cluster management software to manage persistent reservation through \ -mpath device. It processes management requests from callers and hides \ -the management task details. It also handles persistent reservation \ -management of data path life cycle and state changes.\ -4. kpartx - This tool, derived from util-linux's partx, reads partition \ -tables on specified device and create device maps over partitions \ -segments detected. It is called from hotplug upon device maps creation \ -and deletion" - -HOMEPAGE = "http://christophe.varoqui.free.fr/" - -DEPENDS = "libdevmapper \ - libaio \ - liburcu \ - readline \ - udev \ - json-c \ - " - -LICENSE = "GPLv2" - -SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ - file://multipathd.oe \ - file://multipath.conf.example \ - file://0021-RH-fixup-udev-rules-for-redhat.patch \ - file://0022-RH-Remove-the-property-blacklist-exception-builtin.patch \ - file://0023-RH-don-t-start-without-a-config-file.patch \ - file://0024-RH-use-rpm-optflags-if-present.patch \ - file://0025-RH-add-mpathconf.patch \ - file://0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \ - file://0027-RH-warn-on-invalid-regex-instead-of-failing.patch \ - file://0028-RH-reset-default-find_mutipaths-value-to-off.patch \ - file://0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \ - file://0030-Always-use-devmapper.patch \ - file://0031-Always-use-devmapper-for-kpartx.patch \ - " - -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -SRCREV = "eb688e1833e9533bfd9496ddc37eecc93590defa" - -S = "${WORKDIR}/git" - -inherit systemd pkgconfig - -SYSTEMD_SERVICE_${PN} = "multipathd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -TARGET_CC_ARCH += "${LDFLAGS}" - -# multipath-tools includes a copy of the valgrind.h header -# file and uses the macros to suppress some false positives. However, -# that only works on ARM when thumb is disabled. Otherwise one gets: -# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' -# ../Makefile.inc:66: recipe for target 'debug.o' failed -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -# The exact version of SYSTEMD does not matter but should be greater than 209. -# -EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ - OPTFLAGS="${CFLAGS}" \ - bindir=${base_sbindir} \ - LIB=${base_libdir} libdir=${base_libdir}/multipath \ - unitdir=${systemd_system_unitdir} \ - ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ - ' - -do_install() { - oe_runmake install - - # We copy an initscript, but do not start multipathd at init time. - # - if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then - install -d ${D}${sysconfdir}/init.d - cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd - fi - - install -d ${D}${sysconfdir} - install -m 0644 ${WORKDIR}/multipath.conf.example \ - ${D}${sysconfdir}/multipath.conf.example -} - -FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" - -PACKAGES =+ "${PN}-libs" -FILES_${PN}-libs = "${base_libdir}/lib*.so.* \ - ${base_libdir}/multipath/lib*.so*" -RDEPENDS_${PN} += "${PN}-libs bash" - -PROVIDES += "device-mapper-multipath" -RPROVIDES_${PN} += "device-mapper-multipath" -RPROVIDES_${PN}-libs += "device-mapper-multipath-libs" - -FILES_${PN}-dev += "${base_libdir}/pkgconfig" - -PACKAGES =+ "kpartx" -FILES_kpartx = "${base_sbindir}/kpartx \ - ${nonarch_libdir}/udev/kpartx_id \ - " - -RDEPENDS_${PN} += "bash kpartx" diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb new file mode 100644 index 000000000..55866e984 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb @@ -0,0 +1,111 @@ +SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" + +DESCRIPTION = "It provides tools to manage multipath devices \ +by instructing the device-mapper kernel module what to do. These \ +tools include: \ +1. multipath - Scan the system for multipath devices and assemble them.\ +2. multipathd - Detects when paths fail and execs multipath to update \ +things.\ +3. mpathpersist - Persistent reservation management feature allows \ +cluster management software to manage persistent reservation through \ +mpath device. It processes management requests from callers and hides \ +the management task details. It also handles persistent reservation \ +management of data path life cycle and state changes.\ +4. kpartx - This tool, derived from util-linux's partx, reads partition \ +tables on specified device and create device maps over partitions \ +segments detected. It is called from hotplug upon device maps creation \ +and deletion" + +HOMEPAGE = "http://christophe.varoqui.free.fr/" + +DEPENDS = "libdevmapper \ + libaio \ + liburcu \ + readline \ + udev \ + json-c \ + " + +LICENSE = "GPLv2" + +SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ + file://multipathd.oe \ + file://multipath.conf.example \ + file://0021-RH-fixup-udev-rules-for-redhat.patch \ + file://0022-RH-Remove-the-property-blacklist-exception-builtin.patch \ + file://0023-RH-don-t-start-without-a-config-file.patch \ + file://0024-RH-use-rpm-optflags-if-present.patch \ + file://0025-RH-add-mpathconf.patch \ + file://0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \ + file://0027-RH-warn-on-invalid-regex-instead-of-failing.patch \ + file://0028-RH-reset-default-find_mutipaths-value-to-off.patch \ + file://0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \ + file://0030-Always-use-devmapper.patch \ + file://0031-Always-use-devmapper-for-kpartx.patch \ + " + +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +SRCREV = "e23b5d7cf67a9c543e118f2f6b902594a02a804a" + +S = "${WORKDIR}/git" + +inherit systemd pkgconfig + +SYSTEMD_SERVICE_${PN} = "multipathd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +TARGET_CC_ARCH += "${LDFLAGS}" + +# multipath-tools includes a copy of the valgrind.h header +# file and uses the macros to suppress some false positives. However, +# that only works on ARM when thumb is disabled. Otherwise one gets: +# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' +# ../Makefile.inc:66: recipe for target 'debug.o' failed +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +# The exact version of SYSTEMD does not matter but should be greater than 209. +# +EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ + OPTFLAGS="${CFLAGS}" \ + bindir=${base_sbindir} \ + LIB=${base_libdir} libdir=${base_libdir}/multipath \ + unitdir=${systemd_system_unitdir} \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ + ' + +do_install() { + oe_runmake install + + # We copy an initscript, but do not start multipathd at init time. + # + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then + install -d ${D}${sysconfdir}/init.d + cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd + fi + + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/multipath.conf.example \ + ${D}${sysconfdir}/multipath.conf.example +} + +FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" + +PACKAGES =+ "${PN}-libs" +FILES_${PN}-libs = "${base_libdir}/lib*.so.* \ + ${base_libdir}/multipath/lib*.so*" +RDEPENDS_${PN} += "${PN}-libs bash" + +PROVIDES += "device-mapper-multipath" +RPROVIDES_${PN} += "device-mapper-multipath" +RPROVIDES_${PN}-libs += "device-mapper-multipath-libs" + +FILES_${PN}-dev += "${base_libdir}/pkgconfig" + +PACKAGES =+ "kpartx" +FILES_kpartx = "${base_sbindir}/kpartx \ + ${nonarch_libdir}/udev/kpartx_id \ + " + +RDEPENDS_${PN} += "bash kpartx" diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_4.1.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_4.1.bb deleted file mode 100644 index 1fe36cdb0..000000000 --- a/meta-openembedded/meta-oe/recipes-support/nano/nano_4.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ -Not ANOther editor) is an enhanced clone of the \ -Pico text editor." -HOMEPAGE = "http://www.nano-editor.org/" -SECTION = "console/utils" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" - -DEPENDS = "ncurses file" -RDEPENDS_${PN} = "ncurses-terminfo-base" - -PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" - -SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" -SRC_URI[md5sum] = "235eaf7d27db3c3679b2054361ff6181" -SRC_URI[sha256sum] = "86bde596a038d6fde619b49d785c0ebf0b3eaa7001a39dbe9316bd5392d221d0" - -inherit autotools gettext pkgconfig - -PACKAGECONFIG[tiny] = "--enable-tiny," diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb new file mode 100644 index 000000000..19a8b4782 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ +Not ANOther editor) is an enhanced clone of the \ +Pico text editor." +HOMEPAGE = "http://www.nano-editor.org/" +SECTION = "console/utils" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" + +DEPENDS = "ncurses file" +RDEPENDS_${PN} = "ncurses-terminfo-base" + +PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" + +SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" +SRC_URI[md5sum] = "9ef42650960fa71671dc5318841a27a9" +SRC_URI[sha256sum] = "1143defce62e391b241252ffdb6e5c1ded56cfe26d46ee81b796abe0ccc45df9" + +inherit autotools gettext pkgconfig + +PACKAGECONFIG[tiny] = "--enable-tiny," diff --git a/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb b/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb index 4e8986de1..f37ccde1c 100644 --- a/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb @@ -15,13 +15,15 @@ PV .= "gitr+${SRCPV}" inherit cmake -# Incompatible with archs other than armv7 and aarch64 +# Incompatible with archs other than armv7, armv7ve and aarch64 COMPATIBLE_MACHINE = "(^$)" COMPATIBLE_MACHINE_aarch64 = "(.*)" COMPATIBLE_MACHINE_armv7a = "(.*)" +COMPATIBLE_MACHINE_armv7ve = "(.*)" NE10_TARGET_ARCH = "" NE10_TARGET_ARCH_aarch64 = "aarch64" NE10_TARGET_ARCH_armv7a = "armv7" +NE10_TARGET_ARCH_armv7ve = "armv7" EXTRA_OECMAKE = '-DGNULINUX_PLATFORM=ON -DNE10_BUILD_SHARED=ON -DNE10_LINUX_TARGET_ARCH="${NE10_TARGET_ARCH}"' diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch deleted file mode 100644 index 432496f27..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 43d859f9d5eecdc0fdc1a6bf539bcde4a152e6f5 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 27 Aug 2018 23:22:21 -0700 -Subject: [PATCH] Use off64_t instead of __off64_t - -Fixes -unknown type name '__off64_t' - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - lib/file/fileIOPosix.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/file/fileIOPosix.c b/lib/file/fileIOPosix.c -index 23108279..bcd2ddc5 100644 ---- a/lib/file/fileIOPosix.c -+++ b/lib/file/fileIOPosix.c -@@ -206,10 +206,10 @@ static AlignedPool alignedPool; - * the symbols (and anyone building XOPEN<700 gets nothing). - */ - extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt, -- __off64_t offset) __attribute__ ((weak)); -+ off64_t offset) __attribute__ ((weak)); - - extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt, -- __off64_t offset) __attribute__ ((weak)); -+ off64_t offset) __attribute__ ((weak)); - #else - #error "Large file support unavailable. Aborting." - #endif diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch index b7a405835..0736572b3 100644 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch @@ -1,4 +1,4 @@ -From 929150608c16644695f19cd2e0cc8a06a41cd497 Mon Sep 17 00:00:00 2001 +From fc9bf1ce9f1a21150b10736a1c968d4ca6d4eaa3 Mon Sep 17 00:00:00 2001 From: Martin Kelly Date: Fri, 7 Apr 2017 15:20:30 -0700 Subject: [PATCH] configure.ac: don't use dnet-config @@ -11,14 +11,14 @@ Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Martin Kelly --- - configure.ac | 4 ++-- + open-vm-tools/configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: open-vm-tools/configure.ac -=================================================================== ---- open-vm-tools.orig/configure.ac -+++ open-vm-tools/configure.ac -@@ -944,7 +944,7 @@ if test "$with_dnet" = "yes"; then +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 325a39f5..713ea683 100644 +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -949,7 +949,7 @@ if test "$with_dnet" = "yes"; then AC_VMW_CHECK_LIB([dnet], [DNET], [], @@ -27,7 +27,7 @@ Index: open-vm-tools/configure.ac [], [dnet.h], [intf_open], -@@ -954,7 +954,7 @@ if test "$with_dnet" = "yes"; then +@@ -959,7 +959,7 @@ if test "$with_dnet" = "yes"; then if test $have_dnet = "no"; then AC_MSG_ERROR( diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch deleted file mode 100644 index 882058119..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 4981bb3013d7f1e40e44618076d99af3484eedea Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:02:50 -0700 -Subject: [PATCH] include poll.h instead of sys/poll.h - -including sys/poll.h is deprecated - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/asyncsocket/asyncsocket.c b/lib/asyncsocket/asyncsocket.c -index 13908679..e0a68e7e 100644 ---- a/lib/asyncsocket/asyncsocket.c -+++ b/lib/asyncsocket/asyncsocket.c -@@ -69,8 +69,8 @@ - #else - #include - #include -+#include - #include --#include - #include - #include - #include diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch deleted file mode 100644 index 7af265a99..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e25d00d8297cba044c3a4d2e38749e54adac66c1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 22 Dec 2018 19:59:02 -0800 -Subject: [PATCH] misc: Do not print NULL string into logs - -string format %s is getting a NULL pointer for 'expand' -parameter always since the check for chunks[i] == NULL will ensure that -its always null when the Log() API is called - -Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/312] - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/misc/util_misc.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git open-vm-tools/lib/misc/util_misc.c b/open-vm-tools/lib/misc/util_misc.c -index 198c23d2..0ac0a335 100644 ---- open-vm-tools/lib/misc/util_misc.c -+++ open-vm-tools/lib/misc/util_misc.c -@@ -719,8 +719,8 @@ Util_ExpandString(const char *fileName) // IN file path to expand - ASSERT(!freeChunk[i]); - chunks[i] = expand; - if (chunks[i] == NULL) { -- Log("%s: Cannot allocate memory to expand \"%s\" in \"%s\".\n", -- __FUNCTION__, expand, fileName); -+ Log("%s: Cannot allocate memory to expand in \"%s\".\n", -+ __FUNCTION__, fileName); - goto out; - } - chunkSize[i] = strlen(expand); diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch deleted file mode 100644 index 4d6a0fd6a..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 92955b3a6180b4285d11ef79766df01b9ab60dbd Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:11:58 -0700 -Subject: [PATCH] Rename poll.h to vm_poll.h - -musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this -we rename poll.h to vm_poll.h. - -Signed-off-by: Natanael Copa -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- - open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- - open-vm-tools/lib/include/asyncsocket.h | 2 +- - open-vm-tools/lib/include/pollImpl.h | 2 +- - open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +- - open-vm-tools/lib/rpcIn/rpcin.c | 2 +- - .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +- - 7 files changed, 7 insertions(+), 7 deletions(-) - rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%) - -diff --git a/lib/asyncsocket/asyncsocket.c b/lib/asyncsocket/asyncsocket.c -index e0a68e7e..b9675674 100644 ---- a/lib/asyncsocket/asyncsocket.c -+++ b/lib/asyncsocket/asyncsocket.c -@@ -86,7 +86,7 @@ - #include "random.h" - #include "asyncsocket.h" - #include "asyncSocketBase.h" --#include "poll.h" -+#include "vm_poll.h" - #include "log.h" - #include "err.h" - #include "hostinfo.h" -diff --git a/lib/hgfsServer/hgfsServer.c b/lib/hgfsServer/hgfsServer.c -index 991a7941..ed0c09f9 100644 ---- a/lib/hgfsServer/hgfsServer.c -+++ b/lib/hgfsServer/hgfsServer.c -@@ -48,7 +48,7 @@ - #include "hgfsServerOplock.h" - #include "hgfsDirNotify.h" - #include "userlock.h" --#include "poll.h" -+#include "vm_poll.h" - #include "mutexRankLib.h" - #include "vm_basic_asm.h" - #include "unicodeOperations.h" -diff --git a/lib/include/asyncsocket.h b/lib/include/asyncsocket.h -index 524147ea..103f944f 100644 ---- a/lib/include/asyncsocket.h -+++ b/lib/include/asyncsocket.h -@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket; - * Or the client can specify its favorite poll class and locking behavior. - * Use of IVmdbPoll is only supported for regular sockets and for Attach. - */ --#include "poll.h" -+#include "vm_poll.h" - struct IVmdbPoll; - typedef struct AsyncSocketPollParams { - int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ -diff --git a/lib/include/pollImpl.h b/lib/include/pollImpl.h -index 46442e55..8bc66997 100644 ---- a/lib/include/pollImpl.h -+++ b/lib/include/pollImpl.h -@@ -44,7 +44,7 @@ - #define INCLUDE_ALLOW_USERLEVEL - #include "includeCheck.h" - --#include "poll.h" -+#include "vm_poll.h" - #include "vm_basic_asm.h" - - #if defined(__cplusplus) -diff --git a/lib/include/poll.h b/lib/include/vm_poll.h -similarity index 99% -rename from open-vm-tools/lib/include/poll.h -rename to open-vm-tools/lib/include/vm_poll.h -index 988fe6d0..e9e74fb5 100644 ---- a/lib/include/poll.h -+++ b/lib/include/vm_poll.h -@@ -60,7 +60,7 @@ extern "C" { - #if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 - #include - #endif --#include -+#include - #define HZ 100 - #endif - #ifdef __ANDROID__ -diff --git a/lib/rpcIn/rpcin.c b/lib/rpcIn/rpcin.c -index c2c51583..d6c62f10 100644 ---- a/lib/rpcIn/rpcin.c -+++ b/lib/rpcIn/rpcin.c -@@ -57,7 +57,7 @@ - - #if defined(VMTOOLS_USE_VSOCKET) - # include --# include "poll.h" -+# include "vm_poll.h" - # include "asyncsocket.h" - # include "vmci_defs.h" - #include "dataMap.h" -diff --git a/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c b/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c -index 03700937..f0b49ad7 100644 ---- a/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c -+++ b/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c -@@ -48,7 +48,7 @@ - #include "rpcout.h" - #include "rabbitmqProxyConst.h" - #include "vm_basic_types.h" --#include "poll.h" -+#include "vm_poll.h" - #ifdef OPEN_VM_TOOLS - #include "vmci_sockets.h" - #include "sslDirect.h" diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch index f905601d5..34628ffbe 100644 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch @@ -1,7 +1,7 @@ -From 5818acc8032e3247257730376e947330340a07b3 Mon Sep 17 00:00:00 2001 +From 3fa237b3afabc293e563292b8d89265a871626ad Mon Sep 17 00:00:00 2001 From: Martin Kelly Date: Mon, 22 May 2017 17:00:05 -0700 -Subject: [PATCH 2/2] add #include +Subject: [PATCH] add #include In newer glibc versions, the definition for major() has been moved to sys/sysmacros.h, and using the older version in has been @@ -11,14 +11,14 @@ Upstream-Status: Pending Signed-off-by: Martin Kelly --- - lib/wiper/wiperPosix.c | 3 +++ + open-vm-tools/lib/wiper/wiperPosix.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c -index d389eee..1f221fc 100644 ---- a/lib/wiper/wiperPosix.c -+++ b/lib/wiper/wiperPosix.c -@@ -40,6 +40,9 @@ +index bd542410..ccf06293 100644 +--- a/open-vm-tools/lib/wiper/wiperPosix.c ++++ b/open-vm-tools/lib/wiper/wiperPosix.c +@@ -43,6 +43,9 @@ # include # endif /* __FreeBSD_version >= 500000 */ #endif @@ -28,6 +28,3 @@ index d389eee..1f221fc 100644 #include #include "vmware.h" --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch new file mode 100644 index 000000000..6d2e49814 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch @@ -0,0 +1,45 @@ +From bf9292ff9bd25467a014d6c2070805d163daa4c9 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:03:00 +0000 +Subject: [PATCH] Use configure test for struct timespec + +Use the configure script to test for struct time spec instead of trying +to keep track of what platforms has it. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 1 + + open-vm-tools/lib/include/hgfsUtil.h | 8 +------- + 2 files changed, 2 insertions(+), 7 deletions(-) + +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 713ea683..48ff1ef3 100644 +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -1208,6 +1208,7 @@ AC_TYPE_OFF_T + AC_TYPE_PID_T + AC_TYPE_SIZE_T + AC_CHECK_MEMBERS([struct stat.st_rdev]) ++AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include ]]) + AC_HEADER_TIME + AC_STRUCT_TM + AC_C_VOLATILE +diff --git a/open-vm-tools/lib/include/hgfsUtil.h b/open-vm-tools/lib/include/hgfsUtil.h +index 609f4c00..a3a022d4 100644 +--- a/open-vm-tools/lib/include/hgfsUtil.h ++++ b/open-vm-tools/lib/include/hgfsUtil.h +@@ -53,13 +53,7 @@ + # include + # endif + # include "vm_basic_types.h" +-# if !defined _STRUCT_TIMESPEC && \ +- !defined _TIMESPEC_DECLARED && \ +- !defined __timespec_defined && \ +- !defined sun && \ +- !defined __FreeBSD__ && \ +- !__APPLE__ && \ +- !defined _WIN32 ++# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC + struct timespec { + time_t tv_sec; + long tv_nsec; diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch deleted file mode 100644 index c7d34c5cf..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch +++ /dev/null @@ -1,39 +0,0 @@ -From a2e7d9273261c5c5cbc33796900f415097f5455e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:16:53 -0700 -Subject: [PATCH] use posix strerror_r unless on gnu libc system - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/err/errPosix.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/lib/err/errPosix.c b/lib/err/errPosix.c -index c81b4c13..7a403640 100644 ---- a/lib/err/errPosix.c -+++ b/lib/err/errPosix.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - - #include "vmware.h" - #include "errInt.h" -@@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN - { - char *p; - --#if defined(__linux__) && !defined(__ANDROID__) -+#if defined(__GLIBC__) && !defined(__ANDROID__) - p = strerror_r(errorNumber, buf, bufSize); - #else -- p = strerror(errorNumber); --#endif -+ if (strerror_r(errorNumber, buf, bufSize) != 0) -+ snprintf(buf, bufSize, "unknown error %i", errorNumber); -+ p = buf; -+#endif /* defined __GLIBC__ */ - ASSERT(p != NULL); - return p; - } diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch new file mode 100644 index 000000000..e107ecf23 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch @@ -0,0 +1,58 @@ +From 5a795b234c617150915a607776c76377948870a6 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:10:14 +0000 +Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS + +The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so +assume it is not there instead of testing for specific implementations. + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- + open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +index f2b7ce67..0e6351a9 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -105,11 +105,13 @@ typedef struct DirectoryEntry { + #endif + + /* +- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the +- * Solaris version of . ++ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in ++ * POSIX. + */ +-#ifdef sun ++#ifndef ACCESSPERMS + # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) ++#endif ++#ifndef ALLPERMS + # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) + #endif + +diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +index 89133652..7e9c3a91 100644 +--- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c ++++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +@@ -52,7 +52,7 @@ + + #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) +-#ifdef sun ++#ifndef ACCESSPERMS + #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + #ifdef __ANDROID__ +@@ -61,7 +61,6 @@ + */ + #define NO_SETMNTENT + #define NO_ENDMNTENT +-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + + diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch deleted file mode 100644 index e802dca4e..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch +++ /dev/null @@ -1,29 +0,0 @@ -From e694a122c1ff32d8b951ae55756796f9576d23ed Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:37:09 -0700 -Subject: [PATCH] Use uintmax_t for handling rlim_t - -rlimit types are not representable with long or long long -formats, therefore use uintmax_t to typecast rlim_t types -and use %j to print it - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/hgfsServer/hgfsServerLinux.c b/lib/hgfsServer/hgfsServerLinux.c -index 2e73707d..a2fdb850 100644 ---- a/lib/hgfsServer/hgfsServerLinux.c -+++ b/lib/hgfsServer/hgfsServerLinux.c -@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: - goto exit; - } - -- LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n", -- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max)); -+ LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n", -+ __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max)); - - /* - * Check the offset is within the file size range. diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch deleted file mode 100644 index f02d00f84..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch +++ /dev/null @@ -1,45 +0,0 @@ -From bf1eafb07297711baf9320b1edcca8a3376f117d Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 09:03:00 +0000 -Subject: [PATCH 05/11] Use configure test for struct timespec - -Use the configure script to test for struct time spec instead of trying -to keep track of what platforms has it. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/configure.ac | 1 + - open-vm-tools/lib/include/hgfsUtil.h | 8 +------- - 2 files changed, 2 insertions(+), 7 deletions(-) - -Index: open-vm-tools/configure.ac -=================================================================== ---- open-vm-tools.orig/configure.ac -+++ open-vm-tools/configure.ac -@@ -1127,6 +1127,7 @@ AC_TYPE_OFF_T - AC_TYPE_PID_T - AC_TYPE_SIZE_T - AC_CHECK_MEMBERS([struct stat.st_rdev]) -+AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include ]]) - AC_HEADER_TIME - AC_STRUCT_TM - AC_C_VOLATILE -Index: open-vm-tools/lib/include/hgfsUtil.h -=================================================================== ---- open-vm-tools.orig/lib/include/hgfsUtil.h -+++ open-vm-tools/lib/include/hgfsUtil.h -@@ -53,13 +53,7 @@ - # include - # endif - # include "vm_basic_types.h" --# if !defined _STRUCT_TIMESPEC && \ -- !defined _TIMESPEC_DECLARED && \ -- !defined __timespec_defined && \ -- !defined sun && \ -- !defined __FreeBSD__ && \ -- !__APPLE__ && \ -- !defined _WIN32 -+# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC - struct timespec { - time_t tv_sec; - long tv_nsec; diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch new file mode 100644 index 000000000..c6378b808 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch @@ -0,0 +1,135 @@ +From 719d60978f979cf2e03771a9b8a62e36c92639f9 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:05:07 +0000 +Subject: [PATCH] Use configure to test for feature instead of platform + +Test for various functions instead of trying to keep track of what +platform and what version of the given platform has support for what. + +This should make it easier to port to currently unknown platforms and +will solve the issue if a platform add support for a missing feature in +the future. + +The features we test for are: +- getifaddrs +- getauxval +- issetugid +- __secure_getenv + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 4 ++++ + open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++------------- + open-vm-tools/lib/nicInfo/nicInfoPosix.c | 6 ++++- + 3 files changed, 23 insertions(+), 17 deletions(-) + +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 48ff1ef3..71e684bb 100644 +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -897,6 +897,7 @@ AC_CHECK_FUNCS( + + AC_CHECK_FUNCS([ecvt]) + AC_CHECK_FUNCS([fcvt]) ++AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv]) + + AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) + +@@ -1145,10 +1146,13 @@ fi + ### + + AC_CHECK_HEADERS([crypt.h]) ++AC_CHECK_HEADERS([ifaddrs.h]) + AC_CHECK_HEADERS([inttypes.h]) + AC_CHECK_HEADERS([stdint.h]) + AC_CHECK_HEADERS([stdlib.h]) + AC_CHECK_HEADERS([wchar.h]) ++AC_CHECK_HEADERS([net/if.h]) ++AC_CHECK_HEADERS([sys/auxv.h]) + AC_CHECK_HEADERS([sys/inttypes.h]) + AC_CHECK_HEADERS([sys/io.h]) + AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD +diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c +index b950cf84..1dcfb508 100644 +--- a/open-vm-tools/lib/misc/idLinux.c ++++ b/open-vm-tools/lib/misc/idLinux.c +@@ -27,12 +27,9 @@ + #include + #include + #include +-#ifdef __linux__ +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#ifdef HAVE_SYS_AUXV_H + #include + #endif +-#endif + #ifdef __APPLE__ + #include + #include +@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN: + static Bool + IdIsSetUGid(void) + { +-#if defined(__ANDROID__) +- /* Android does not have a secure_getenv, so be conservative. */ +- return TRUE; +-#else + /* + * We use __secure_getenv, which returns NULL if the binary is +- * setuid or setgid. Alternatives include, ++ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not ++ * available. Alternatives include, + * +- * a) getauxval(AT_SECURE); not available until glibc 2.16. +- * b) __libc_enable_secure; may not be exported. ++ * a) issetugid(); not (yet?) available in glibc. ++ * b) getauxval(AT_SECURE); not available until glibc 2.16. ++ * c) __libc_enable_secure; may not be exported. + * +- * Use (a) when we are based on glibc 2.16, or newer. ++ * Use (b) when we are based on glibc 2.16, or newer. + */ + +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#if HAVE_ISSETUGID ++ return issetugid(); ++#elif HAVE_GETAUXVAL + return getauxval(AT_SECURE) != 0; +-#else ++#elif HAVE___SECURE_GETENV + static const char envName[] = "VMW_SETUGID_TEST"; + + if (setenv(envName, "1", TRUE) == -1) { + return TRUE; /* Conservative */ + } + return __secure_getenv(envName) == NULL; +-#endif ++#else ++ /* Android does not have a secure_getenv, so be conservative. */ ++ return TRUE; + #endif + } + #endif +diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c +index a22981d5..b4e08681 100644 +--- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c ++++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c +@@ -34,9 +34,13 @@ + #include + #include + #include +-#if defined(__FreeBSD__) || defined(__APPLE__) ++#if HAVE_SYS_SYSCTL_H + # include ++#endif ++#if HAVE_IFADDRS_H + # include ++#endif ++#if HAVE_NET_IF_H + # include + #endif + #ifndef NO_DNET diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch deleted file mode 100644 index d1f4eff9b..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 31ae6f42458f90d4994a4ad8e2b7673691612c36 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 09:10:14 +0000 -Subject: [PATCH 06/11] Fix definition of ALLPERMS and ACCESSPERMS - -The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so -assume it is not there instead of testing for specific implementations. - -This is needed for musl libc. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- - open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +-- - 2 files changed, 6 insertions(+), 5 deletions(-) - -Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -=================================================================== ---- open-vm-tools.orig/lib/hgfsServer/hgfsServerLinux.c -+++ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -@@ -107,11 +107,13 @@ typedef struct DirectoryEntry { - #endif - - /* -- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the -- * Solaris version of . -+ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in -+ * POSIX. - */ --#ifdef sun -+#ifndef ACCESSPERMS - # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) -+#endif -+#ifndef ALLPERMS - # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) - #endif - -Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c -=================================================================== ---- open-vm-tools.orig/services/plugins/dndcp/dnd/dndLinux.c -+++ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c -@@ -51,7 +51,7 @@ - - #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO) - #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) --#ifdef sun -+#ifndef ACCESSPERMS - #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) - #endif - #ifdef __ANDROID__ -@@ -60,7 +60,6 @@ - */ - #define NO_SETMNTENT - #define NO_ENDMNTENT --#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) - #endif - - diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch new file mode 100644 index 000000000..9a227f9ec --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch @@ -0,0 +1,25 @@ +From 11adcf43a1e7aa39ee4d82fa567f37e5b0c6ca81 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:41:01 +0000 +Subject: [PATCH] Use configure test for sys/stat.h include + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/services/plugins/vix/vixTools.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c +index e5273786..cabc4137 100644 +--- a/open-vm-tools/services/plugins/vix/vixTools.c ++++ b/open-vm-tools/services/plugins/vix/vixTools.c +@@ -66,7 +66,7 @@ + #include + #endif + +-#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__) ++#ifdef HAVE_SYS_STAT_H + #include + #endif + diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch new file mode 100644 index 000000000..11be2d4a0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch @@ -0,0 +1,24 @@ +From cf1284fda8fb22a2b27cb2ce7962f166166e74c3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:48:04 -0700 +Subject: [PATCH] Fix subdir objects configure error + +Fix build on musl while here + +Signed-off-by: Khem Raj +--- + open-vm-tools/configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 71e684bb..b76a7966 100644 +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -303,6 +303,7 @@ AC_ARG_ENABLE( + [], + [enable_resolutionkms="auto"]) + ++AM_INIT_AUTOMAKE([subdir-objects]) + AM_INIT_AUTOMAKE + + ### diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch deleted file mode 100644 index ad19fb24b..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 6cc1c22cc30320f56da552a76bd956db8f255b6a Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 10:05:07 +0000 -Subject: [PATCH 07/11] Use configure to test for feature instead of platform - -Test for various functions instead of trying to keep track of what -platform and what version of the given platform has support for what. - -This should make it easier to port to currently unknown platforms and -will solve the issue if a platform add support for a missing feature in -the future. - -The features we test for are: -- getifaddrs -- getauxval -- issetugid -- __secure_getenv - -This is needed for musl libc. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/configure.ac | 4 ++++ - open-vm-tools/lib/misc/idLinux.c | 30 ++++++++++++++---------------- - open-vm-tools/lib/nicInfo/nicInfoPosix.c | 8 ++++++-- - 3 files changed, 24 insertions(+), 18 deletions(-) - -Index: open-vm-tools/configure.ac -=================================================================== ---- open-vm-tools.orig/configure.ac -+++ open-vm-tools/configure.ac -@@ -892,6 +892,7 @@ AC_CHECK_FUNCS( - - AC_CHECK_FUNCS([ecvt]) - AC_CHECK_FUNCS([fcvt]) -+AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv]) - - AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) - -@@ -1076,10 +1077,13 @@ AC_PATH_PROG( - ### - - AC_CHECK_HEADERS([crypt.h]) -+AC_CHECK_HEADERS([ifaddrs.h]) - AC_CHECK_HEADERS([inttypes.h]) - AC_CHECK_HEADERS([stdint.h]) - AC_CHECK_HEADERS([stdlib.h]) - AC_CHECK_HEADERS([wchar.h]) -+AC_CHECK_HEADERS([net/if.h]) -+AC_CHECK_HEADERS([sys/auxv.h]) - AC_CHECK_HEADERS([sys/inttypes.h]) - AC_CHECK_HEADERS([sys/io.h]) - AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD -Index: open-vm-tools/lib/misc/idLinux.c -=================================================================== ---- open-vm-tools.orig/lib/misc/idLinux.c -+++ open-vm-tools/lib/misc/idLinux.c -@@ -27,12 +27,9 @@ - #include - #include - #include --#ifdef __linux__ --#if defined(__GLIBC__) && \ -- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) -+#ifdef HAVE_SYS_AUXV_H - #include - #endif --#endif - #ifdef __APPLE__ - #include - #include -@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN: - static Bool - IdIsSetUGid(void) - { --#if defined(__ANDROID__) -- /* Android does not have a secure_getenv, so be conservative. */ -- return TRUE; --#else - /* - * We use __secure_getenv, which returns NULL if the binary is -- * setuid or setgid. Alternatives include, -+ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not -+ * available. Alternatives include, - * -- * a) getauxval(AT_SECURE); not available until glibc 2.16. -- * b) __libc_enable_secure; may not be exported. -+ * a) issetugid(); not (yet?) available in glibc. -+ * b) getauxval(AT_SECURE); not available until glibc 2.16. -+ * c) __libc_enable_secure; may not be exported. - * -- * Use (a) when we are based on glibc 2.16, or newer. -+ * Use (b) when we are based on glibc 2.16, or newer. - */ - --#if defined(__GLIBC__) && \ -- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) -+#if HAVE_ISSETUGID -+ return issetugid(); -+#elif HAVE_GETAUXVAL - return getauxval(AT_SECURE) != 0; --#else -+#elif HAVE___SECURE_GETENV - static const char envName[] = "VMW_SETUGID_TEST"; - - if (setenv(envName, "1", TRUE) == -1) { - return TRUE; /* Conservative */ - } - return __secure_getenv(envName) == NULL; --#endif -+#else -+ /* Android does not have a secure_getenv, so be conservative. */ -+ return TRUE; - #endif - } - #endif -Index: open-vm-tools/lib/nicInfo/nicInfoPosix.c -=================================================================== ---- open-vm-tools.orig/lib/nicInfo/nicInfoPosix.c -+++ open-vm-tools/lib/nicInfo/nicInfoPosix.c -@@ -34,9 +34,13 @@ - #include - #include - #include --#if defined(__FreeBSD__) || defined(__APPLE__) -+#if HAVE_SYS_SYSCTL_H - # include -+#endif -+#if HAVE_IFADDRS_H - # include -+#endif -+#if HAVE_NET_IF_H - # include - #endif - #ifndef NO_DNET diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch new file mode 100644 index 000000000..814b9e3b2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch @@ -0,0 +1,26 @@ +From e4f0b99d90e26b15106f634caad1c3dea9e09cb8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:02:50 -0700 +Subject: [PATCH] include poll.h instead of sys/poll.h + +including sys/poll.h is deprecated + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c +index 65b07109..b41aa29d 100644 +--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c ++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c +@@ -69,8 +69,8 @@ + #else + #include + #include ++#include + #include +-#include + #include + #include + #include diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch new file mode 100644 index 000000000..5c1aa7c40 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch @@ -0,0 +1,115 @@ +From 8793466326dd10b0d2dbb83c64beff5cc8c0fc7d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:11:58 -0700 +Subject: [PATCH] Rename poll.h to vm_poll.h + +musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this +we rename poll.h to vm_poll.h. + +Signed-off-by: Natanael Copa +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- + open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- + open-vm-tools/lib/include/asyncsocket.h | 2 +- + open-vm-tools/lib/include/pollImpl.h | 2 +- + open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +- + open-vm-tools/lib/rpcIn/rpcin.c | 2 +- + .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +- + 7 files changed, 7 insertions(+), 7 deletions(-) + rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%) + +diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c +index b41aa29d..8691309d 100644 +--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c ++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c +@@ -86,7 +86,7 @@ + #include "random.h" + #include "asyncsocket.h" + #include "asyncSocketBase.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "log.h" + #include "err.h" + #include "hostinfo.h" +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c +index 7ea3b7f4..740c4fed 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServer.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c +@@ -48,7 +48,7 @@ + #include "hgfsServerOplock.h" + #include "hgfsDirNotify.h" + #include "userlock.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "mutexRankLib.h" + #include "vm_basic_asm.h" + #include "unicodeOperations.h" +diff --git a/open-vm-tools/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h +index ec9b45aa..dc91e738 100644 +--- a/open-vm-tools/lib/include/asyncsocket.h ++++ b/open-vm-tools/lib/include/asyncsocket.h +@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket; + * Or the client can specify its favorite poll class and locking behavior. + * Use of IVmdbPoll is only supported for regular sockets and for Attach. + */ +-#include "poll.h" ++#include "vm_poll.h" + struct IVmdbPoll; + typedef struct AsyncSocketPollParams { + int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ +diff --git a/open-vm-tools/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h +index 46442e55..8bc66997 100644 +--- a/open-vm-tools/lib/include/pollImpl.h ++++ b/open-vm-tools/lib/include/pollImpl.h +@@ -44,7 +44,7 @@ + #define INCLUDE_ALLOW_USERLEVEL + #include "includeCheck.h" + +-#include "poll.h" ++#include "vm_poll.h" + #include "vm_basic_asm.h" + + #if defined(__cplusplus) +diff --git a/open-vm-tools/lib/include/poll.h b/open-vm-tools/lib/include/vm_poll.h +similarity index 99% +rename from open-vm-tools/lib/include/poll.h +rename to open-vm-tools/lib/include/vm_poll.h +index 6acd4f35..fbc88494 100644 +--- a/open-vm-tools/lib/include/poll.h ++++ b/open-vm-tools/lib/include/vm_poll.h +@@ -60,7 +60,7 @@ extern "C" { + #if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 + #include + #endif +-#include ++#include + #define HZ 100 + #endif + #ifdef __ANDROID__ +diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c +index 8eea7d86..c48f5be2 100644 +--- a/open-vm-tools/lib/rpcIn/rpcin.c ++++ b/open-vm-tools/lib/rpcIn/rpcin.c +@@ -57,7 +57,7 @@ + + #if defined(VMTOOLS_USE_VSOCKET) + # include +-# include "poll.h" ++# include "vm_poll.h" + # include "asyncsocket.h" + # include "vmci_defs.h" + #include "dataMap.h" +diff --git a/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c b/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c +index 03700937..f0b49ad7 100644 +--- a/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c ++++ b/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c +@@ -48,7 +48,7 @@ + #include "rpcout.h" + #include "rabbitmqProxyConst.h" + #include "vm_basic_types.h" +-#include "poll.h" ++#include "vm_poll.h" + #ifdef OPEN_VM_TOOLS + #include "vmci_sockets.h" + #include "sslDirect.h" diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch new file mode 100644 index 000000000..784b4fc6c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch @@ -0,0 +1,39 @@ +From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:16:53 -0700 +Subject: [PATCH] use posix strerror_r unless on gnu libc system + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/err/errPosix.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c +index c81b4c13..7a403640 100644 +--- a/open-vm-tools/lib/err/errPosix.c ++++ b/open-vm-tools/lib/err/errPosix.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include "vmware.h" + #include "errInt.h" +@@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN + { + char *p; + +-#if defined(__linux__) && !defined(__ANDROID__) ++#if defined(__GLIBC__) && !defined(__ANDROID__) + p = strerror_r(errorNumber, buf, bufSize); + #else +- p = strerror(errorNumber); +-#endif ++ if (strerror_r(errorNumber, buf, bufSize) != 0) ++ snprintf(buf, bufSize, "unknown error %i", errorNumber); ++ p = buf; ++#endif /* defined __GLIBC__ */ + ASSERT(p != NULL); + return p; + } diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch deleted file mode 100644 index 78722390e..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 95c6184d9ff70a47c41768850923a96de9e544aa Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 10:41:01 +0000 -Subject: [PATCH 11/11] Use configure test for sys/stat.h include - -This is needed for musl libc. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/services/plugins/vix/vixTools.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: open-vm-tools/services/plugins/vix/vixTools.c -=================================================================== ---- open-vm-tools.orig/services/plugins/vix/vixTools.c -+++ open-vm-tools/services/plugins/vix/vixTools.c -@@ -66,7 +66,7 @@ - #include - #endif - --#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__) -+#ifdef HAVE_SYS_STAT_H - #include - #endif - diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch new file mode 100644 index 000000000..0a1d00873 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch @@ -0,0 +1,29 @@ +From 18eea61a7a768c6c3b57c6683c7bef7049f0f6ab Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:37:09 -0700 +Subject: [PATCH] Use uintmax_t for handling rlim_t + +rlimit types are not representable with long or long long +formats, therefore use uintmax_t to typecast rlim_t types +and use %j to print it + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +index 0e6351a9..a2ee1740 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: + goto exit; + } + +- LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n", +- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max)); ++ LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n", ++ __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max)); + + /* + * Check the offset is within the file size range. diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch new file mode 100644 index 000000000..d69b74e23 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch @@ -0,0 +1,31 @@ +From 123c690f12f560022305b0cf19499e7f81a690ae Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 27 Aug 2018 23:22:21 -0700 +Subject: [PATCH] Use off64_t instead of __off64_t + +Fixes +unknown type name '__off64_t' + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/file/fileIOPosix.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c +index 23108279..bcd2ddc5 100644 +--- a/open-vm-tools/lib/file/fileIOPosix.c ++++ b/open-vm-tools/lib/file/fileIOPosix.c +@@ -206,10 +206,10 @@ static AlignedPool alignedPool; + * the symbols (and anyone building XOPEN<700 gets nothing). + */ + extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt, +- __off64_t offset) __attribute__ ((weak)); ++ off64_t offset) __attribute__ ((weak)); + + extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt, +- __off64_t offset) __attribute__ ((weak)); ++ off64_t offset) __attribute__ ((weak)); + #else + #error "Large file support unavailable. Aborting." + #endif diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch new file mode 100644 index 000000000..88f4f694c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch @@ -0,0 +1,31 @@ +From cfc6839362bd96bf2f42954160f16a60bf1de377 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 22 Dec 2018 19:59:02 -0800 +Subject: [PATCH] misc: Do not print NULL string into logs + +string format %s is getting a NULL pointer for 'expand' +parameter always since the check for chunks[i] == NULL will ensure that +its always null when the Log() API is called + +Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/312] + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/misc/util_misc.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/open-vm-tools/lib/misc/util_misc.c b/open-vm-tools/lib/misc/util_misc.c +index 198c23d2..0ac0a335 100644 +--- a/open-vm-tools/lib/misc/util_misc.c ++++ b/open-vm-tools/lib/misc/util_misc.c +@@ -719,8 +719,8 @@ Util_ExpandString(const char *fileName) // IN file path to expand + ASSERT(!freeChunk[i]); + chunks[i] = expand; + if (chunks[i] == NULL) { +- Log("%s: Cannot allocate memory to expand \"%s\" in \"%s\".\n", +- __FUNCTION__, expand, fileName); ++ Log("%s: Cannot allocate memory to expand in \"%s\".\n", ++ __FUNCTION__, fileName); + goto out; + } + chunkSize[i] = strlen(expand); diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch new file mode 100644 index 000000000..b5ccffd14 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch @@ -0,0 +1,1281 @@ +From af9eca8689c97ea8e792902b458a31608286655e Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 13 Jun 2019 16:01:03 +0000 +Subject: [PATCH] Fix new warnings from gcc9 + +Imported from Fedora: +https://src.fedoraproject.org/rpms/open-vm-tools/raw/master/f/gcc9-warnings.patch + +Upstream bug: +https://github.com/vmware/open-vm-tools/issues/330 + +Upstream-Status: Pending +--- + open-vm-tools/hgfsmounter/hgfsmounter.c | 14 +- + open-vm-tools/lib/hgfsServer/hgfsServer.c | 24 ++- + open-vm-tools/vmhgfs-fuse/dir.c | 175 ++++++++--------- + open-vm-tools/vmhgfs-fuse/file.c | 217 +++++++++++++--------- + open-vm-tools/vmhgfs-fuse/filesystem.c | 46 ++--- + open-vm-tools/vmhgfs-fuse/fsutil.c | 63 ++++--- + open-vm-tools/vmhgfs-fuse/link.c | 125 +++++++------ + 7 files changed, 367 insertions(+), 297 deletions(-) + +diff --git a/open-vm-tools/hgfsmounter/hgfsmounter.c b/open-vm-tools/hgfsmounter/hgfsmounter.c +index 0921b700..3f6798dc 100644 +--- a/open-vm-tools/hgfsmounter/hgfsmounter.c ++++ b/open-vm-tools/hgfsmounter/hgfsmounter.c +@@ -1,5 +1,5 @@ + /********************************************************* +- * Copyright (C) 2006-2017 VMware, Inc. All rights reserved. ++ * Copyright (C) 2006-2019 VMware, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published +@@ -514,11 +514,13 @@ ParseFmask(const char *option, // IN: option string along with value + HgfsMountInfo *mountInfo, // OUT: mount data + int *flags) // OUT: mount flags + { ++ unsigned short fmask = 0; + ASSERT(option); + ASSERT(mountInfo); + +- if (ParseMask(option, &mountInfo->fmask)) { +- LOG("Setting mount fmask to %o\n", mountInfo->fmask); ++ if (ParseMask(option, &fmask)) { ++ LOG("Setting mount fmask to %o\n", fmask); ++ mountInfo->fmask = fmask; + return TRUE; + } + +@@ -548,11 +550,13 @@ ParseDmask(const char *option, // IN: option string along with value + HgfsMountInfo *mountInfo, // OUT: mount data + int *flags) // OUT: mount flags + { ++ unsigned short dmask = 0; + ASSERT(option); + ASSERT(mountInfo); + +- if (ParseMask(option, &mountInfo->dmask)) { +- LOG("Setting mount dmask to %o\n", mountInfo->dmask); ++ if (ParseMask(option, &dmask)) { ++ LOG("Setting mount dmask to %o\n", dmask); ++ mountInfo->dmask = dmask; + return TRUE; + } + +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c +index 740c4fed..422383cd 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServer.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c +@@ -1,5 +1,5 @@ + /********************************************************* +- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. ++ * Copyright (C) 1998-2019 VMware, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published +@@ -159,7 +159,7 @@ struct HgfsTransportSessionInfo { + HgfsServerChannelData channelCapabilities; + }; + +-/* The input request paramaters object. */ ++/* The input request parameters object. */ + typedef struct HgfsInputParam { + const void *request; /* Hgfs header followed by operation request */ + size_t requestSize; /* Size of Hgfs header and operation request */ +@@ -2682,8 +2682,8 @@ HgfsSearchHandle2Search(HgfsHandle handle, // IN: handle + * None + * + * Side effects: +- * If there isnt enough memory to accomodate the new names, those file nodes +- * that couldnt be updated are deleted. ++ * If there isn't enough memory to accommodate the new names, those file nodes ++ * that couldn't be updated are deleted. + * + *----------------------------------------------------------------------------- + */ +@@ -3399,7 +3399,7 @@ HgfsServerSessionReceive(HgfsPacket *packet, // IN: Hgfs Packet + + /* Send error if we fail to process the op. */ + if (HGFS_ERROR_SUCCESS != status) { +- LOG(4, ("Error %d occured parsing the packet\n", (uint32)status)); ++ LOG(4, ("Error %d occurred parsing the packet\n", (uint32)status)); + HgfsServerCompleteRequest(status, 0, input); + } + } +@@ -4131,7 +4131,7 @@ HgfsServerSetSessionCapability(HgfsOp op, // IN: operation code + result = TRUE; + } + } +- LOG(4, ("%s: Setting capabilitiy flags %x for op code %d %s\n", ++ LOG(4, ("%s: Setting capability flags %x for op code %d %s\n", + __FUNCTION__, flags, op, result ? "succeeded" : "failed")); + + return result; +@@ -4143,7 +4143,7 @@ HgfsServerSetSessionCapability(HgfsOp op, // IN: operation code + * + * HgfsServerResEnumInit -- + * +- * Initialize an enumeration of all exisitng resources. ++ * Initialize an enumeration of all existing resources. + * + * Results: + * The enumeration state object. +@@ -4239,7 +4239,7 @@ HgfsServerResEnumExit(void *enumState) // IN/OUT: enumeration state + * + * HgfsServerEnumerateSharedFolders -- + * +- * Enumerates all exisitng shared folders and registers shared folders with ++ * Enumerates all existing shared folders and registers shared folders with + * directory notification package. + * + * Results: +@@ -6536,11 +6536,13 @@ HgfsServerRead(HgfsInputParam *input) // IN: Input params + payload = &reply->payload[0]; + } + if (payload) { ++ uint32 actualSize = 0; + status = HgfsPlatformReadFile(readFd, input->session, offset, + requiredSize, payload, +- &reply->actualSize); ++ &actualSize); + if (HGFS_ERROR_SUCCESS == status) { + reply->reserved = 0; ++ reply->actualSize = actualSize; + replyPayloadSize = sizeof *reply; + + if (readUseDataBuffer) { +@@ -6556,11 +6558,13 @@ HgfsServerRead(HgfsInputParam *input) // IN: Input params + break; + } + case HGFS_OP_READ: { ++ uint32 actualSize = 0; + HgfsReplyRead *reply = replyRead; + + status = HgfsPlatformReadFile(readFd, input->session, offset, requiredSize, +- reply->payload, &reply->actualSize); ++ reply->payload, &actualSize); + if (HGFS_ERROR_SUCCESS == status) { ++ reply->actualSize = actualSize; + replyPayloadSize = sizeof *reply + reply->actualSize; + } else { + LOG(4, ("%s: V1 Failed to read-> %d.\n", __FUNCTION__, status)); +diff --git a/open-vm-tools/vmhgfs-fuse/dir.c b/open-vm-tools/vmhgfs-fuse/dir.c +index 6298a4ea..e71b7afd 100644 +--- a/open-vm-tools/vmhgfs-fuse/dir.c ++++ b/open-vm-tools/vmhgfs-fuse/dir.c +@@ -1,5 +1,5 @@ + /********************************************************* +- * Copyright (C) 2013 VMware, Inc. All rights reserved. ++ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published +@@ -54,38 +54,53 @@ HgfsPackDirOpenRequest(const char *path, // IN: Path of the dir to open + HgfsOp opUsed, // IN: Op to be used + HgfsReq *req) // IN/OUT: Packet to write into + { +- char *name; +- unsigned int *nameLength = NULL; + size_t reqSize; +- int result; + + ASSERT(path); + ASSERT(req); + LOG(4, ("Path = %s \n", path)); + switch (opUsed) { + case HGFS_OP_SEARCH_OPEN_V3: { ++ int result; + HgfsRequestSearchOpenV3 *requestV3 = HgfsGetRequestPayload(req); + +- /* We'll use these later. */ +- name = requestV3->dirName.name; +- nameLength = &requestV3->dirName.length; + requestV3->dirName.flags = 0; + requestV3->dirName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE; + requestV3->dirName.fid = HGFS_INVALID_HANDLE; + requestV3->reserved = 0; + reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize(); ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_LARGE_PACKET_MAX - (reqSize - 1), ++ requestV3->dirName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed\n")); ++ return -EINVAL; ++ } ++ LOG(4, ("After conversion = %s\n", requestV3->dirName.name)); ++ requestV3->dirName.length = result; ++ reqSize += result; + break; + } + + case HGFS_OP_SEARCH_OPEN: { ++ int result; + HgfsRequestSearchOpen *request; + + request = (HgfsRequestSearchOpen *)(HGFS_REQ_PAYLOAD(req)); + +- /* We'll use these later. */ +- name = request->dirName.name; +- nameLength = &request->dirName.length; + reqSize = sizeof *request; ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_LARGE_PACKET_MAX - (reqSize - 1), ++ request->dirName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed\n")); ++ return -EINVAL; ++ } ++ LOG(4, ("After conversion = %s\n", request->dirName.name)); ++ request->dirName.length = result; ++ reqSize += result; + break; + } + +@@ -94,21 +109,7 @@ HgfsPackDirOpenRequest(const char *path, // IN: Path of the dir to open + return -EPROTO; + } + +- /* Convert to CP name. */ +- +- LOG(4, ("After buildPath = %s\n", path)); +- result = CPName_ConvertTo(path, +- HGFS_LARGE_PACKET_MAX - (reqSize - 1), +- name); +- if (result < 0) { +- LOG(4, ("CP conversion failed\n")); +- return -EINVAL; +- } +- +- LOG(4, ("After conversion = %s\n", name)); +- +- *nameLength = (uint32) result; +- req->payloadSize = reqSize + result; ++ req->payloadSize = reqSize; + + /* Fill in header here as payloadSize needs to be there. */ + HgfsPackHeader(req, opUsed); +@@ -149,7 +150,6 @@ HgfsDirOpen(const char* path, // IN: Path of dir to open + int result; + HgfsOp opUsed; + HgfsStatus replyStatus; +- HgfsHandle *replySearch; + + ASSERT(path); + req = HgfsGetNewRequest(); +@@ -161,16 +161,6 @@ HgfsDirOpen(const char* path, // IN: Path of dir to open + + retry: + opUsed = hgfsVersionSearchOpen; +- if (opUsed == HGFS_OP_SEARCH_OPEN_V3) { +- HgfsReplySearchOpenV3 *requestV3 = HgfsGetReplyPayload(req); +- +- replySearch = &requestV3->search; +- +- } else { +- HgfsReplySearchOpen *request = (HgfsReplySearchOpen *)HGFS_REQ_PAYLOAD(req); +- +- replySearch = &request->search; +- } + + result = HgfsPackDirOpenRequest(path, opUsed, req); + if (result != 0) { +@@ -187,8 +177,14 @@ retry: + + switch (result) { + case 0: +- *handle = *replySearch; +- LOG(6, ("Set handle to %u\n", *replySearch)); ++ if (opUsed == HGFS_OP_SEARCH_OPEN_V3) { ++ HgfsReplySearchOpenV3 *requestV3 = HgfsGetReplyPayload(req); ++ *handle = requestV3->search; ++ } else { ++ HgfsReplySearchOpen *request = (HgfsReplySearchOpen *)HGFS_REQ_PAYLOAD(req); ++ *handle = request->search; ++ } ++ LOG(6, ("Set handle to %u\n", *handle)); + break; + case -EPROTO: + /* Retry with older version(s). Set globally. */ +@@ -626,25 +622,30 @@ HgfsPackCreateDirRequest(const char *path, + HgfsOp opUsed, // IN: Op to be used. + HgfsReq *req) // IN/OUT: Packet to write into + { +- char *fileName = NULL; +- uint32 *fileNameLength; + size_t reqSize; +- int result; ++ + + ASSERT(req); + + switch (opUsed) { + case HGFS_OP_CREATE_DIR_V3: { ++ int result; + HgfsRequestCreateDirV3 *requestV3 = HgfsGetRequestPayload(req); + + reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize(); +- /* We'll use these later. */ +- fileName = requestV3->fileName.name; +- fileNameLength = &requestV3->fileName.length; + requestV3->fileName.flags = 0; + requestV3->fileName.fid = HGFS_INVALID_HANDLE; + requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE; +- ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_LARGE_PACKET_MAX - (reqSize - 1), ++ requestV3->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ requestV3->fileName.length = result; ++ reqSize += result; + requestV3->mask = HGFS_CREATE_DIR_MASK; + + /* Set permissions. */ +@@ -656,15 +657,23 @@ HgfsPackCreateDirRequest(const char *path, + break; + } + case HGFS_OP_CREATE_DIR_V2: { ++ int result; + HgfsRequestCreateDirV2 *requestV2; + + requestV2 = (HgfsRequestCreateDirV2 *)(HGFS_REQ_PAYLOAD(req)); + +- /* We'll use these later. */ +- fileName = requestV2->fileName.name; +- fileNameLength = &requestV2->fileName.length; + reqSize = sizeof *requestV2; + ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_LARGE_PACKET_MAX - (reqSize - 1), ++ requestV2->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ requestV2->fileName.length = result; ++ reqSize += result; + requestV2->mask = HGFS_CREATE_DIR_MASK; + + /* Set permissions. */ +@@ -675,15 +684,22 @@ HgfsPackCreateDirRequest(const char *path, + break; + } + case HGFS_OP_CREATE_DIR: { ++ int result; + HgfsRequestCreateDir *request; + + request = (HgfsRequestCreateDir *)(HGFS_REQ_PAYLOAD(req)); + +- /* We'll use these later. */ +- fileName = request->fileName.name; +- fileNameLength = &request->fileName.length; + reqSize = sizeof *request; +- ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_LARGE_PACKET_MAX - (reqSize - 1), ++ request->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ request->fileName.length = result; ++ reqSize += result; + /* Set permissions. */ + request->permissions = (permsMode & S_IRWXU) >> 6; + break; +@@ -693,18 +709,7 @@ HgfsPackCreateDirRequest(const char *path, + return -EPROTO; + } + +- +- /* Convert to CP name. */ +- result = CPName_ConvertTo(path, +- HGFS_LARGE_PACKET_MAX - (reqSize - 1), +- fileName); +- if (result < 0) { +- LOG(4, ("CP conversion failed.\n")); +- return -EINVAL; +- } +- +- *fileNameLength = result; +- req->payloadSize = reqSize + result; ++ req->payloadSize = reqSize; + + /* Fill in header here as payloadSize needs to be there. */ + HgfsPackHeader(req, opUsed); +@@ -827,8 +832,6 @@ HgfsDelete(const char* path, // IN: Path to file + HgfsReq *req = NULL; + int result = 0; + HgfsStatus replyStatus; +- char *fileName = NULL; +- uint32 *fileNameLength; + uint32 reqSize; + HgfsOp opUsed; + HgfsAttrInfo newAttr = {0}; +@@ -862,8 +865,17 @@ HgfsDelete(const char* path, // IN: Path to file + + reqSize = sizeof(*request) + HgfsGetRequestHeaderSize(); + request->hints = 0; +- fileName = request->fileName.name; +- fileNameLength = &request->fileName.length; ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize), ++ request->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ result = -EINVAL; ++ goto out; ++ } ++ request->fileName.length = result; ++ reqSize += result; + request->fileName.fid = HGFS_INVALID_HANDLE; + request->fileName.flags = 0; + request->fileName.caseType = HGFS_FILE_NAME_DEFAULT_CASE; +@@ -874,24 +886,21 @@ HgfsDelete(const char* path, // IN: Path to file + + request = (HgfsRequestDelete *)(HGFS_REQ_PAYLOAD(req)); + /* Fill out the request packet. */ +- fileName = request->fileName.name; +- fileNameLength = &request->fileName.length; + reqSize = sizeof *request; ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize), ++ request->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ result = -EINVAL; ++ goto out; ++ } ++ request->fileName.length = result; ++ reqSize += result; + } + +- +- /* Convert to CP name. */ +- result = CPName_ConvertTo(path, +- HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize), +- fileName); +- if (result < 0) { +- LOG(4, ("CP conversion failed.\n")); +- result = -EINVAL; +- goto out; +- } +- +- *fileNameLength = result; +- req->payloadSize = reqSize + result; ++ req->payloadSize = reqSize; + + /* Fill in header here as payloadSize needs to be there. */ + HgfsPackHeader(req, opUsed); +diff --git a/open-vm-tools/vmhgfs-fuse/file.c b/open-vm-tools/vmhgfs-fuse/file.c +index 389ebba8..0b6c48bc 100644 +--- a/open-vm-tools/vmhgfs-fuse/file.c ++++ b/open-vm-tools/vmhgfs-fuse/file.c +@@ -1,5 +1,5 @@ + /********************************************************* +- * Copyright (C) 2013,2017 VMware, Inc. All rights reserved. ++ * Copyright (C) 2013,2018-2019 VMware, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published +@@ -66,10 +66,7 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file + HgfsOp opUsed, // IN: Op to use + HgfsReq *req) // IN/OUT: Packet to write into + { +- char *name; +- uint32 *nameLength; + size_t reqSize; +- int result; + int openMode, openFlags; + + ASSERT(path); +@@ -88,14 +85,22 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file + + switch (opUsed) { + case HGFS_OP_OPEN_V3: { ++ int result; + HgfsRequestOpenV3 *requestV3 = HgfsGetRequestPayload(req); + + reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize(); + +- /* We'll use these later. */ +- name = requestV3->fileName.name; +- nameLength = &requestV3->fileName.length; ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_LARGE_PACKET_MAX - (reqSize - 1), ++ requestV3->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } + ++ requestV3->fileName.length = result; ++ reqSize += result; + /* Linux clients need case-sensitive lookups. */ + requestV3->fileName.flags = 0; + requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE; +@@ -122,15 +127,24 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file + } + + case HGFS_OP_OPEN_V2: { ++ int result; + HgfsRequestOpenV2 *requestV2; + + requestV2 = (HgfsRequestOpenV2 *)(HGFS_REQ_PAYLOAD(req)); + +- /* We'll use these later. */ +- name = requestV2->fileName.name; +- nameLength = &requestV2->fileName.length; + reqSize = sizeof *requestV2; + ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_LARGE_PACKET_MAX - (reqSize - 1), ++ requestV2->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ ++ requestV2->fileName.length = result; ++ reqSize += result; + requestV2->mask = mask; + requestV2->mode = openMode; + requestV2->flags = openFlags; +@@ -148,14 +162,23 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file + break; + } + case HGFS_OP_OPEN: { ++ int result; + HgfsRequestOpen *request; + + request = (HgfsRequestOpen *)(HGFS_REQ_PAYLOAD(req)); +- /* We'll use these later. */ +- name = request->fileName.name; +- nameLength = &request->fileName.length; + reqSize = sizeof *request; + ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_LARGE_PACKET_MAX - (reqSize - 1), ++ request->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ ++ request->fileName.length = result; ++ reqSize += result; + request->mode = openMode; + request->flags = openFlags; + +@@ -168,18 +191,7 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file + return -EPROTO; + } + +- +- /* Convert to CP name. */ +- result = CPName_ConvertTo(path, +- HGFS_LARGE_PACKET_MAX - (reqSize - 1), +- name); +- if (result < 0) { +- LOG(4, ("CP conversion failed.\n")); +- return -EINVAL; +- } +- +- *nameLength = (uint32) result; +- req->payloadSize = reqSize + result; ++ req->payloadSize = reqSize; + + /* Fill in header here as payloadSize needs to be there. */ + HgfsPackHeader(req, opUsed); +@@ -915,10 +927,6 @@ int + HgfsRename(const char* from, const char* to) + { + HgfsReq *req = NULL; +- char *oldName; +- char *newName; +- uint32 *oldNameLength; +- uint32 *newNameLength; + int result = 0; + uint32 reqSize; + HgfsOp opUsed; +@@ -942,33 +950,41 @@ retry: + if (opUsed == HGFS_OP_RENAME_V3) { + HgfsRequestRenameV3 *requestV3 = HgfsGetRequestPayload(req); + +- oldName = requestV3->oldName.name; +- oldNameLength = &requestV3->oldName.length; + requestV3->hints = 0; + requestV3->oldName.flags = 0; + requestV3->oldName.fid = HGFS_INVALID_HANDLE; + requestV3->oldName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE; + requestV3->reserved = 0; + reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize(); ++ /* Convert old name to CP format. */ ++ result = CPName_ConvertTo(from, ++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize), ++ requestV3->oldName.name); ++ if (result < 0) { ++ LOG(4, ("oldName CP conversion failed\n")); ++ result = -EINVAL; ++ goto out; ++ } ++ ++ requestV3->oldName.length = result; ++ reqSize += result; + } else { + HgfsRequestRename *request = (HgfsRequestRename *)HGFS_REQ_PAYLOAD(req); + +- oldName = request->oldName.name; +- oldNameLength = &request->oldName.length; + reqSize = sizeof *request; +- } +- /* Convert old name to CP format. */ +- result = CPName_ConvertTo(from, +- HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize), +- oldName); +- if (result < 0) { +- LOG(4, ("oldName CP conversion failed\n")); +- result = -EINVAL; +- goto out; +- } ++ /* Convert old name to CP format. */ ++ result = CPName_ConvertTo(from, ++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize), ++ request->oldName.name); ++ if (result < 0) { ++ LOG(4, ("oldName CP conversion failed\n")); ++ result = -EINVAL; ++ goto out; ++ } + +- *oldNameLength = result; +- reqSize += result; ++ request->oldName.length = result; ++ reqSize += result; ++ } + + /* + * Build full new name to send to server. +@@ -983,8 +999,20 @@ retry: + + newNameP = (HgfsFileNameV3 *)((char *)&requestV3->oldName + + sizeof requestV3->oldName + result); +- newName = newNameP->name; +- newNameLength = &newNameP->length; ++ ++ LOG(6, ("New name: \"%s\"\n", newNameP->name)); ++ ++ /* Convert new name to CP format. */ ++ result = CPName_ConvertTo(to, ++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result, ++ newNameP->name); ++ if (result < 0) { ++ LOG(4, ("newName CP conversion failed\n")); ++ result = -EINVAL; ++ goto out; ++ } ++ newNameP->length = result; ++ reqSize += result; + newNameP->flags = 0; + newNameP->fid = HGFS_INVALID_HANDLE; + newNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE; +@@ -993,24 +1021,22 @@ retry: + HgfsFileName *newNameP; + newNameP = (HgfsFileName *)((char *)&request->oldName + + sizeof request->oldName + result); +- newName = newNameP->name; +- newNameLength = &newNameP->length; +- } + +- LOG(6, ("New name: \"%s\"\n", newName)); ++ LOG(6, ("New name: \"%s\"\n", newNameP->name)); + +- /* Convert new name to CP format. */ +- result = CPName_ConvertTo(to, +- HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result, +- newName); +- if (result < 0) { +- LOG(4, ("newName CP conversion failed\n")); +- result = -EINVAL; +- goto out; ++ /* Convert new name to CP format. */ ++ result = CPName_ConvertTo(to, ++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result, ++ newNameP->name); ++ if (result < 0) { ++ LOG(4, ("newName CP conversion failed\n")); ++ result = -EINVAL; ++ goto out; ++ } ++ newNameP->length = result; ++ reqSize += result; + } + +- *newNameLength = result; +- reqSize += result; + req->payloadSize = reqSize; + + /* Fill in header here as payloadSize needs to be there. */ +@@ -1068,7 +1094,7 @@ retry: + } + break; + default: +- LOG(4, ("failed with result %d\n", result)); ++ LOG(4, ("Server protocol result %d\n", result)); + } + break; + default: +@@ -1109,21 +1135,17 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file + { + HgfsAttrV2 *attrV2; + HgfsAttr *attrV1; +- HgfsAttrHint *hints; + HgfsAttrChanges *update; +- char *fileName = NULL; +- uint32 *fileNameLength = NULL; + size_t reqBufferSize; + size_t reqSize; +- int result = 0; + ASSERT(req); + + switch (opUsed) { + case HGFS_OP_SETATTR_V3: { ++ int result; + HgfsRequestSetattrV3 *requestV3 = HgfsGetRequestPayload(req); + + attrV2 = &requestV3->attr; +- hints = &requestV3->hints; + + /* + * Clear attributes, mask, and hints before touching them. +@@ -1131,7 +1153,7 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file + * make sure to zero them all here. + */ + memset(attrV2, 0, sizeof *attrV2); +- memset(hints, 0, sizeof *hints); ++ requestV3->hints = 0; + + /* + * When possible, issue a setattr using an existing handle. This will +@@ -1143,14 +1165,21 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file + * the times also requires write permissions on Windows, so we require it + * here too. Otherwise, any handle will do. + */ +- fileName = requestV3->fileName.name; +- fileNameLength = &requestV3->fileName.length; + requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE; + requestV3->fileName.fid = HGFS_INVALID_HANDLE; + requestV3->fileName.flags = 0; + requestV3->reserved = 0; + reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize(); + reqBufferSize = HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize); ++ result = CPName_ConvertTo(path, ++ reqBufferSize, ++ requestV3->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ requestV3->fileName.length = result; ++ reqSize += result; + + attrV2->mask = attr->mask; + if (attr->mask & (HGFS_ATTR_VALID_SPECIAL_PERMS | +@@ -1173,22 +1202,22 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file + } + if (attr->mask & HGFS_ATTR_VALID_ACCESS_TIME) { + attrV2->accessTime = attr->accessTime; +- *hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME; ++ requestV3->hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME; + } + if (attr->mask & HGFS_ATTR_VALID_WRITE_TIME) { + attrV2->writeTime = attr->writeTime; +- *hints |= HGFS_ATTR_HINT_SET_WRITE_TIME; ++ requestV3->hints |= HGFS_ATTR_HINT_SET_WRITE_TIME; + } + + break; + } + case HGFS_OP_SETATTR_V2: { ++ int result; + HgfsRequestSetattrV2 *requestV2; + + requestV2 = (HgfsRequestSetattrV2 *)(HGFS_REQ_PAYLOAD(req)); + + attrV2 = &requestV2->attr; +- hints = &requestV2->hints; + + /* + * Clear attributes, mask, and hints before touching them. +@@ -1196,13 +1225,19 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file + * make sure to zero them all here. + */ + memset(attrV2, 0, sizeof *attrV2); +- memset(hints, 0, sizeof *hints); +- +- fileName = requestV2->fileName.name; +- fileNameLength = &requestV2->fileName.length; ++ requestV2->hints = 0; + + reqSize = sizeof *requestV2; + reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV2); ++ result = CPName_ConvertTo(path, ++ reqBufferSize, ++ requestV2->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ requestV2->fileName.length = result; ++ reqSize += result; + + if (attr->mask & (HGFS_ATTR_VALID_SPECIAL_PERMS | + HGFS_ATTR_VALID_OWNER_PERMS | +@@ -1224,16 +1259,17 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file + } + if (attr->mask & HGFS_ATTR_VALID_ACCESS_TIME) { + attrV2->accessTime = attr->accessTime; +- *hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME; ++ requestV2->hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME; + } + if (attr->mask & HGFS_ATTR_VALID_WRITE_TIME) { + attrV2->writeTime = attr->writeTime; +- *hints |= HGFS_ATTR_HINT_SET_WRITE_TIME; ++ requestV2->hints |= HGFS_ATTR_HINT_SET_WRITE_TIME; + } + + break; + } + case HGFS_OP_SETATTR: { ++ int result; + HgfsRequestSetattr *request; + + request = (HgfsRequestSetattr *)(HGFS_REQ_PAYLOAD(req)); +@@ -1241,11 +1277,17 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file + attrV1 = &request->attr; + update = &request->update; + +- /* We'll use these later. */ +- fileName = request->fileName.name; +- fileNameLength = &request->fileName.length; + reqSize = sizeof *request; + reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, request); ++ result = CPName_ConvertTo(path, ++ reqBufferSize, ++ request->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ request->fileName.length = result; ++ reqSize += result; + + /* + * Clear attributes before touching them. +@@ -1284,16 +1326,7 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file + return -EPROTO; + } + +- result = CPName_ConvertTo(path, +- reqBufferSize, +- fileName); +- if (result < 0) { +- LOG(4, ("CP conversion failed.\n")); +- return -EINVAL; +- } +- +- *fileNameLength = result; +- req->payloadSize = reqSize + result; ++ req->payloadSize = reqSize; + + /* Fill in header here as payloadSize needs to be there. */ + HgfsPackHeader(req, opUsed); +diff --git a/open-vm-tools/vmhgfs-fuse/filesystem.c b/open-vm-tools/vmhgfs-fuse/filesystem.c +index fb9d547d..1931a5d2 100644 +--- a/open-vm-tools/vmhgfs-fuse/filesystem.c ++++ b/open-vm-tools/vmhgfs-fuse/filesystem.c +@@ -1,5 +1,5 @@ + /********************************************************* +- * Copyright (C) 2013 VMware, Inc. All rights reserved. ++ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published +@@ -123,36 +123,50 @@ HgfsPackQueryVolumeRequest(const char *path, // IN: File pointer for this + HgfsOp opUsed, // IN: Op to be used. + HgfsReq *req) // IN/OUT: Packet to write into + { +- char *name; +- uint32 *nameLength; + size_t requestSize; +- int result; ++ + + ASSERT(req); + + switch (opUsed) { + case HGFS_OP_QUERY_VOLUME_INFO_V3: { ++ int result; + HgfsRequestQueryVolumeV3 *requestV3 = HgfsGetRequestPayload(req); + +- /* We'll use these later. */ +- name = requestV3->fileName.name; +- nameLength = &requestV3->fileName.length; + requestV3->fileName.flags = 0; + requestV3->fileName.fid = HGFS_INVALID_HANDLE; + requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE; + requestV3->reserved = 0; + requestSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize(); ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_LARGE_PACKET_MAX - (requestSize - 1), ++ requestV3->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ requestV3->fileName.length = result; ++ requestSize += result; + break; + } + case HGFS_OP_QUERY_VOLUME_INFO: { ++ int result; + HgfsRequestQueryVolume *request; + + request = (HgfsRequestQueryVolume *)(HGFS_REQ_PAYLOAD(req)); + +- /* We'll use these later. */ +- name = request->fileName.name; +- nameLength = &request->fileName.length; + requestSize = sizeof *request; ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ HGFS_LARGE_PACKET_MAX - (requestSize - 1), ++ request->fileName.name); ++ if (result < 0) { ++ LOG(4, ("CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ request->fileName.length = result; ++ requestSize += result; + break; + } + default: +@@ -160,17 +174,7 @@ HgfsPackQueryVolumeRequest(const char *path, // IN: File pointer for this + return -EPROTO; + } + +- /* Convert to CP name. */ +- result = CPName_ConvertTo(path, +- HGFS_LARGE_PACKET_MAX - (requestSize - 1), +- name); +- if (result < 0) { +- LOG(4, ("CP conversion failed.\n")); +- return -EINVAL; +- } +- +- *nameLength = (uint32) result; +- req->payloadSize = requestSize + result; ++ req->payloadSize = requestSize; + + /* Fill in header here as payloadSize needs to be there. */ + HgfsPackHeader(req, opUsed); +diff --git a/open-vm-tools/vmhgfs-fuse/fsutil.c b/open-vm-tools/vmhgfs-fuse/fsutil.c +index 042c223c..af85c405 100644 +--- a/open-vm-tools/vmhgfs-fuse/fsutil.c ++++ b/open-vm-tools/vmhgfs-fuse/fsutil.c +@@ -1,5 +1,5 @@ + /********************************************************* +- * Copyright (C) 2013 VMware, Inc. All rights reserved. ++ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published +@@ -189,8 +189,6 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer + size_t reqBufferSize; + size_t reqSize; + int result = 0; +- char *fileName = NULL; +- uint32 *fileNameLength = NULL; + ASSERT(attr); + ASSERT(req); + ASSERT(path); +@@ -204,8 +202,6 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer + + /* Fill out the request packet. */ + requestV3->hints = 0; +- fileName = requestV3->fileName.name; +- fileNameLength = &requestV3->fileName.length; + requestV3->fileName.flags = 0; + requestV3->fileName.fid = HGFS_INVALID_HANDLE; + requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE; +@@ -213,6 +209,19 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer + requestV3->reserved = 0; + reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize(); + reqBufferSize = HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize); ++ if (requestV3->fileName.name != NULL) { ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ reqBufferSize, ++ requestV3->fileName.name); ++ LOG(8, ("Converted path %s\n", requestV3->fileName.name)); ++ if (result < 0) { ++ LOG(8, ("CP conversion failed.\n")); ++ result = -EINVAL; ++ goto out; ++ } ++ requestV3->fileName.length = result; ++ } + break; + } + +@@ -223,20 +232,42 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer + + requestV2 = (HgfsRequestGetattrV2 *)(HGFS_REQ_PAYLOAD(req)); + requestV2->hints = 0; +- fileName = requestV2->fileName.name; +- fileNameLength = &requestV2->fileName.length; + reqSize = sizeof *requestV2; + reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV2); ++ if (requestV2->fileName.name != NULL) { ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ reqBufferSize, ++ requestV2->fileName.name); ++ LOG(8, ("Converted path %s\n", requestV2->fileName.name)); ++ if (result < 0) { ++ LOG(8, ("CP conversion failed.\n")); ++ result = -EINVAL; ++ goto out; ++ } ++ requestV2->fileName.length = result; ++ } + break; + } + + case HGFS_OP_GETATTR: { + HgfsRequestGetattr *requestV1; + requestV1 = (HgfsRequestGetattr *)(HGFS_REQ_PAYLOAD(req)); +- fileName = requestV1->fileName.name; +- fileNameLength = &requestV1->fileName.length; + reqSize = sizeof *requestV1; + reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV1); ++ if (requestV1->fileName.name != NULL) { ++ /* Convert to CP name. */ ++ result = CPName_ConvertTo(path, ++ reqBufferSize, ++ requestV1->fileName.name); ++ LOG(8, ("Converted path %s\n", requestV1->fileName.name)); ++ if (result < 0) { ++ LOG(8, ("CP conversion failed.\n")); ++ result = -EINVAL; ++ goto out; ++ } ++ requestV1->fileName.length = result; ++ } + break; + } + +@@ -246,20 +277,6 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer + goto out; + } + +- if (fileName != NULL) { +- /* Convert to CP name. */ +- result = CPName_ConvertTo(path, +- reqBufferSize, +- fileName); +- LOG(8, ("Converted path %s\n", fileName)); +- if (result < 0) { +- LOG(8, ("CP conversion failed.\n")); +- result = -EINVAL; +- goto out; +- } +- *fileNameLength = result; +- } +- + req->payloadSize = reqSize + result; + + /* Fill in header here as payloadSize needs to be there. */ +diff --git a/open-vm-tools/vmhgfs-fuse/link.c b/open-vm-tools/vmhgfs-fuse/link.c +index a00e8446..777eb76e 100644 +--- a/open-vm-tools/vmhgfs-fuse/link.c ++++ b/open-vm-tools/vmhgfs-fuse/link.c +@@ -1,5 +1,5 @@ + /********************************************************* +- * Copyright (C) 2013 VMware, Inc. All rights reserved. ++ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published +@@ -51,36 +51,81 @@ HgfsPackSymlinkCreateRequest(const char* symlink, // IN: path of the link + { + HgfsRequestSymlinkCreateV3 *requestV3 = NULL; + HgfsRequestSymlinkCreate *request = NULL; +- char *symlinkName; +- uint32 *symlinkNameLength; +- char *targetName; +- uint32 *targetNameLength; + size_t targetNameBytes; +- + size_t requestSize; +- int result; ++ ++ targetNameBytes = strlen(symname) + 1; + + switch (opUsed) { + case HGFS_OP_CREATE_SYMLINK_V3: { ++ int result; ++ HgfsFileNameV3 *fileNameP; + requestV3 = HgfsGetRequestPayload(req); + +- /* We'll use these later. */ +- symlinkName = requestV3->symlinkName.name; +- symlinkNameLength = &requestV3->symlinkName.length; + requestV3->symlinkName.flags = 0; + requestV3->symlinkName.fid = HGFS_INVALID_HANDLE; + requestV3->symlinkName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE; + requestV3->reserved = 0; + requestSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize(); ++ /* Convert symlink name to CP format. */ ++ result = CPName_ConvertTo(symlink, ++ HGFS_LARGE_PACKET_MAX - (requestSize - 1), ++ requestV3->symlinkName.name); ++ if (result < 0) { ++ LOG(4, ("SymlinkName CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ requestV3->symlinkName.length = result; ++ requestSize += result; ++ ++ /* Copy target name into request packet. */ ++ if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) { ++ LOG(4, ("Target name is too long.\n")); ++ return -EINVAL; ++ } ++ ++ fileNameP = (HgfsFileNameV3 *)((char *)&requestV3->symlinkName + ++ sizeof requestV3->symlinkName + result); ++ memcpy(fileNameP->name, symname, targetNameBytes); ++ LOG(6, ("Target name: \"%s\"\n", fileNameP->name)); ++ /* Convert target name to CPName-lite format. */ ++ CPNameLite_ConvertTo(fileNameP->name, targetNameBytes - 1, '/'); ++ fileNameP->length = targetNameBytes - 1; ++ fileNameP->flags = 0; ++ fileNameP->fid = HGFS_INVALID_HANDLE; ++ fileNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE; + break; + } + case HGFS_OP_CREATE_SYMLINK: { ++ int result; ++ HgfsFileName *fileNameP; + request = (HgfsRequestSymlinkCreate *)(HGFS_REQ_PAYLOAD(req)); + +- /* We'll use these later. */ +- symlinkName = request->symlinkName.name; +- symlinkNameLength = &request->symlinkName.length; + requestSize = sizeof *request; ++ /* Convert symlink name to CP format. */ ++ result = CPName_ConvertTo(symlink, ++ HGFS_LARGE_PACKET_MAX - (requestSize - 1), ++ request->symlinkName.name); ++ if (result < 0) { ++ LOG(4, ("SymlinkName CP conversion failed.\n")); ++ return -EINVAL; ++ } ++ request->symlinkName.length = result; ++ requestSize += result; ++ ++ /* Copy target name into request packet. */ ++ if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) { ++ LOG(4, ("Target name is too long.\n")); ++ return -EINVAL; ++ } ++ ++ fileNameP = (HgfsFileName *)((char *)&request->symlinkName + ++ sizeof request->symlinkName + result); ++ memcpy(fileNameP->name, symname, targetNameBytes); ++ LOG(6, ("Target name: \"%s\"\n", fileNameP->name)); ++ /* Convert target name to CPName-lite format. */ ++ CPNameLite_ConvertTo(fileNameP->name, targetNameBytes - 1, '/'); ++ fileNameP->length = targetNameBytes - 1; + break; + } + default: +@@ -88,59 +133,13 @@ HgfsPackSymlinkCreateRequest(const char* symlink, // IN: path of the link + return -EPROTO; + } + +- +- /* Convert symlink name to CP format. */ +- result = CPName_ConvertTo(symlink, +- HGFS_LARGE_PACKET_MAX - (requestSize - 1), +- symlinkName); +- if (result < 0) { +- LOG(4, ("SymlinkName CP conversion failed.\n")); +- return -EINVAL; +- } +- +- *symlinkNameLength = result; +- req->payloadSize = requestSize + result; ++ req->payloadSize = requestSize; + + /* +- * Note the different buffer length. This is because HgfsRequestSymlink +- * contains two filenames, and once we place the first into the packet we +- * must account for it when determining the amount of buffer available for +- * the second. +- * +- * Also note that targetNameBytes accounts for the NUL character. Once +- * we've converted it to CP name, it won't be NUL-terminated and the length +- * of the string in the packet itself won't account for it. ++ * targetNameBytes accounts for the NUL character. Once we've converted ++ * it to CP name, it won't be NUL-terminated and the length of the string ++ * in the packet itself won't account for it. + */ +- if (opUsed == HGFS_OP_CREATE_SYMLINK_V3) { +- HgfsFileNameV3 *fileNameP; +- fileNameP = (HgfsFileNameV3 *)((char *)&requestV3->symlinkName + +- sizeof requestV3->symlinkName + result); +- targetName = fileNameP->name; +- targetNameLength = &fileNameP->length; +- fileNameP->flags = 0; +- fileNameP->fid = HGFS_INVALID_HANDLE; +- fileNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE; +- } else { +- HgfsFileName *fileNameP; +- fileNameP = (HgfsFileName *)((char *)&request->symlinkName + +- sizeof request->symlinkName + result); +- targetName = fileNameP->name; +- targetNameLength = &fileNameP->length; +- } +- targetNameBytes = strlen(symname) + 1; +- +- /* Copy target name into request packet. */ +- if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) { +- LOG(4, ("Target name is too long.\n")); +- return -EINVAL; +- } +- memcpy(targetName, symname, targetNameBytes); +- LOG(6, ("Target name: \"%s\"\n", targetName)); +- +- /* Convert target name to CPName-lite format. */ +- CPNameLite_ConvertTo(targetName, targetNameBytes - 1, '/'); +- +- *targetNameLength = targetNameBytes - 1; + req->payloadSize += targetNameBytes - 1; + + /* Fill in header here as payloadSize needs to be there. */ diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch deleted file mode 100644 index 1a6bfdb09..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: open-vm-tools/configure.ac -=================================================================== ---- open-vm-tools.orig/configure.ac -+++ open-vm-tools/configure.ac -@@ -303,6 +303,7 @@ AC_ARG_ENABLE( - [], - [enable_resolutionkms="auto"]) - -+AM_INIT_AUTOMAKE([subdir-objects]) - AM_INIT_AUTOMAKE - - ### diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb index 7ed659372..63a64fc71 100644 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb @@ -22,23 +22,24 @@ LICENSE_modules/linux = "GPL-2.0" LICENSE_modules/solaris = "CDDL-1.0" SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ - file://tools.conf \ - file://vmtoolsd.service \ - file://vmtoolsd.init \ - file://0001-configure.ac-don-t-use-dnet-config.patch \ - file://0002-add-include-sys-sysmacros.h.patch \ - file://0005-Use-configure-test-for-struct-timespec.patch \ - file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \ - file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \ - file://0011-Use-configure-test-for-sys-stat.h-include.patch \ - file://fix-subdir-objects-configure-error.patch \ - file://0001-include-poll.h-instead-of-sys-poll.h.patch \ - file://0002-Rename-poll.h-to-vm_poll.h.patch \ - file://0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch \ - file://0004-Use-uintmax_t-for-handling-rlim_t.patch \ - file://0001-Use-off64_t-instead-of-__off64_t.patch \ - file://0001-misc-Do-not-print-NULL-string-into-logs.patch \ - " + file://tools.conf \ + file://vmtoolsd.service \ + file://vmtoolsd.init \ + file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \ + file://0002-add-include-sys-sysmacros.h.patch;patchdir=.. \ + file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \ + file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \ + file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \ + file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \ + file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \ + file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \ + file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \ + file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \ + file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \ + file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \ + file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \ + file://0014-Fix-new-warnings-from-gcc9.patch;patchdir=.. \ +" # stable-10.3.5 SRCREV = "f2ff192717375b95a6b7e278fb47dbb3d3bc56d1" diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb new file mode 100644 index 000000000..3a437659e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "Protocol plugin for New Yahoo (2016) for Adium, Pidgin, Miranda and Telepathy IM Framework" +SECTION = "webos/services" +LICENSE = "GPLv3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d" + +DEPENDS = "pidgin json-glib glib-2.0" + +inherit pkgconfig + +SRC_URI = "git://github.com/EionRobb/funyahoo-plusplus;branch=master;protocol=git" +SRCREV = "fbbd9c591100aa00a0487738ec7b6acd3d924b3f" + +S = "${WORKDIR}/git" + +do_compile() { + oe_runmake CC="${CC}" CXX="${CXX}" EXTRA_INCLUDES="${TARGET_CFLAGS}" AR="${AR}"; +} + +do_install() { + oe_runmake DESTDIR="${D}" install; +} + +FILES_${PN} += " \ + ${libdir} \ +" diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb new file mode 100644 index 000000000..0f32dc3a3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb @@ -0,0 +1,27 @@ +SUMMARY = "WIM Protocol plugin for ICQ for Adium, Pidgin, Miranda and Telepathy IM Framework" +SECTION = "webos/services" +LICENSE = "GPLv3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +DEPENDS = "pidgin json-glib" + +PV = "0.1+gitr${SRCPV}" + +inherit pkgconfig + +SRC_URI = "git://github.com/EionRobb/icyque" +SRCREV = "513fc162d5d1a201c2b044e2b42941436d1069d5" + +S = "${WORKDIR}/git" + +do_compile() { + oe_runmake; +} + +do_install() { + oe_runmake DESTDIR="${D}" install; +} + +FILES_${PN} += " \ + ${libdir} \ +" 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 new file mode 100644 index 000000000..beae281a3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.24.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "Protocol plugin for Office 365/Lync/OCS for Adium, Pidgin, Miranda and Telepathy IM Framework" +SECTION = "webos/services" +LICENSE = "GPLv2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "pidgin intltool-native glib-2.0-native" + +inherit pkgconfig +inherit autotools + +SRC_URI = "${SOURCEFORGE_MIRROR}/sipe/pidgin-sipe-${PV}.tar.xz \ +" + +SRC_URI[md5sum] = "b91106d28c235b347a63dcb676f7b66a" +SRC_URI[sha256sum] = "958803722b23d869131f76bd90df9da19116d4ca5a873e5253371479b7390f43" + +PACKAGECONFIG ??= "nss krb5" +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[gssapi_only] = "--enable-gssapi-only=yes,--enable-gssapi-only=no,krb5" +PACKAGECONFIG[debug] = "--enable-debug=yes,--enable-debug=no,valgrind" + +FILES_${PN}-dev += " \ + ${libdir}/purple-2/*.la \ +" + +FILES_${PN} += " \ + ${libdir}/purple-2/libsipe.so \ + ${datadir}/appdata \ + ${datadir}/metainfo \ +" diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch index 9a24fbbc5..0a1baa918 100644 --- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch @@ -7,7 +7,7 @@ Date: Mon, 24 Jul 2017 21:30:16 +0200 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libpurple/protocols/irc/irc.h b/libpurple/protocols/irc/irc.h -index fde35c4..66e52dd 100644 +index 596ddaf..b70f3a9 100644 --- a/libpurple/protocols/irc/irc.h +++ b/libpurple/protocols/irc/irc.h @@ -40,9 +40,9 @@ @@ -20,5 +20,5 @@ index fde35c4..66e52dd 100644 -#define IRC_DEFAULT_QUIT "Leaving." +#define IRC_DEFAULT_QUIT "Powered by OE: www.openembedded.org" - #define IRC_INITIAL_BUFSIZE 1024 - + #define IRC_BUFSIZE_INCREMENT 1024 + #define IRC_MAX_BUFSIZE 16384 diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb deleted file mode 100644 index 148e4b6b5..000000000 --- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb +++ /dev/null @@ -1,117 +0,0 @@ -SUMMARY = "multi-protocol instant messaging client" -SECTION = "x11/network" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "python virtual/libintl intltool-native libxml2 gconf glib-2.0-native" - -inherit autotools gettext pkgconfig gconf perlnative - -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ - file://sanitize-configure.ac.patch \ - file://purple-OE-branding-25.patch \ - file://pidgin-cross-python-265.patch \ -" - -SRC_URI[md5sum] = "8287400c4e5663e0e7844e868d5152af" -SRC_URI[sha256sum] = "8c3d3536d6d3c971bd433ff9946678af70a0f6aa4e6969cc2a83bb357015b7f8" - -PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \ -" -PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2" -# --disable-gstreamer compile without GStreamer audio support -# --disable-gstreamer-video -# compile without GStreamer 1.0 Video Overlay support -# --disable-gstreamer-interfaces -# compile without GStreamer 0.10 interface support -# --with-gstreamer= -# compile with GStreamer 0.10 or 1.0 interface -PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer" -PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer" -PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn" -PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+" -PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11" -PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" -PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,ncurses" -PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls" -PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib" -PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" -PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss" - -EXTRA_OECONF = " \ - --disable-perl \ - --disable-tcl \ - --disable-gevolution \ - --disable-schemas-install \ - --disable-gtkspell \ - --disable-meanwhile \ - --disable-nm \ - --disable-screensaver \ -" - -do_configure_prepend() { - touch ${S}/po/Makefile - sed -i "s#PY_VERSION=`$PYTHON -c 'import sys ; print sys.version[0:3]'`#PY_VERSION=${PYTHON_BASEVERSION}#g" ${S}/configure.ac -} - -OE_LT_RPATH_ALLOW=":${libdir}/purple-2:" -OE_LT_RPATH_ALLOW[export]="1" - -PACKAGES =+ "libpurple-dev libpurple libgnt libgnt-dev finch finch-dev ${PN}-data" - -RPROVIDES_${PN}-dbg += "libpurple-dbg libgnt-dbg finch-dbg" - -LEAD_SONAME = "libpurple.so.0" -FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs" -FILES_libpurple-dev = "${libdir}/libpurple*.la \ - ${libdir}/libpurple*.so \ - ${libdir}/purple-2/*.la \ - ${libdir}/purple-2/libjabber.so \ - ${libdir}/purple-2/liboscar.so \ - ${libdir}/purple-2/libymsg.so \ - ${datadir}/aclocal" -FILES_libgnt = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so" -FILES_libgnt-dev = "${libdir}/gnt/*.la" -FILES_finch = "${bindir}/finch" -FILES_finch-dev = "${libdir}/finch/*.la" - -FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \ - ${datadir}/applications" -RRECOMMENDS_${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp" - -FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata" -FILES_${PN}-dev += "${libdir}/${PN}/*.la" - -PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*" - -python populate_packages_prepend () { - pidgroot = d.expand('${libdir}/pidgin') - purple = d.expand('${libdir}/purple-2') - finch = d.expand('${libdir}/finch') - - do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$', - output_pattern='pidgin-plugin-%s', - description='Pidgin plugin %s', - prepend=True, extra_depends='') - - do_split_packages(d, purple, '^lib(.*)\.so$', - output_pattern='libpurple-protocol-%s', - description='Libpurple protocol plugin for %s', - prepend=True, extra_depends='') - - do_split_packages(d, purple, '^(ssl-.*)\.so$', - output_pattern='libpurple-plugin-%s', - description='libpurple plugin %s', - prepend=True, extra_depends='libpurple-plugin-ssl') - - do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$', - output_pattern='libpurple-plugin-%s', - description='libpurple plugin %s', - prepend=True, extra_depends='') - - do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$', - output_pattern='finch-plugin-%s', - description='Finch plugin %s', - prepend=True, extra_depends='') -} diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb new file mode 100644 index 000000000..b094ba25e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb @@ -0,0 +1,117 @@ +SUMMARY = "multi-protocol instant messaging client" +SECTION = "x11/network" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +DEPENDS = "python virtual/libintl intltool-native libxml2 gconf glib-2.0-native" + +inherit autotools gettext pkgconfig gconf perlnative + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ + file://sanitize-configure.ac.patch \ + file://purple-OE-branding-25.patch \ + file://pidgin-cross-python-265.patch \ +" + +SRC_URI[md5sum] = "423403494fe1951e47cc75231f743bb0" +SRC_URI[sha256sum] = "2747150c6f711146bddd333c496870bfd55058bab22ffb7e4eb784018ec46d8f" + +PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \ +" +PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2" +# --disable-gstreamer compile without GStreamer audio support +# --disable-gstreamer-video +# compile without GStreamer 1.0 Video Overlay support +# --disable-gstreamer-interfaces +# compile without GStreamer 0.10 interface support +# --with-gstreamer= +# compile with GStreamer 0.10 or 1.0 interface +PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer" +PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer" +PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn" +PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+" +PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11" +PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" +PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,ncurses" +PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls" +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib" +PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" +PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss" + +EXTRA_OECONF = " \ + --disable-perl \ + --disable-tcl \ + --disable-gevolution \ + --disable-schemas-install \ + --disable-gtkspell \ + --disable-meanwhile \ + --disable-nm \ + --disable-screensaver \ +" + +do_configure_prepend() { + touch ${S}/po/Makefile + sed -i "s#PY_VERSION=`$PYTHON -c 'import sys ; print sys.version[0:3]'`#PY_VERSION=${PYTHON_BASEVERSION}#g" ${S}/configure.ac +} + +OE_LT_RPATH_ALLOW=":${libdir}/purple-2:" +OE_LT_RPATH_ALLOW[export]="1" + +PACKAGES =+ "libpurple-dev libpurple libgnt libgnt-dev finch finch-dev ${PN}-data" + +RPROVIDES_${PN}-dbg += "libpurple-dbg libgnt-dbg finch-dbg" + +LEAD_SONAME = "libpurple.so.0" +FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs" +FILES_libpurple-dev = "${libdir}/libpurple*.la \ + ${libdir}/libpurple*.so \ + ${libdir}/purple-2/*.la \ + ${libdir}/purple-2/libjabber.so \ + ${libdir}/purple-2/liboscar.so \ + ${libdir}/purple-2/libymsg.so \ + ${datadir}/aclocal" +FILES_libgnt = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so" +FILES_libgnt-dev = "${libdir}/gnt/*.la" +FILES_finch = "${bindir}/finch" +FILES_finch-dev = "${libdir}/finch/*.la" + +FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \ + ${datadir}/applications" +RRECOMMENDS_${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp" + +FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata" +FILES_${PN}-dev += "${libdir}/${PN}/*.la" + +PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*" + +python populate_packages_prepend () { + pidgroot = d.expand('${libdir}/pidgin') + purple = d.expand('${libdir}/purple-2') + finch = d.expand('${libdir}/finch') + + do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$', + output_pattern='pidgin-plugin-%s', + description='Pidgin plugin %s', + prepend=True, extra_depends='') + + do_split_packages(d, purple, '^lib(.*)\.so$', + output_pattern='libpurple-protocol-%s', + description='Libpurple protocol plugin for %s', + prepend=True, extra_depends='') + + do_split_packages(d, purple, '^(ssl-.*)\.so$', + output_pattern='libpurple-plugin-%s', + description='libpurple plugin %s', + prepend=True, extra_depends='libpurple-plugin-ssl') + + do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$', + output_pattern='libpurple-plugin-%s', + description='libpurple plugin %s', + prepend=True, extra_depends='') + + do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$', + output_pattern='finch-plugin-%s', + description='Finch plugin %s', + prepend=True, extra_depends='') +} diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb new file mode 100644 index 000000000..092e6059b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "Skype protocol plug-in for libpurple" +SECTION = "webos/services" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://skypeweb/gpl3.txt;md5=d90260d32cef39f3c8d6c0f05d3adb8e" + +DEPENDS = "pidgin json-glib glib-2.0 zlib" + +inherit pkgconfig + +SRC_URI = "git://github.com/EionRobb/skype4pidgin;branch=master;protocol=git" +SRCREV = "14f1b69b6292bbdc98cca484b050ec8359394c4e" + +S = "${WORKDIR}/git" +PV = "1.5+git${SRCPV}" + +do_compile() { + oe_runmake -C skypeweb; +} + +do_install() { + oe_runmake -C skypeweb DESTDIR="${D}" install; +} + +FILES_${PN} += " \ + ${libdir} \ +" diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch deleted file mode 100644 index 50e689440..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a328c8bec0bf8071ae8f20fee4c7475205064ba1 Mon Sep 17 00:00:00 2001 -From: sweeaun -Date: Sun, 10 Sep 2017 00:14:15 -0700 -Subject: [PATCH] dpkg: Support muslx32 build - -Upstream-Status: Pending. -Changes made on ostable and tupletable to enable muslx32 build. - -Signed-off-by: sweeaun ---- - data/ostable | 1 + - data/tupletable | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/data/ostable b/data/ostable -index be64342..87db273 100644 ---- a/data/ostable -+++ b/data/ostable -@@ -19,6 +19,7 @@ base-uclibc-linux linux-uclibc linux[^-]*-uclibc - eabihf-musl-linux linux-musleabihf linux[^-]*-musleabihf - eabi-musl-linux linux-musleabi linux[^-]*-musleabi - base-musl-linux linux-musl linux[^-]*-musl -+x32-musl-linux linux-muslx32 linux[^-]*-muslx32 - eabihf-gnu-linux linux-gnueabihf linux[^-]*-gnueabihf - eabi-gnu-linux linux-gnueabi linux[^-]*-gnueabi - abin32-gnu-linux linux-gnuabin32 linux[^-]*-gnuabin32 -diff --git a/data/tupletable b/data/tupletable -index 28f00bf..748ffab 100644 ---- a/data/tupletable -+++ b/data/tupletable -@@ -10,6 +10,7 @@ base-uclibc-linux- uclibc-linux- - eabihf-musl-linux-arm musl-linux-armhf - eabi-musl-linux-arm musl-linux-armel - base-musl-linux- musl-linux- -+x32-musl-linux-amd64 x32 - ilp32-gnu-linux-arm64 arm64ilp32 - eabihf-gnu-linux-arm armhf - eabi-gnu-linux-arm armel --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch deleted file mode 100644 index e988efded..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 685645a20e39cf2ab7db8d1f5e3666a4228abca8 Mon Sep 17 00:00:00 2001 -From: Ioan-Adrian Ratiu -Date: Wed, 8 Jul 2015 09:44:57 +0300 -Subject: [PATCH 1/1] dpkg start-stop-daemon: Accept SIG prefixed signal names - ---- - utils/start-stop-daemon.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/utils/start-stop-daemon.c b/utils/start-stop-daemon.c -index 6aebe9b..e805082 100644 ---- a/utils/start-stop-daemon.c -+++ b/utils/start-stop-daemon.c -@@ -18,6 +18,9 @@ - * and Andreas Schuldei - * - * Changes by Ian Jackson: added --retry (and associated rearrangements). -+ * -+ * Changes by Haris Okanovic to support 'SIG' -+ * prefixed signal names placed in public domain as well. - */ - - #include -@@ -661,6 +664,12 @@ parse_signal(const char *sig_str, int *sig_num) - if (parse_unsigned(sig_str, 10, sig_num) == 0) - return 0; - -+ /* Skip over optional "SIG" prefix */ -+ if (strncmp(sig_str, "SIG", 3) == 0) { -+ warning("Using deprecated signal name %s. Drop the 'SIG' prefix.\n", sig_str); -+ sig_str += 3; -+ } -+ - for (i = 0; i < array_count(siglist); i++) { - if (strcmp(sig_str, siglist[i].name) == 0) { - *sig_num = siglist[i].signal; --- -2.1.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch deleted file mode 100644 index 9fe0ca760..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch +++ /dev/null @@ -1,38 +0,0 @@ -From b4ea54158c399874e12394ebc91afe98954695e2 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 26 Aug 2015 16:16:16 +0300 -Subject: [PATCH 2/5] Adapt to linux-wrs kernel version, which has character - '_' inside. Remove the first-char-digit-check (as the 1.15.8.5 version does). - -Signed-off-by: Dongxiao Xu -Signed-off-by: Constantin Musca - -Upstream-Status: Inappropriate [embedded specific] ---- - lib/dpkg/parsehelp.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/lib/dpkg/parsehelp.c b/lib/dpkg/parsehelp.c -index 453077fd9..f42ea2882 100644 ---- a/lib/dpkg/parsehelp.c -+++ b/lib/dpkg/parsehelp.c -@@ -243,14 +243,12 @@ parseversion(struct dpkg_version *rversion, const char *string, - ptr = rversion->version; - if (!*ptr) - return dpkg_put_error(err, _("version number is empty")); -- if (*ptr && !c_isdigit(*ptr++)) -- return dpkg_put_warn(err, _("version number does not start with digit")); - for (; *ptr; ptr++) { -- if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~:", *ptr) == NULL) -+ if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~:_", *ptr) == NULL) - return dpkg_put_warn(err, _("invalid character in version number")); - } - for (ptr = rversion->revision; *ptr; ptr++) { -- if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".+~", *ptr) == NULL) -+ if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~_", *ptr) == NULL) - return dpkg_put_warn(err, _("invalid character in revision number")); - } - - --- -2.11.0 diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch deleted file mode 100644 index 93d870443..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 24229971492515b64c81e8c6392e5dfbdc22b44c Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 26 Aug 2015 16:25:45 +0300 -Subject: [PATCH 3/5] Our pre/postinsts expect $D to be set when running in a - sysroot and don't expect a chroot. This matches up our system expectations - with what dpkg does. - -Upstream-Status: Inappropriate [OE Specific] - -RP 2011/12/07 -ALIMON 2016/05/26 -ALIMON 2017/02/21 ---- - src/script.c | 44 +++----------------------------------------- - 1 file changed, 3 insertions(+), 41 deletions(-) - -diff --git a/src/script.c b/src/script.c -index 2f252ae..768a9d1 100644 ---- a/src/script.c -+++ b/src/script.c -@@ -97,48 +97,10 @@ setexecute(const char *path, struct stat *stab) - static const char * - maintscript_pre_exec(struct command *cmd) - { -- const char *admindir = dpkg_db_get_dir(); -- const char *changedir; -- size_t instdirlen = strlen(instdir); -- -- if (instdirlen > 0 && fc_script_chrootless) -- changedir = instdir; -- else -- changedir = "/"; -- -- if (instdirlen > 0 && !fc_script_chrootless) { -- if (strncmp(admindir, instdir, instdirlen) != 0) -- ohshit(_("admindir must be inside instdir for dpkg to work properly")); -- if (setenv("DPKG_ADMINDIR", admindir + instdirlen, 1) < 0) -- ohshite(_("unable to setenv for subprocesses")); -- if (setenv("DPKG_ROOT", "", 1) < 0) -- ohshite(_("unable to setenv for subprocesses")); -- -- if (chroot(instdir)) -- ohshite(_("failed to chroot to '%.250s'"), instdir); -+ if (*instdir) { -+ setenv("D", instdir, 1); - } -- /* Switch to a known good directory to give the maintainer script -- * a saner environment, also needed after the chroot(). */ -- if (chdir(changedir)) -- ohshite(_("failed to chdir to '%.255s'"), changedir); -- if (debug_has_flag(dbg_scripts)) { -- struct varbuf args = VARBUF_INIT; -- const char **argv = cmd->argv; -- -- while (*++argv) { -- varbuf_add_char(&args, ' '); -- varbuf_add_str(&args, *argv); -- } -- varbuf_end_str(&args); -- debug(dbg_scripts, "fork/exec %s (%s )", cmd->filename, -- args.buf); -- varbuf_destroy(&args); -- } -- if (instdirlen == 0 || fc_script_chrootless) -- return cmd->filename; -- -- assert(strlen(cmd->filename) >= instdirlen); -- return cmd->filename + instdirlen; -+ return cmd->filename; - } - - /** --- -2.1.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch deleted file mode 100644 index 56c85c773..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch +++ /dev/null @@ -1,31 +0,0 @@ -From adb6bfd0feeceaf030df0debe3343d7f73e708a0 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 26 Aug 2015 16:27:45 +0300 -Subject: [PATCH 4/5] The lutimes function doesn't work properly for all - systems. - -Signed-off-by: Constantin Musca - -Upstream-Status: Inappropriate [embedded specific] ---- - src/archives.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/archives.c b/src/archives.c -index bff5f14..b711013 100644 ---- a/src/archives.c -+++ b/src/archives.c -@@ -449,8 +449,9 @@ tarobject_set_mtime(struct tar_entry *te, const char *path) - - if (te->type == TAR_FILETYPE_SYMLINK) { - #ifdef HAVE_LUTIMES -- if (lutimes(path, tv) && errno != ENOSYS) -+/* if (lutimes(path, tv) && errno != ENOSYS) - ohshite(_("error setting timestamps of '%.255s'"), path); -+*/ - #endif - } else { - if (utimes(path, tv)) --- -2.1.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch deleted file mode 100644 index 96e96f277..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch +++ /dev/null @@ -1,36 +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 ---- - m4/dpkg-compiler.m4 | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/m4/dpkg-compiler.m4 b/m4/dpkg-compiler.m4 -index 682857c..23ed7d0 100644 ---- a/m4/dpkg-compiler.m4 -+++ b/m4/dpkg-compiler.m4 -@@ -52,7 +52,6 @@ AC_DEFUN([DPKG_CHECK_COMPILER_WARNINGS], [ - DPKG_CHECK_COMPILER_FLAG([-Wlogical-op]) - DPKG_CHECK_COMPILER_FLAG([-Wlogical-not-parentheses]) - DPKG_CHECK_COMPILER_FLAG([-Wswitch-bool]) -- DPKG_CHECK_COMPILER_FLAG([-Wvla]) - DPKG_CHECK_COMPILER_FLAG([-Winit-self]) - DPKG_CHECK_COMPILER_FLAG([-Wwrite-strings]) - DPKG_CHECK_COMPILER_FLAG([-Wcast-align]) --- -2.1.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch deleted file mode 100644 index 8797ea55c..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch +++ /dev/null @@ -1,42 +0,0 @@ -From f8910022dc3ec622272f168cd0022dbdf6dff93a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 30 Dec 2015 23:05:41 +0000 -Subject: [PATCH] add musleabi to known target tripets - -helps compiling dpkg for musl/arm-softfloat - -Upstream-Status: Pending -Signed-off-by: Khem Raj -Signed-off-by: Aníbal Limón ---- - data/ostable | 1 + - data/tupletable | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/data/ostable b/data/ostable -index 99c1f889d..be6434271 100644 ---- a/data/ostable -+++ b/data/ostable -@@ -17,6 +17,7 @@ - eabi-uclibc-linux linux-uclibceabi linux[^-]*-uclibceabi - base-uclibc-linux linux-uclibc linux[^-]*-uclibc - eabihf-musl-linux linux-musleabihf linux[^-]*-musleabihf -+eabi-musl-linux linux-musleabi linux[^-]*-musleabi - base-musl-linux linux-musl linux[^-]*-musl - eabihf-gnu-linux linux-gnueabihf linux[^-]*-gnueabihf - eabi-gnu-linux linux-gnueabi linux[^-]*-gnueabi -diff --git a/data/tupletable b/data/tupletable -index 5f500f6ca..28f00bfe6 100644 ---- a/data/tupletable -+++ b/data/tupletable -@@ -8,6 +8,7 @@ - eabi-uclibc-linux-arm uclibc-linux-armel - base-uclibc-linux- uclibc-linux- - eabihf-musl-linux-arm musl-linux-armhf -+eabi-musl-linux-arm musl-linux-armel - base-musl-linux- musl-linux- - ilp32-gnu-linux-arm64 arm64ilp32 - eabihf-gnu-linux-arm armhf --- -2.11.0 - diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch deleted file mode 100644 index 1b985df0f..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 8659eeeeda74d71e12080121f0b13a88cbdda433 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= -Date: Tue, 21 Feb 2017 11:23:27 -0600 -Subject: [PATCH] dpkg-deb/build.c: Remove usage of --clamp-mtime in tar -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Recently dpkg added --clamp-mtime to tar to create reproducible -build tarballs [1]. - -But host tools doesn't support this option because is new on tar -so disable in our builds. - -Signed-off-by: Aníbal Limón - -Upstream-Status: Inappropriate [Configuration] - -[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=759999#20 -[2] https://lists.gnu.org/archive/html/help-tar/2016-01/msg00000.html ---- - dpkg-deb/build.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c -index a92b58e..a3d1912 100644 ---- a/dpkg-deb/build.c -+++ b/dpkg-deb/build.c -@@ -450,7 +450,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder, - - command_init(&cmd, TAR, "tar -cf"); - command_add_args(&cmd, "tar", "-cf", "-", "--format=gnu", -- "--mtime", mtime, "--clamp-mtime", NULL); -+ "--mtime", mtime, NULL); - /* Mode might become a positional argument, pass it before -T. */ - if (mode) - command_add_args(&cmd, "--mode", mode, NULL); --- -2.11.0 diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch deleted file mode 100644 index d165616a1..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch +++ /dev/null @@ -1,48 +0,0 @@ -Author: Krishnanjanappa, Jagadeesh -Date: Wed Apr 8 18:08:14 2015 +0530 - -[PATCH] add armeb triplet entry into triplettable. - -Cross-compling dpkg application for armeb fails with below error -during configure task, - -(snip) - configure:23141: checking dpkg cpu type - configure:23148: result: armeb - configure:23150: WARNING: armeb not found in cputable - configure:23162: checking dpkg operating system type - configure:23169: result: linux-gnueabi - configure:23171: WARNING: linux-gnueabi not found in ostable - configure:23183: checking dpkg architecture name - configure:23189: error: cannot determine host dpkg architecture --- CUT -- - -the required combination of "gnueabi-linux-armeb" was not found in -the triplettable file thereby returning dpkg_arch as -empty in configure script. - -Upstream-Status: Pending - -Signed-off-by: Krishnanjanappa, Jagadeesh -Signed-off-by: Aníbal Limón - ---- - data/tupletable | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/data/tupletable b/data/tupletable -index b7802bec3..5f500f6ca 100644 ---- a/data/tupletable -+++ b/data/tupletable -@@ -12,6 +12,7 @@ base-musl-linux- musl-linux- - ilp32-gnu-linux-arm64 arm64ilp32 - eabihf-gnu-linux-arm armhf - eabi-gnu-linux-arm armel -+eabi-gnu-linux-armeb armeb - abin32-gnu-linux-mips64r6el mipsn32r6el - abin32-gnu-linux-mips64r6 mipsn32r6 - abin32-gnu-linux-mips64el mipsn32el --- -2.11.0 - - diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch deleted file mode 100644 index 4e0d22acb..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch +++ /dev/null @@ -1,29 +0,0 @@ -configure cannot determine the proper cpu, os, or -architecture for mips64, and possibly other arch's -because of faulty code added to Arch.pm in the latest -release from upstream. We remove that code. - -Upstream-Status: Pending - -Signed-off-by: Joe Slater - ---- - scripts/Dpkg/Arch.pm | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/scripts/Dpkg/Arch.pm b/scripts/Dpkg/Arch.pm -index 1720847b8..6345ce3b9 100644 ---- a/scripts/Dpkg/Arch.pm -+++ b/scripts/Dpkg/Arch.pm -@@ -323,9 +323,6 @@ sub _load_tupletable() - (my $dt = $debtuple) =~ s//$_cpu/; - (my $da = $debarch) =~ s//$_cpu/; - -- next if exists $debarch_to_debtuple{$da} -- or exists $debtuple_to_debarch{$dt}; -- - $debarch_to_debtuple{$da} = $dt; - $debtuple_to_debarch{$dt} = $da; - } --- -2.11.0 diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch deleted file mode 100644 index a7f3cb8f4..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch +++ /dev/null @@ -1,22 +0,0 @@ -Upstream-Status: Inappropriate [disable feature] - ---- - Makefile.am | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 0da52cb16..a1f79e0a2 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -13,8 +13,7 @@ SUBDIRS = \ - $(MAYBE_DSELECT) \ - scripts \ - t-func \ -- po \ -- man -+ po - - ACLOCAL_AMFLAGS = -I m4 - --- -2.11.0 diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch deleted file mode 100644 index 4f408ff77..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch +++ /dev/null @@ -1,17 +0,0 @@ -busybox-1.19.4 tar utility doesn't support --warning=no-timestamp - -Signed-off-by: Constantin Musca - -Upstream-Status: Inappropriate [configuration] -Index: dpkg-1.17.1/dpkg-deb/extract.c -=================================================================== ---- dpkg-1.17.1.orig/dpkg-deb/extract.c -+++ dpkg-1.17.1/dpkg-deb/extract.c -@@ -318,7 +318,6 @@ extracthalf(const char *debar, const cha - - command_add_arg(&cmd, "-f"); - command_add_arg(&cmd, "-"); -- command_add_arg(&cmd, "--warning=no-timestamp"); - - m_dup2(p2[0],0); - close(p2[0]); diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb deleted file mode 100644 index b372d3c4a..000000000 --- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb +++ /dev/null @@ -1,87 +0,0 @@ -SUMMARY = "Debian's start-stop-daemon utility extracted from the dpkg \ -package" -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://utils/start-stop-daemon.c;endline=21;md5=8fbd0497a7d0b01e99820bffcb58e9ad" -DEPENDS = "zlib bzip2 perl ncurses" -# start-stop-daemon is usually shipped by dpkg -RCONFLICTS_${PN} = "dpkg" - -SRC_URI = " \ - ${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.xz \ - file://0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch \ - file://noman.patch \ - file://remove-tar-no-timestamp.patch \ - file://arch_pm.patch \ - file://add_armeb_triplet_entry.patch \ - 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[md5sum] = "e463f58b04acb23659df23d2a7a05cff" -SRC_URI[sha256sum] = "c49c371953aea03f543814dcae37c069e86069333fb2e24e9252e76647663492" - -inherit autotools gettext perlnative pkgconfig perl-version - -S = "${WORKDIR}/dpkg-${PV}" - -EXTRA_OECONF = "\ - --disable-dselect \ - --enable-start-stop-daemon \ - --with-libz \ - --with-libbz2 \ - --without-libselinux \ - " - -PACKAGECONFIG = "liblzma" -PACKAGECONFIG[liblzma] = "--with-liblzma,--without-liblzma, xz" - -export PERL = "${bindir}/perl" -export PERL_LIBDIR = "${libdir}/perl/${@get_perl_version(d)}" -EXTRA_OECONF += "TAR=tar" - -EXTRA_OECONF_append_class-target = " DEB_HOST_ARCH=${DPKG_ARCH}" - -DPKG_ARCH ??= "${@deb_arch_map(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'))}" - -def deb_arch_map(arch, tune): - tune_features = tune.split() - if arch == "allarch": - return "all" - if arch in ["i586", "i686"]: - return "i386" - if arch == "x86_64": - if "mx32" in tune_features: - return "x32" - return "amd64" - if arch.startswith("mips"): - endian = ["el", ""]["bigendian" in tune_features] - if "n64" in tune_features: - return "mips64" + endian - if "n32" in tune_features: - return "mipsn32" + endian - return "mips" + endian - if arch == "powerpc": - return arch + ["", "spe"]["spe" in tune_features] - if arch == "aarch64": - return "arm64" - if arch == "arm": - return arch + ["el", "hf"]["callconvention-hard" in tune_features] - return arch - -do_install_append () { - # remove everything that is not related to start-stop-daemon, since there - # is no explicit rule for only installing ssd - find ${D} -type f -not -name "*start-stop-daemon*" -exec rm {} \; - find ${D} -depth -type d -empty -exec rmdir {} \; - - # support for buggy init.d scripts that refer to an alternative - # explicit path to start-stop-daemon - if [ "${base_sbindir}" != "${sbindir}" ]; then - mkdir -p ${D}${base_sbindir} - ln -sf ${sbindir}/start-stop-daemon ${D}${base_sbindir}/start-stop-daemon - fi -} diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc index b52deff5e..c183f05e0 100644 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc +++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc @@ -127,6 +127,7 @@ CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf" RDEPENDS_${PN} += " ${@oe.utils.conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}" RCONFLICTS_${PN} = "busybox-syslog sysklogd rsyslog" +RCONFLICTS_${PN}-libs = "busybox-syslog sysklogd rsyslog" RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-tools-Install-bash_completion-script-in-etc-bash_com.patch b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-tools-Install-bash_completion-script-in-etc-bash_com.patch new file mode 100644 index 000000000..16dc44067 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-tools-Install-bash_completion-script-in-etc-bash_com.patch @@ -0,0 +1,33 @@ +From 7863a72c723035529d6fd8d626d7fbf9a765f162 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 23 May 2019 21:49:57 -0700 +Subject: [PATCH] tools: Install bash_completion script in + /etc/bash_completion.d + +In OE this is one of common locations to install bash_completion files +and its covered for packaging automatically when bash_completion class +is inherited + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Khem Raj +--- + tools/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/Makefile.am b/tools/Makefile.am +index 0aaec11..839c961 100644 +--- a/tools/Makefile.am ++++ b/tools/Makefile.am +@@ -72,7 +72,7 @@ udisks_tcp_bridge_LDADD = $(DBUS_GLIB_LIBS) + + CLEANFILES = $(BUILT_SOURCES) + +-profiledir = $(sysconfdir)/profile.d ++profiledir = $(sysconfdir)/bash_completion.d + profile_SCRIPTS = udisks-bash-completion.sh + + EXTRA_DIST = $(profile_SCRIPTS) +-- +2.21.0 + diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch new file mode 100644 index 000000000..ef7f6f9c3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch @@ -0,0 +1,38 @@ +From 44953e5501e92c87611be45221338004e8032a74 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 23 May 2019 22:00:14 -0700 +Subject: [PATCH] udisks-helper: Use sh interpreter instead of bash + +These scripts do not require bash, since they do not use any bash +specific extentions + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/helpers/udisks-helper-change-luks-password | 2 +- + src/helpers/udisks-helper-mdadm-expand | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/helpers/udisks-helper-change-luks-password b/src/helpers/udisks-helper-change-luks-password +index edcf6c9..c71fc72 100755 +--- a/src/helpers/udisks-helper-change-luks-password ++++ b/src/helpers/udisks-helper-change-luks-password +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env sh + set -e + + DEVICE=$1 +diff --git a/src/helpers/udisks-helper-mdadm-expand b/src/helpers/udisks-helper-mdadm-expand +index 8b4e23d..921f96a 100755 +--- a/src/helpers/udisks-helper-mdadm-expand ++++ b/src/helpers/udisks-helper-mdadm-expand +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env sh + + set -e + +-- +2.21.0 + diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb index 3ae8ecc15..0918fedda 100644 --- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb +++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb @@ -17,12 +17,14 @@ SRC_URI = "http://hal.freedesktop.org/releases/${BPN}-${PV}.tar.gz;name=${BPN} \ file://udisks-1.0.5-fix-service-file.patch \ file://0001-Make-udev-rules-directory-configurable.patch \ file://0001-include-sys-sysmacros.h.patch \ + file://0001-tools-Install-bash_completion-script-in-etc-bash_com.patch \ + file://0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch \ " SRC_URI[udisks.md5sum] = "70d48dcfe523a74cd7c7fbbc2847fcdd" SRC_URI[udisks.sha256sum] = "f2ec82eb0ea7e01dc299b5b29b3c18cdf861236ec43dcff66b3552b4b31c6f71" -inherit autotools-brokensep systemd gtk-doc distro_features_check +inherit autotools-brokensep systemd gtk-doc distro_features_check bash-completion REQUIRED_DISTRO_FEATURES = "polkit" diff --git a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb deleted file mode 100644 index bfcdf8373..000000000 --- a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "RFC 3986 compliant URI parsing library" -HOMEPAGE = "https://uriparser.github.io" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=72b0f9c74ae96eeab8cf1bf3efe08da2" - -SRC_URI := "${SOURCEFORGE_MIRROR}/project/uriparser/Sources/${PV}/uriparser-${PV}.tar.bz2" - -inherit autotools - -EXTRA_OECONF = "--disable-test --disable-doc" - -SRC_URI[md5sum] = "9aabdc3611546f553f4af372167de6d6" -SRC_URI[sha256sum] = "ce7ccda4136974889231e8426a785e7578e66a6283009cfd13f1b24a5e657b23" - -BBCLASSEXTEND += "native" diff --git a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.3.bb b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.3.bb new file mode 100644 index 000000000..8c28c9d93 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.3.bb @@ -0,0 +1,15 @@ +SUMMARY = "RFC 3986 compliant URI parsing library" +HOMEPAGE = "https://uriparser.github.io" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=fc3bbde670fc6e95392a0e23bf57bda0" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${BP}/${BP}.tar.gz" +SRC_URI[md5sum] = "9874b64f6f4ff656f3f69598e38f12b7" +SRC_URI[sha256sum] = "6cef39d6eaf1a48504ee0264ce85f078758057dafb1edd0a898183b55ff76014" + +inherit cmake + +EXTRA_OECMAKE += "-DURIPARSER_BUILD_DOCS:BOOL=OFF -DURIPARSER_BUILD_TESTS:BOOL=OFF" + +BBCLASSEXTEND += "native" diff --git a/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb index 7eb138305..d01a06cae 100644 --- a/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb @@ -9,15 +9,14 @@ HOMEPAGE = "https://troydhanson.github.io/uthash/" SECTION = "base" LICENSE = "BSD-1-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=a2513f7d2291df840527b76b2a8f9718" +SRCREV = "8b214aefcb81df86a7e5e0d4fa20e59a6c18bc02" SRC_URI = "\ - https://github.com/troydhanson/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ + git://github.com/troydhanson/${BPN}.git \ file://run-ptest \ " -UPSTREAM_CHECK_URI = "https://github.com/troydhanson/${BPN}/releases" -SRC_URI[md5sum] = "4d0a33f6393260926032f1fad4bad39a" -SRC_URI[sha256sum] = "152ccd8e64d0f495377232e3964d06c7ec8bb8c3fbd3217f8a5702614f9a669e" +S = "${WORKDIR}/git" inherit ptest diff --git a/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest new file mode 100644 index 000000000..f1c833e6c --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest @@ -0,0 +1,21 @@ +#!/bin/sh +# + +# prepare testing config +CONF_USERS=`readlink -f /etc/raddb/users` +mv ${CONF_USERS} ${CONF_USERS}_orig +echo "testing Cleartext-Password := \"testpassword\"" > ${CONF_USERS} +cat ${CONF_USERS}_orig >> ${CONF_USERS} + +# restart radiusd server +systemctl restart radiusd || /etc/init.d/radiusd restart || { + echo "FAIL: Start radiusd service." + exit 1 +} + +# run teests +perl test.pl + +# restore the config and restart +mv ${CONF_USERS}_orig ${CONF_USERS} +systemctl restart radiusd || /etc/init.d/radiusd restart diff --git a/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch new file mode 100644 index 000000000..9798af497 --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch @@ -0,0 +1,90 @@ +From 829302792bf0e4935d29efc23ca1f2e9e7ee7dfd Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Thu, 7 Jan 2016 03:12:38 -0500 +Subject: [PATCH] test.pl: adjust for ptest + +* Don't use interactive inputs, set default test + settings instead. +* Change the test results output to the ptest format + +Upstream-Status: Inappropriate [OE ptest specific] + +Signed-off-by: Jackie Huang +--- + test.pl | 31 ++++++++++++++++++------------- + 1 file changed, 18 insertions(+), 13 deletions(-) + +diff --git a/test.pl b/test.pl +index cfd1c1e..9b4f10e 100644 +--- a/test.pl ++++ b/test.pl +@@ -7,11 +7,11 @@ + # Change 1..1 below to 1..last_test_to_print . + # (It may become useful if the test is moved to ./t subdirectory.) + +-BEGIN {print "1..5\n";} +-END {print "not ok 1\n" unless $loaded;} ++BEGIN {print "Start testing for libauthen-radius-perl\n";} ++END {print "\nFAIL: test1\n" unless $loaded;} + use Authen::Radius; + $loaded = 1; +-print "ok 1\n"; ++print "\nPASS: test1\n"; + + ######################### End of black magic. + +@@ -19,26 +19,31 @@ print "ok 1\n"; + # (correspondingly "not ok 13") depending on the success of chunk 13 + # of the test code): + ++$host = "127.0.0.1"; ++$secret = "testing123"; ++$user = "testing"; ++$pwd = "testpassword"; ++ + print "Make sure this machine is in your Radius clients file!\n"; +-print "Enter hostname[:port] of your Radius server: "; chomp ($host = ); +-print "Enter shared-secret of your Radius server: "; chomp ($secret = ); +-print "Enter a username to be validated: "; chomp ($user = ); +-print "Enter this user's password: "; chomp ($pwd = ); ++print "hostname of your Radius server: $host\n"; ++print "shared-secret of your Radius server: $secret\n"; ++print "The username to be validated: $user\n"; ++print "The user's password: $pwd\n"; + + $t = 2; + if ($host ne '') { + $r = new Authen::Radius(Host => $host, Secret => $secret, Debug => 1); +- print defined($r) ? "" : "not ", "ok $t\n"; $t++; ++ print defined($r) ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++; + #Authen::Radius->load_dictionary; +- print $r->check_pwd($user, $pwd) ? "" : "not ", "ok $t\n"; $t++; ++ print $r->check_pwd($user, $pwd) ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++; + @a = $r->get_attributes; +- print $#a != -1 ? "" : "not ", "ok $t\n"; $t++; ++ print $#a != -1 ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++; + #for $a (@a) { + # print "attr: name=$a->{'Name'} value=$a->{'Value'}\n"; + #} + } else { + foreach my $t (2..4) { +- print "skipped $t\n"; ++ print "\nSKIP test$t\n"; + } + } + +@@ -53,9 +58,9 @@ my $data = "what do ya want for nothing?"; + my $etalon_digest = hex_to_ascii("750c783e6ab0b503eaa86e310a5db738"); + my $digest = Authen::Radius::hmac_md5(undef, $data, $key); + if ($etalon_digest eq $digest) { +- print "ok 5\n"; ++ print "\nPASS: test5\n"; + } else { +- print "not ok 5\n"; ++ print "\nFAIL: test5\n"; + } + + exit; +-- +1.9.1 + 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 new file mode 100644 index 000000000..ea5bb1b0c --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb @@ -0,0 +1,39 @@ +SUMMARY = "Authen::Radius - provide simple Radius client facilities" +DESCRIPTION = "The Authen::Radius module provides a simple class that \ + allows you to send/receive Radius requests/responses to/from a \ + Radius server. \ +" + +HOMEPAGE = "http://search.cpan.org/~manowar/RadiusPerl" +SECTION = "libs" + +LICENSE = "Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=78ab6ea0cba1f1ec1680ebb149e3bc11" + +DEPENDS = "perl" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MANOWAR/RadiusPerl-${PV}.tar.gz \ + file://test.pl-adjust-for-ptest.patch \ + file://run-ptest \ +" +SRC_URI[md5sum] = "d1fe2d6ecf7ea99299e4e3a8f945aad8" +SRC_URI[sha256sum] = "3b276506986ccaa4949d92b13ce053a0017ad11562a991cc753364923fe81ca7" + +S = "${WORKDIR}/Authen-Radius-${PV}" + +inherit cpan ptest + +do_install_ptest() { + install -m 0755 ${S}/test.pl ${D}${PTEST_PATH} +} + +RDEPENDS_${PN} += "\ + libdata-hexdump-perl \ + perl-module-digest-md5 \ + perl-module-data-dumper \ + perl-module-io-select \ + perl-module-io-socket \ +" +RDEPENDS_${PN}-ptest += "${PN} freeradius" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb b/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb deleted file mode 100644 index 2719811ce..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Capture::Tiny - Capture STDOUT and STDERR from Perl, XS or external programs." -DESCRIPTION = "Capture::Tiny provies a simple, portable way to capture \ -almost anything sent to STDOUT or STDERR, regardless of whether it comes \ -from Perl, from XS code or from an external program. Optionally, output can \ -be teed so that it is captured while being passed through to the original \ -filehandles. Yes, it even works on Windows (usually). Stop guessing which of \ -a dozen capturing modules to use in any particular situation and just use \ -this one." -SECTION = "libs" - -HOMEPAGE = "http://search.cpan.org/~dagolden/Capture-Tiny/" - -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=37a4918a30ace24395020e5b8c03b83f" - -SRCNAME = "Capture-Tiny" -SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DAGOLDEN/${SRCNAME}-${PV}.tar.gz" -SRC_URI[md5sum] = "d718af07729d26a793949ca6ba2580a7" -SRC_URI[sha256sum] = "5d7a6a830cf7f2b2960bf8b8afaac16a537ede64f3023827acea5bd24ca77015" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit cpan - -RDEPENDS_${PN} = " perl-module-scalar-util \ - perl-module-io-file \ - perl-module-extutils-makemaker \ - perl-module-file-spec \ - perl-module-exporter \ - perl-module-carp \ - perl-module-test-more \ - perl-module-file-temp \ - perl-module-lib \ - perl-module-overloading \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb b/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb new file mode 100644 index 000000000..3b3e31dd9 --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb @@ -0,0 +1,45 @@ +SUMMARY = "Capture::Tiny - Capture STDOUT and STDERR from Perl, XS or external programs." +DESCRIPTION = "Capture::Tiny provies a simple, portable way to capture \ +almost anything sent to STDOUT or STDERR, regardless of whether it comes \ +from Perl, from XS code or from an external program. Optionally, output can \ +be teed so that it is captured while being passed through to the original \ +filehandles. Yes, it even works on Windows (usually). Stop guessing which of \ +a dozen capturing modules to use in any particular situation and just use \ +this one." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~dagolden/Capture-Tiny/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=37a4918a30ace24395020e5b8c03b83f" + +SRCNAME = "Capture-Tiny" +SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DAGOLDEN/${SRCNAME}-${PV}.tar.gz" +SRC_URI[md5sum] = "f5d24083ad270f8326dd659dd83eeb54" +SRC_URI[sha256sum] = "6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit cpan ptest-perl + +RDEPENDS_${PN} = " \ + perl-module-carp \ + perl-module-exporter \ + perl-module-extutils-makemaker \ + perl-module-extutils-mm-unix \ + perl-module-file-spec \ + perl-module-file-temp \ + perl-module-io-handle \ + perl-module-lib \ + perl-module-overloading \ + perl-module-perlio \ + perl-module-perlio-scalar \ + perl-module-scalar-util \ + perl-module-strict \ + perl-module-test-more \ + perl-module-warnings \ +" + +RDEPENDS_${PN}-ptest += "perl-module-perlio" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb deleted file mode 100644 index db16d8307..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb +++ /dev/null @@ -1,25 +0,0 @@ -DESCRIPTION = "CGI.pm is a stable, complete and mature solution for processing and preparing \ -HTTP requests and responses. Major features including processing form \ -submissions, file uploads, reading and writing cookies, query string generation \ -and manipulation, and processing and preparing HTTP headers." -HOMEPAGE = "http://search.cpan.org/~leejo/CGI-4.28/lib/CGI.pod" -SECTION = "libs" -LICENSE = "Artistic-2.0 | GPL-2.0" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=2e9769f0a2613a98bc7fce15dee0c533" - -SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz" - -SRC_URI[md5sum] = "0aeb8563d533e7f83724ed068b5bfc37" -SRC_URI[sha256sum] = "8c58f4a529bb92a914b22b7e64c5e31185c9854a4070a6dfad44fe5cc248e7d4" - -S = "${WORKDIR}/CGI-${PV}" - -inherit cpan - -RDEPENDS_${PN} += "\ - perl-module-deprecate \ - perl-module-if \ -" - -RPROVIDES_${PN} += "perl-module-cgi" diff --git a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.43.bb b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.43.bb new file mode 100644 index 000000000..b4571b27e --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.43.bb @@ -0,0 +1,50 @@ +DESCRIPTION = "CGI.pm is a stable, complete and mature solution for processing and preparing \ +HTTP requests and responses. Major features including processing form \ +submissions, file uploads, reading and writing cookies, query string generation \ +and manipulation, and processing and preparing HTTP headers." +HOMEPAGE = "http://search.cpan.org/~leejo/CGI-4.28/lib/CGI.pod" +SECTION = "libs" +LICENSE = "Artistic-2.0 | GPL-2.0" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=415fc49abed2728f9480cd32c8d67beb" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz" + +SRC_URI[md5sum] = "8c1f2cf11e4410911827ea48d58aaecc" +SRC_URI[sha256sum] = "14b94f9df6e48fc26ebc4fa1e01a7b534cbc1611028a49028f9ac9d8ca27b734" + +S = "${WORKDIR}/CGI-${PV}" + +inherit cpan ptest-perl + +RDEPENDS_${PN} += "\ + libhtml-parser-perl \ + perl-module-base \ + perl-module-deprecate \ + perl-module-if \ +" + +do_install_prepend() { + # requires "-T" (taint) command line option + rm -rf ${B}/t/push.t + rm -rf ${B}/t/utf8.t + # tests building of docs + rm -rf ${B}/t/compiles_pod.t +} + +RDEPENDS_${PN}-ptest += " \ + libtest-deep-perl \ + perl-module-bytes \ + perl-module-file-find \ + perl-module-filehandle \ + perl-module-findbin \ + perl-module-lib \ + perl-module-perlio \ + perl-module-perlio-scalar \ + perl-module-test-more \ + perl-module-utf8 \ +" + +RPROVIDES_${PN} += "perl-module-cgi" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb new file mode 100644 index 000000000..57df78b4e --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb @@ -0,0 +1,37 @@ +SUMMARY = "Guess OpenSSL include path" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ea914cc2718e8d53bd7744d96e66c03c" + +SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Guess-${PV}.tar.gz " + +SRC_URI[md5sum] = "e768fe2c07826b0ac9ea604c79f93032" +SRC_URI[sha256sum] = "aa6b18e38cb852cbad80a58cd90c395b40819d4d01e0ab37e7703149094d7167" + +DEPENDS += "openssl" + +RDEPENDS_${PN} = "\ + perl-module-config \ + perl-module-exporter \ + perl-module-extutils-mm \ + perl-module-extutils-mm-unix \ + perl-module-file-spec \ + perl-module-symbol \ + perl-module-strict \ + perl-module-warnings \ +" + +EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'" + +S = "${WORKDIR}/Crypt-OpenSSL-Guess-${PV}" + +inherit cpan ptest-perl + +BBCLASSEXTEND = "native" + +# for backwards compatibility +PROVIDES_${PN} += "libcrypt-openssl-guess" + +RDEPENDS_${PN}-ptest += "\ + perl-module-test-more \ +" diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb deleted file mode 100644 index 21be04720..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Guess OpenSSL include path" -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ea914cc2718e8d53bd7744d96e66c03c" - -SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Guess-${PV}.tar.gz " - -SRC_URI[md5sum] = "e768fe2c07826b0ac9ea604c79f93032" -SRC_URI[sha256sum] = "aa6b18e38cb852cbad80a58cd90c395b40819d4d01e0ab37e7703149094d7167" - -DEPENDS += "openssl" - -RDEPENDS_${PN}="perl-module-config perl-module-exporter perl-module-symbol perl-module-file-spec" - -EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'" - -S = "${WORKDIR}/Crypt-OpenSSL-Guess-${PV}" - -inherit cpan - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb deleted file mode 100644 index 8456e313d..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Crypt Openssl Random cpan module" -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0+" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=089c18d635ae273e1727ec385e64063b" - -SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Random-${PV}.tar.gz " -SRC_URI[md5sum] = "5d71337503e0356ce1ce1481504e5885" -SRC_URI[sha256sum] = "bb8c81c6a39b9b13a22d818ee9a746242f136f0fadceb6b9776ae615e7524c7a" - -S = "${WORKDIR}/Crypt-OpenSSL-Random-${PV}" - -DEPENDS += " openssl \ -" -inherit cpan diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb new file mode 100644 index 000000000..a2ebb8c7a --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb @@ -0,0 +1,34 @@ +SUMMARY = "Crypt::OpenSSL::Random - OpenSSL/LibreSSL pseudo-random number generator access" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=089c18d635ae273e1727ec385e64063b" + +SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Random-${PV}.tar.gz " +SRC_URI[md5sum] = "bcde8d5a822c91376deda3c4f0c75fbe" +SRC_URI[sha256sum] = "f0876faa1ba3111e39b86aa730c603211eff2905e460c72a57b61e8cf475cef4" + +S = "${WORKDIR}/Crypt-OpenSSL-Random-${PV}" + +DEPENDS += " \ + openssl \ + libcrypt-openssl-guess-perl-native \ +" + +EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -L${STAGING_BASELIBDIR} -lcrypto'" + +inherit cpan ptest-perl + +RDEPENDS_${PN} += "\ + perl-module-exporter \ + perl-module-strict \ + perl-module-vars \ + perl-module-xsloader \ +" + +RDEPENDS_${PN}-ptest += "\ + perl-module-file-copy \ + perl-module-test-more \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb deleted file mode 100644 index 0a2ad8aa4..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Crypt Openssl RSA cpan module" -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a67ceecc5d9a91a5a0d003ba50c26346" - -SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-RSA-${PV}.tar.gz " - -SRC_URI[md5sum] = "10bca2fc6d0ba1aa329f227424ae87d5" -SRC_URI[sha256sum] = "23e13531397af102db4fd24bcf70137add7c85c23cca697c43aa71c2959a29ac" - -DEPENDS += "libcrypt-openssl-guess-native openssl" - -RDEPENDS_${PN}="libcrypt-openssl-random-perl" - -EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'" - -S = "${WORKDIR}/Crypt-OpenSSL-RSA-${PV}" - -inherit cpan - -do_compile() { - export OTHERLDFLAGS='-Wl,-rpath' - cpan_do_compile -} diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb new file mode 100644 index 000000000..68d921c3c --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb @@ -0,0 +1,38 @@ +SUMMARY = "Crypt Openssl RSA cpan module" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a67ceecc5d9a91a5a0d003ba50c26346" + +SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-RSA-${PV}.tar.gz " + +SRC_URI[md5sum] = "d33681e19d2094df7c26bc7a4509265e" +SRC_URI[sha256sum] = "4173403ad4cf76732192099f833fbfbf3cd8104e0246b3844187ae384d2c5436" + +DEPENDS += "libcrypt-openssl-guess-perl-native openssl" + +RDEPENDS_${PN} = " \ + libcrypt-openssl-random-perl \ + perl-module-autoloader \ + perl-module-carp \ + perl-module-strict \ + perl-module-warnings \ + perl-module-xsloader \ +" + +EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'" + +S = "${WORKDIR}/Crypt-OpenSSL-RSA-${PV}" + +inherit cpan ptest-perl + +do_compile() { + export OTHERLDFLAGS='-Wl,-rpath' + cpan_do_compile +} + +RDEPENDS_${PN}-ptest = " \ + ${PN} \ + perl-module-file-copy \ + perl-module-test \ + perl-module-test-more \ +" diff --git a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb index e93d388e9..7e1418d49 100644 --- a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb +++ b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb @@ -13,10 +13,11 @@ SRC_URI[sha256sum] = "ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e6 S = "${WORKDIR}/ExtUtils-Config-${PV}" -inherit cpan +inherit cpan ptest-perl RDEPENDS_${PN} = " perl-module-extutils-makemaker \ perl-module-data-dumper \ + perl-module-ipc-open3 \ perl-module-test-more \ perl-module-file-temp \ " diff --git a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb deleted file mode 100644 index 6eb434a95..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "ExtUtils::InstallPaths - Build.PL install path logic made easy" -DESCRIPTION = "This module tries to make install path resolution as easy \ -as possible." -SECTION = "libs" - -HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-InstallPaths/" - -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b6fa54d873ce6bcf4809ea88bdf97769" - -SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-${PV}.tar.gz" -SRC_URI[md5sum] = "9c75894c3c8c899ab6bfafc5eaa97999" -SRC_URI[sha256sum] = "7609fa048cdcf1451cad5b1d7d494f30e3d5bad0672d15404f1ea60e1df0067c" - -S = "${WORKDIR}/ExtUtils-InstallPaths-${PV}" - -inherit cpan - -RDEPENDS_${PN} = " perl-module-extutils-makemaker \ - perl-module-data-dumper \ - perl-module-test-more \ - perl-module-file-temp \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb new file mode 100644 index 000000000..2da5e3b4f --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb @@ -0,0 +1,34 @@ +SUMMARY = "ExtUtils::InstallPaths - Build.PL install path logic made easy" +DESCRIPTION = "This module tries to make install path resolution as easy \ +as possible." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-InstallPaths/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b6fa54d873ce6bcf4809ea88bdf97769" + +SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-${PV}.tar.gz" +SRC_URI[md5sum] = "9a8d66aab1ffec98ea260faf03ac612b" +SRC_URI[sha256sum] = "84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed" + +S = "${WORKDIR}/ExtUtils-InstallPaths-${PV}" + +inherit cpan ptest-perl + +RDEPENDS_${PN} = " \ + libextutils-config-perl \ + perl-module-bytes \ + perl-module-data-dumper \ + perl-module-extutils-makemaker \ + perl-module-file-temp \ + perl-module-test-more \ +" + +RDEPENDS_${PN}-ptest = " \ + ${PN} \ + perl-module-file-spec-functions \ + perl-module-test-more \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb b/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb index e202de05a..a4c69c97b 100644 --- a/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb +++ b/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb @@ -16,10 +16,30 @@ S = "${WORKDIR}/HTML-Parser-${PV}" EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" -inherit cpan +inherit cpan ptest-perl do_compile() { export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" cpan_do_compile } + +RDEPENDS_${PN} += "\ + perl-module-exporter \ + perl-module-strict \ + perl-module-vars \ + perl-module-xsloader \ + libhtml-tagset-perl \ +" + +RDEPENDS_${PN}-ptest += "\ + liburi-perl \ + perl-module-config \ + perl-module-file-spec \ + perl-module-filehandle \ + perl-module-io-file \ + perl-module-selectsaver \ + perl-module-test \ + perl-module-test-more \ +" + BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb b/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb new file mode 100644 index 000000000..d6483cc5f --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb @@ -0,0 +1,29 @@ +SUMMARY = "HTML::Tageset - data tables useful in parsing HTML" +DESCRIPTION = "This module contains several data tables useful in various \ +kinds of HTML parsing operations." +HOMEPAGE = "https://metacpan.org/release/HTML-Tagset" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +LIC_FILES_CHKSUM = "file://README;beginline=62;endline=66;md5=aa91eed6adfe182d2af676954f06a7c9" + +SRC_URI = "${CPAN_MIRROR}/authors/id/P/PE/PETDANCE/HTML-Tagset-${PV}.tar.gz" +SRC_URI[md5sum] = "d2bfa18fe1904df7f683e96611e87437" +SRC_URI[sha256sum] = "adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2" + +S = "${WORKDIR}/HTML-Tagset-${PV}" + + +inherit cpan ptest-perl + + +RDEPENDS_${PN} += "perl-module-strict perl-module-vars" + +RDEPENDS_${PN}-ptest += "perl-module-test" + +do_install_prepend() { + # requires "-T" (taint) command line option + rm -rf ${B}/t/pod.t +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb b/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb deleted file mode 100644 index a6808d3f8..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "strictures - turn on strict and make all warnings fatal" -DESCRIPTION = "I've been writing the equivalent of this module at the top \ -of my code for about a year now. I figured it was time to make it shorter. \ -\ -Things like the importer in \"use Moose\" don't help me because they turn \ -warnings on but don't make them fatal -- which from my point of view is \ -useless because I want an exception to tell me my code isn't warnings-clean. \ -\ -Any time I see a warning from my code, that indicates a mistake. \ -\ -Any time my code encounters a mistake, I want a crash -- not spew to STDERR \ -and then unknown (and probably undesired) subsequent behaviour. \ -\ -I also want to ensure that obvious coding mistakes, like indirect object \ -syntax (and not so obvious mistakes that cause things to accidentally compile \ -as such) get caught, but not at the cost of an XS dependency and not at the \ -cost of blowing things up on another machine. \ -\ -Therefore, \"strictures\" turns on additional checking, but only when it \ -thinks it's running in a test file in a VCS checkout -- although if this \ -causes undesired behaviour this can be overridden by setting the \ -PERL_STRICTURES_EXTRA environment variable." - -SECTION = "libs" - -HOMEPAGE = "https://metacpan.org/pod/strictures" - -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://README;beginline=246;endline=262;md5=43be558cf4f19823cdd6af22135cf5f8" - -SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/strictures-${PV}.tar.gz" -SRC_URI[md5sum] = "78244cfab6168dcf196370d1e2309536" -SRC_URI[sha256sum] = "27f8ea096a521e9754d36ea32889c2cda28346d04e3e399e7ea118d182dbaf22" - -S = "${WORKDIR}/strictures-${PV}" - -inherit cpan - -RDEPENDS_${PN} = " perl-module-carp \ - perl-module-strict \ - perl-module-test-more \ - perl-module-warnings \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb b/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb new file mode 100644 index 000000000..d1a5b4787 --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb @@ -0,0 +1,48 @@ +SUMMARY = "strictures - turn on strict and make all warnings fatal" +DESCRIPTION = "I've been writing the equivalent of this module at the top \ +of my code for about a year now. I figured it was time to make it shorter. \ +\ +Things like the importer in \"use Moose\" don't help me because they turn \ +warnings on but don't make them fatal -- which from my point of view is \ +useless because I want an exception to tell me my code isn't warnings-clean. \ +\ +Any time I see a warning from my code, that indicates a mistake. \ +\ +Any time my code encounters a mistake, I want a crash -- not spew to STDERR \ +and then unknown (and probably undesired) subsequent behaviour. \ +\ +I also want to ensure that obvious coding mistakes, like indirect object \ +syntax (and not so obvious mistakes that cause things to accidentally compile \ +as such) get caught, but not at the cost of an XS dependency and not at the \ +cost of blowing things up on another machine. \ +\ +Therefore, \"strictures\" turns on additional checking, but only when it \ +thinks it's running in a test file in a VCS checkout -- although if this \ +causes undesired behaviour this can be overridden by setting the \ +PERL_STRICTURES_EXTRA environment variable." + +SECTION = "libs" + +HOMEPAGE = "https://metacpan.org/pod/strictures" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://README;beginline=246;endline=262;md5=43be558cf4f19823cdd6af22135cf5f8" + +SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/strictures-${PV}.tar.gz" +SRC_URI[md5sum] = "35c14fd25320f32ff40e977feae95d0d" +SRC_URI[sha256sum] = "09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57" + +S = "${WORKDIR}/strictures-${PV}" + +inherit cpan ptest-perl + +RDEPENDS_${PN} += " \ + perl-module-carp \ + perl-module-strict \ + perl-module-test-more \ + perl-module-warnings \ +" + +RDEPENDS_${PN}-ptest += "perl-module-perlio perl-module-perlio-scalar" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb b/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb deleted file mode 100644 index 6b76682c6..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Term::ReadKey - A perl module for simple terminal control." -DESCRIPTION = "Term::ReadKey is a compiled perl module dedicated to providing simple \ -control over terminal driver modes (cbreak, raw, cooked, etc.,) support \ -for non-blocking reads, if the architecture allows, and some generalized \ -handy functions for working with terminals. One of the main goals is to \ -have the functions as portable as possible, so you can just plug in "use \ -Term::ReadKey" on any architecture and have a good likelihood of it \ -working." -HOMEPAGE = "http://search.cpan.org/~jstowe/TermReadKey-${PV}" -SECTION = "libraries" - -LICENSE = "Artistic-1.0 | GPLv1+" -LIC_FILES_CHKSUM = "file://README;md5=c275db663c8489a5709ebb22b185add5" - -SRC_URI = "${CPAN_MIRROR}/authors/id/J/JS/JSTOWE/TermReadKey-${PV}.tar.gz" - -SRC_URI[md5sum] = "e8ea15c16333ac4f8d146d702e83cc0c" -SRC_URI[sha256sum] = "4a9383cf2e0e0194668fe2bd546e894ffad41d556b41d2f2f577c8db682db241" - -S = "${WORKDIR}/TermReadKey-${PV}" - -# It needs depend on native to let dynamic loader use native modules -# rather than target ones. -DEPENDS = "libterm-readkey-perl-native" - -inherit cpan - -do_configure_append () { - # Hack the dynamic module loader so that it use native modules since it can't load - # the target ones. - if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then - sed -i -e "s#-I\$(INST_ARCHLIB)#-I${STAGING_BINDIR_NATIVE}/perl-native/perl/vendor_perl/${@get_perl_version(d)}#g" Makefile - fi -} - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb b/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb new file mode 100644 index 000000000..cc1ac6ed5 --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb @@ -0,0 +1,43 @@ +SUMMARY = "Term::ReadKey - A perl module for simple terminal control." +DESCRIPTION = "Term::ReadKey is a compiled perl module dedicated to providing simple \ +control over terminal driver modes (cbreak, raw, cooked, etc.,) support \ +for non-blocking reads, if the architecture allows, and some generalized \ +handy functions for working with terminals. One of the main goals is to \ +have the functions as portable as possible, so you can just plug in 'use \ +Term::ReadKey' on any architecture and have a good likelihood of it \ +working." +HOMEPAGE = "http://search.cpan.org/~jstowe/TermReadKey-${PV}" +SECTION = "libraries" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://README;md5=c275db663c8489a5709ebb22b185add5" + +SRC_URI = "${CPAN_MIRROR}/authors/id/J/JS/JSTOWE/TermReadKey-${PV}.tar.gz" + +SRC_URI[md5sum] = "b2b4aab7a0e6bddb7ac3b21ba637482c" +SRC_URI[sha256sum] = "5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290" + +S = "${WORKDIR}/TermReadKey-${PV}" + +UPSTREAM_CHECK_URI = "https://metacpan.org/release/TermReadKey" +UPSTREAM_CHECK_REGEX = "TermReadKey\-(?P(\d+\.\d+))(?!_\d+)\.tar.gz" + +# It needs depend on native to let dynamic loader use native modules +# rather than target ones. +DEPENDS = "libterm-readkey-perl-native" + +inherit cpan ptest-perl + +RDEPENDS_${PN}-ptest += " \ + perl-module-test-more \ +" + +do_configure_append () { + # Hack the dynamic module loader so that it use native modules since it can't load + # the target ones. + if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then + sed -i -e "s#-I\$(INST_ARCHLIB)#-I${STAGING_BINDIR_NATIVE}/perl-native/perl/vendor_perl/${@get_perl_version(d)}#g" Makefile + fi +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.128.bb b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.128.bb new file mode 100644 index 000000000..44a915c5b --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.128.bb @@ -0,0 +1,56 @@ +SUMMARY = "Test::Deep - Extremely flexible deep comparison" +DESCRIPTION = "If you don't know anything about automated testing in Perl \ +then you should probably read about Test::Simple and Test::More before \ +preceding. Test::Deep uses the Test::Builder framework. \ +\ +Test::Deep gives you very flexible ways to check that the result you got is \ +the result you were expecting. At its simplest it compares two structures \ +by going through each level, ensuring that the values match, that arrays and \ +hashes have the same elements and that references are blessed into the \ +correct class. It also handles circular data structures without getting \ +caught in an infinite loop. \ +\ +Where it becomes more interesting is in allowing you to do something besides \ +simple exact comparisons. With strings, the \'eq\' operator checks that 2 \ +strings are exactly equal but sometimes that's not what you want. When you \ +don't know exactly what the string should be but you do know some things \ +about how it should look, \'eq\' is no good and you must use pattern matching \ +instead. Test::Deep provides pattern matching for complex data structures \ +distribution." + +SECTION = "libs" + +HOMEPAGE = "http://github.com/rjbs/Test-Deep/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://lib/Test/Deep.pm;beginline=1817;endline=1826;md5=aebc793c87a3d8771fe98d5d369898e7" + +SRC_URI = "${CPAN_MIRROR}/authors/id/R/RJ/RJBS/Test-Deep-${PV}.tar.gz" +SRC_URI[md5sum] = "9bc47147ea720fc01bc6b214afb884ff" +SRC_URI[sha256sum] = "852d7e836fba8269b0b755082051a24a1a309d015a8b76838790af9e3760092f" + +UPSTREAM_CHECK_REGEX = "Test\-Deep\-(?P(\d+\.\d+))(?!_\d+).tar" + +S = "${WORKDIR}/Test-Deep-${PV}" + +inherit cpan ptest-perl + +RDEPENDS_${PN} += " \ + perl-module-dynaloader \ + perl-module-exporter \ + perl-module-fcntl \ + perl-module-list-util \ + perl-module-scalar-util \ + perl-module-strict \ + perl-module-vars \ + perl-module-warnings \ +" + +RDEPENDS_${PN}-ptest += " \ + perl-module-if \ + perl-module-lib \ + perl-module-test-more \ + perl-module-test-tester \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb b/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb index 9753520ae..6fabf2684 100644 --- a/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb +++ b/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb @@ -35,7 +35,7 @@ SRC_URI[libxml.sha256sum] = "f0bca4d0c2da35d879fee4cd13f352014186cedab27ab5e191f S = "${WORKDIR}/XML-LibXML-${PV}" -inherit cpan +inherit cpan ptest-perl EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}" @@ -45,3 +45,27 @@ CFLAGS += " -D_GNU_SOURCE " BUILD_CFLAGS += " -D_GNU_SOURCE " FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/" + +RDEPENDS_${PN}-ptest += " \ + liburi-perl \ + perl-module-encode-byte \ + perl-module-encode-unicode \ + perl-module-locale \ + perl-module-perlio-scalar \ + perl-module-test-more \ +" + +do_install_prepend() { + # test requires "-T" (taint) command line option + rm -rf ${B}/t/pod.t + # this only applies to author build + rm -rf ${B}/t/pod-files-presence.t +} + +do_install_ptest() { + cp -r ${B}/t/data ${D}${PTEST_PATH}/t/ + cp -r ${B}/t/lib ${D}${PTEST_PATH}/t/ + cp -r ${B}/example ${D}${PTEST_PATH} + cp -r ${B}/test ${D}${PTEST_PATH} + chown -R root:root ${D}${PTEST_PATH} +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc index 14b5a9f57..427467294 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc @@ -1,10 +1,10 @@ DESCRIPTION = "A collection of tools for internationalizing Python applications" HOMEPAGE = "http://babel.edgewall.org/" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=eebdc057dc12abcc2d6c4453628bfcd4" +LIC_FILES_CHKSUM = "file://LICENSE;md5=942469df9305abb1c59e95f778310384" -SRC_URI[md5sum] = "c384ac03026e8fe6f9b90f55201f1bff" -SRC_URI[sha256sum] = "8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23" +SRC_URI[md5sum] = "83c158b7dae9135750a7cf204e6e2eea" +SRC_URI[sha256sum] = "e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28" PYPI_PACKAGE = "Babel" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb deleted file mode 100644 index f7c166eba..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb +++ /dev/null @@ -1,6 +0,0 @@ -inherit setuptools -require python-babel.inc - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-subprocess \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.7.0.bb new file mode 100644 index 000000000..f7c166eba --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.7.0.bb @@ -0,0 +1,6 @@ +inherit setuptools +require python-babel.inc + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-subprocess \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc index 52ae3186d..9c793808f 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=27f7518eb6f7dc686d0f953b2f28dae5" inherit pypi -SRC_URI[md5sum] = "a7b1c5eb5390d50067c62d7bcb4e875c" -SRC_URI[sha256sum] = "9efcc9fab3b49ab833475702b55edd5ae07af1af7a4c627678980b45e459c460" +SRC_URI[md5sum] = "91aa9b611b6345154df84e8e37746f41" +SRC_URI[sha256sum] = "8ea2d3ce97850f31e4a08b0e2b5e6c34997d7216a9d2c98e0f3978630d4da69a" BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb deleted file mode 100644 index 8c12ad042..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-cachetools.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb new file mode 100644 index 000000000..8c12ad042 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-cachetools.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc index 0d9638845..887d2d3d3 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc @@ -8,8 +8,8 @@ DEPENDS += " \ ${PYTHON_PN}-cryptography \ " -SRC_URI[md5sum] = "f8b166652e7a9d668b851b28e4417057" -SRC_URI[sha256sum] = "03f38115dccb266dd96538f94067442a877932c2322661bdc5bf2502c76658af" +SRC_URI[md5sum] = "1a518a28ed9c924ca6c570aa8ea0c334" +SRC_URI[sha256sum] = "f12dfb9bd669a68004074cb5b26df6e93ed1a95ebd1a999dff0a840212ff68bc" PYPI_PACKAGE = "cryptography_vectors" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.6.1.bb deleted file mode 100644 index 4975278a9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.6.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools -require python-cryptography-vectors.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.7.bb new file mode 100644 index 000000000..4975278a9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.7.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require python-cryptography-vectors.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc index 6c43e863d..876fcc273 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc @@ -12,8 +12,8 @@ DEPENDS += " \ ${PYTHON_PN}-six \ " -SRC_URI[md5sum] = "401cc8268f89496643da3f7a48eb4e8e" -SRC_URI[sha256sum] = "26c821cbeb683facb966045e2064303029d572a87ee69ca5a1bf54bf55f93ca6" +SRC_URI[md5sum] = "7dfe1035cae43569e571318f000462a4" +SRC_URI[sha256sum] = "e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6" RDEPENDS_${PN} += " \ ${PYTHON_PN}-cffi \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.6.1.bb deleted file mode 100644 index 9c2f88418..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.6.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -inherit pypi setuptools -require python-cryptography.inc - -SRC_URI += " \ - file://run-ptest \ -" - -DEPENDS += " \ - ${PYTHON_PN}-enum34 \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-enum34 \ - ${PYTHON_PN}-ipaddress \ -" - -RDEPENDS_${PN}_class-target += " \ - ${PYTHON_PN}-enum34 \ - ${PYTHON_PN}-ipaddress \ - ${PYTHON_PN}-contextlib \ - ${PYTHON_PN}-subprocess \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.7.bb new file mode 100644 index 000000000..9c2f88418 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.7.bb @@ -0,0 +1,22 @@ +inherit pypi setuptools +require python-cryptography.inc + +SRC_URI += " \ + file://run-ptest \ +" + +DEPENDS += " \ + ${PYTHON_PN}-enum34 \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-enum34 \ + ${PYTHON_PN}-ipaddress \ +" + +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-enum34 \ + ${PYTHON_PN}-ipaddress \ + ${PYTHON_PN}-contextlib \ + ${PYTHON_PN}-subprocess \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc index 8ccbe0a87..10cfef58b 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" PYPI_PACKAGE = "Cython" BBCLASSEXTEND = "native nativesdk" -SRC_URI[md5sum] = "24f6a7e0e6691fbecf5880f38cdf880e" -SRC_URI[sha256sum] = "55d081162191b7c11c7bfcb7c68e913827dfd5de6ecdbab1b99dab190586c1e8" +SRC_URI[md5sum] = "08939b99869f59007387aea0d1a86341" +SRC_URI[sha256sum] = "26229570d6787ff3caa932fe9d802960f51a89239b990d275ae845405ce43857" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.10.bb new file mode 100644 index 000000000..d803a6ed4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.10.bb @@ -0,0 +1,10 @@ +inherit setuptools +require python-cython.inc + +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Cython/" +UPSTREAM_CHECK_REGEX = "/Cython/(?P(\d+[\.\-_]*)+)" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-distribute \ + ${PYTHON_PN}-subprocess \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.7.bb deleted file mode 100644 index d803a6ed4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.7.bb +++ /dev/null @@ -1,10 +0,0 @@ -inherit setuptools -require python-cython.inc - -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Cython/" -UPSTREAM_CHECK_REGEX = "/Cython/(?P(\d+[\.\-_]*)+)" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-distribute \ - ${PYTHON_PN}-subprocess \ -" 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 63532c756..d67c17883 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc @@ -18,8 +18,8 @@ LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \ DEPENDS += "libxml2 libxslt" -SRC_URI[md5sum] = "d35e90d9de17e1370fbb7e6059bd95ed" -SRC_URI[sha256sum] = "4a03dd682f8e35a10234904e0b9508d705ff98cf962c5851ed052e9340df3d90" +SRC_URI[md5sum] = "aec44da0457dca385261e5ceb3fe36f9" +SRC_URI[sha256sum] = "3ce1c49d4b4a7bc75fb12acb3a6247bb7a91fe420542e6d671ba9187d12a12c2" DISTUTILS_BUILD_ARGS += " \ --with-xslt-config='pkg-config libxslt' \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.3.bb deleted file mode 100644 index 81ccb12d8..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.3.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-lxml.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.4.bb new file mode 100644 index 000000000..81ccb12d8 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.4.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-lxml.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc index d86ad33cd..dc27ada74 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc @@ -2,14 +2,14 @@ SUMMARY = "A super-fast templating language that borrows the best ideas from the HOMEPAGE = "http://www.makotemplates.org/" SECTION = "devel/python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1bb21fa2d2f7a534c884b990430a6863" +LIC_FILES_CHKSUM = "file://LICENSE;md5=df7e6c7c82990acf0228a55e00d29bc9" PYPI_PACKAGE = "Mako" inherit pypi -SRC_URI[md5sum] = "a94d376078dda65f834ea5049a81ebb5" -SRC_URI[sha256sum] = "7165919e78e1feb68b4dbe829871ea9941398178fa58e6beedb9ba14acf63965" +SRC_URI[md5sum] = "4a7aef27217a8e6c1a29447c9b1b00ab" +SRC_URI[sha256sum] = "0cfa65de3a835e87eeca6ac856b3013aade55f49e32515f65d999f91a2324162" RDEPENDS_${PN} = " \ ${PYTHON_PN}-html \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.10.bb deleted file mode 100644 index 3372eeb28..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.10.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-mako.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.12.bb new file mode 100644 index 000000000..3372eeb28 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.12.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-mako.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc index 5621dba94..51e663b51 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc @@ -1,10 +1,10 @@ DESCRIPTION = "A python module for handling realtime sensor data from OBD-II vehicle ports" HOMEPAGE = "https://github.com/brendan-w/python-OBD" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://README.rst;md5=2988a5e913eb105fa08011135c4157d4" +LIC_FILES_CHKSUM = "file://README.md;md5=58ba896fa086c96ad23317cebfeab277" -SRC_URI[md5sum] = "93e04f825e13b7ebc97d06b6a6407807" -SRC_URI[sha256sum] = "4b1bac95df2faac571ebf444778e4d736d050d8ed7049023c0fc929a520eba6d" +SRC_URI[md5sum] = "305efcb6c650db7b9583532355ebeb7c" +SRC_URI[sha256sum] = "8b81ea5896157b6e861af12e173c10b001cb6cca6ebb04db2c01d326812ad77b" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.0.bb deleted file mode 100644 index a42388797..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit setuptools -# The inc file is in oe-core -require recipes-devtools/python/python-pbr.inc - -SRC_URI[md5sum] = "2bca008fd08d035a2f78c606d876a6db" -SRC_URI[sha256sum] = "d950c64aeea5456bbd147468382a5bb77fe692c13c9f00f0219814ce5b642755" - -do_install_append() { - if [ -f ${D}${bindir}/pbr ]; then - mv ${D}${bindir}/pbr ${D}${bindir}/pbr-2 - fi -} - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb new file mode 100644 index 000000000..ccc75de8d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb @@ -0,0 +1,13 @@ +inherit setuptools +# The inc file is in oe-core +require recipes-devtools/python/python-pbr.inc + +SRC_URI[md5sum] = "f72c2dd10602abad3695097d634e94bb" +SRC_URI[sha256sum] = "93d2dc6ee0c9af4dbc70bc1251d0e545a9910ca8863774761f92716dece400b6" + +do_install_append() { + if [ -f ${D}${bindir}/pbr ]; then + mv ${D}${bindir}/pbr ${D}${bindir}/pbr-2 + fi +} + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc index acf4ddd6e..e466c5cd4 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc @@ -1,9 +1,9 @@ SUMMARY = "A cross-platform process and system utilities module for Python" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b" -SRC_URI[md5sum] = "571962acd249bcfbae317884af47c402" -SRC_URI[sha256sum] = "828e1c3ca6756c54ac00f1427fdac8b12e21b8a068c3bb9b631a1734cada25ed" +SRC_URI[md5sum] = "1bbc1788588cc3c2c461cd98a830ba72" +SRC_URI[sha256sum] = "863a85c1c0a5103a12c05a35e59d336e1d665747e531256e061213e2e90f63f3" PACKAGES =+ "${PN}-tests" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.2.bb deleted file mode 100644 index 9aabfb206..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.2.bb +++ /dev/null @@ -1,6 +0,0 @@ -inherit pypi setuptools -require python-psutil.inc - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-subprocess \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.3.bb new file mode 100644 index 000000000..9aabfb206 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.3.bb @@ -0,0 +1,6 @@ +inherit pypi setuptools +require python-psutil.inc + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-subprocess \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb deleted file mode 100644 index 0b38d58e4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "A pure-Python SNMPv1/v2c/v3 library" -DESCRIPTION = "SNMP v1/v2c/v3 engine and apps written in pure-Python. \ - Supports Manager/Agent/Proxy roles, scriptable MIBs, asynchronous \ - operation (asyncio, twisted, asyncore) and multiple transports.\ -" -HOMEPAGE = "https://pypi.python.org/pypi/pysnmp" -SECTION = "devel/python" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=280606d9c18f200e03e0c247ac61475a" - -SRCNAME = "pysnmp" - -SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" - -SRC_URI[md5sum] = "387aaa23c168ccc0b59775cfdf519fc0" -SRC_URI[sha256sum] = "38253fe95cea33f352fb36e85f3c2874043401724300c4888df74835161169d2" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit setuptools - -RDEPENDS_${PN} += "python-pycrypto \ - python-pyasn1 \ - python-pysmi \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb new file mode 100644 index 000000000..9ff4df2c9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb @@ -0,0 +1,26 @@ +SUMMARY = "A pure-Python SNMPv1/v2c/v3 library" +DESCRIPTION = "SNMP v1/v2c/v3 engine and apps written in pure-Python. \ + Supports Manager/Agent/Proxy roles, scriptable MIBs, asynchronous \ + operation (asyncio, twisted, asyncore) and multiple transports.\ +" +HOMEPAGE = "https://pypi.python.org/pypi/pysnmp" +SECTION = "devel/python" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=b15d29f500f748d1c2a15709769090a8" + +SRCNAME = "pysnmp" + +SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "6d1b514997326bed18f1ae1510f6b1c9" +SRC_URI[sha256sum] = "d5d1e59780126e963dd92e25993b783295734e71bef181f602e51f7393260441" + + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += "python-pycrypto \ + python-pyasn1 \ + python-pysmi \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc index 53504d0b3..5fe5dc21f 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a8d5a1d1c2d53025e2282c511033f6f7" FILESEXTRAPATHS_prepend := "${THISDIR}/python-requests:" -SRC_URI[md5sum] = "1bcd0e0977c3f8db1848ba0e2b7ab904" -SRC_URI[sha256sum] = "502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e" +SRC_URI[md5sum] = "ee28bee2de76e9198fc41e48f3a7dd47" +SRC_URI[sha256sum] = "11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.21.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.21.0.bb deleted file mode 100644 index 0d7a29f74..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.21.0.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit setuptools -require python-requests.inc - -RDEPENDS_${PN} += "${PYTHON_PN}-zlib" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.22.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.22.0.bb new file mode 100644 index 000000000..0d7a29f74 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.22.0.bb @@ -0,0 +1,4 @@ +inherit setuptools +require python-requests.inc + +RDEPENDS_${PN} += "${PYTHON_PN}-zlib" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc index 2ce6d1050..e8cb1ae6e 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc @@ -3,8 +3,8 @@ HOMEPAGE = "https://github.com/shazow/urllib3" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=65715c2eb961313d71b297dd5a04f85e" -SRC_URI[md5sum] = "1ebfbbec8bee21dbb686c009b37f4963" -SRC_URI[sha256sum] = "a53063d8b9210a7bdec15e7b272776b9d42b2fd6816401a0d43006ad2f9902db" +SRC_URI[md5sum] = "f09e95a5c42a7cc7ff7cb6a14c55fb69" +SRC_URI[sha256sum] = "dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232" RDEPENDS_${PN} += "\ ${PYTHON_PN}-certifi \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.2.bb deleted file mode 100644 index 6c81f1db9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools -require python-urllib3.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.3.bb new file mode 100644 index 000000000..6c81f1db9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.3.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require python-urllib3.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb deleted file mode 100644 index 0715d59f4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-babel.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.7.0.bb new file mode 100644 index 000000000..0715d59f4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.7.0.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-babel.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb deleted file mode 100644 index 76b2f6785..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-cachetools.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb new file mode 100644 index 000000000..76b2f6785 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-cachetools.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.6.1.bb deleted file mode 100644 index 58994ffff..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.6.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-cryptography-vectors.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.7.bb new file mode 100644 index 000000000..58994ffff --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.7.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-cryptography-vectors.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.6.1.bb deleted file mode 100644 index 195923343..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.6.1.bb +++ /dev/null @@ -1,8 +0,0 @@ -inherit pypi setuptools3 -require python-cryptography.inc - -LDSHARED += "-pthread" - -SRC_URI += " \ - file://run-ptest \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.7.bb new file mode 100644 index 000000000..195923343 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.7.bb @@ -0,0 +1,8 @@ +inherit pypi setuptools3 +require python-cryptography.inc + +LDSHARED += "-pthread" + +SRC_URI += " \ + file://run-ptest \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.10.bb new file mode 100644 index 000000000..2ce6bdbd6 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.10.bb @@ -0,0 +1,18 @@ +inherit setuptools3 +require python-cython.inc + +RDEPENDS_${PN} += "\ + python3-setuptools \ +" + +# running build_ext a second time during install fails, because Python +# would then attempt to import cythonized modules built for the target +# architecture. +DISTUTILS_INSTALL_ARGS += "--skip-build" + +do_install_append() { + # rename scripts that would conflict with the Python 2 build of Cython + mv ${D}${bindir}/cython ${D}${bindir}/cython3 + mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3 + mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3 +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.7.bb deleted file mode 100644 index 2ce6bdbd6..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.7.bb +++ /dev/null @@ -1,18 +0,0 @@ -inherit setuptools3 -require python-cython.inc - -RDEPENDS_${PN} += "\ - python3-setuptools \ -" - -# running build_ext a second time during install fails, because Python -# would then attempt to import cythonized modules built for the target -# architecture. -DISTUTILS_INSTALL_ARGS += "--skip-build" - -do_install_append() { - # rename scripts that would conflict with the Python 2 build of Cython - mv ${D}${bindir}/cython ${D}${bindir}/cython3 - mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3 - mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3 -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.3.bb deleted file mode 100644 index b95d7bae7..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.3.bb +++ /dev/null @@ -1,3 +0,0 @@ -inherit setuptools3 -require python-lxml.inc -CLEANBROKEN = "1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.4.bb new file mode 100644 index 000000000..b95d7bae7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.4.bb @@ -0,0 +1,3 @@ +inherit setuptools3 +require python-lxml.inc +CLEANBROKEN = "1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb deleted file mode 100644 index 578e38d3a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-obd.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb new file mode 100644 index 000000000..578e38d3a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-obd.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.2.bb deleted file mode 100644 index c1969ea65..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit pypi setuptools3 -require python-psutil.inc - -RDEPENDS_${PN} += "${PYTHON_PN}-netclient" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.3.bb new file mode 100644 index 000000000..c1969ea65 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.3.bb @@ -0,0 +1,4 @@ +inherit pypi setuptools3 +require python-psutil.inc + +RDEPENDS_${PN} += "${PYTHON_PN}-netclient" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.21.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.21.0.bb deleted file mode 100644 index 0a2410f85..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.21.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-requests.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.22.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.22.0.bb new file mode 100644 index 000000000..0a2410f85 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.22.0.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-requests.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.2.bb deleted file mode 100644 index 19eb7025b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-urllib3.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.3.bb new file mode 100644 index 000000000..19eb7025b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.3.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-urllib3.inc diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb index 741074907..a699f1c7e 100644 --- a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb +++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb @@ -1,5 +1,5 @@ require python-pywbem.inc -inherit setuptools +inherit setuptools update-alternatives DEPENDS += " \ ${PYTHON_PN}-m2crypto-native \ @@ -11,3 +11,10 @@ RDEPENDS_${PN}_class-target += "\ ${PYTHON_PN}-m2crypto \ ${PYTHON_PN}-subprocess \ " + +ALTERNATIVE_${PN} = "mof_compiler pywbemcli wbemcli" +ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler" +ALTERNATIVE_TARGET[pywbemcli] = "${bindir}/pywbemcli" +ALTERNATIVE_TARGET[wbemcli] = "${bindir}/wbemcli" + +ALTERNATIVE_PRIORITY = "30" diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb index 6a35a8744..abfb8d920 100644 --- a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb +++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb @@ -1,2 +1,9 @@ require python-pywbem.inc -inherit setuptools3 +inherit setuptools3 update-alternatives + +ALTERNATIVE_${PN} = "mof_compiler pywbemcli wbemcli" +ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler" +ALTERNATIVE_TARGET[pywbemcli] = "${bindir}/pywbemcli" +ALTERNATIVE_TARGET[wbemcli] = "${bindir}/wbemcli" + +ALTERNATIVE_PRIORITY = "60" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb index 4cdf36ca5..da96086e4 100644 --- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb @@ -181,7 +181,8 @@ PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \ ${sysconfdir}/${BPN}/magic \ - ${sysconfdir}/${BPN}/mime.types" + ${sysconfdir}/${BPN}/mime.types \ + ${sysconfdir}/${BPN}/extra/*" # We override here rather than append so that .so links are # included in the runtime package rather than here (-dev) diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service index c6fc0495f..9a6ca9651 100644 --- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service @@ -8,7 +8,7 @@ PIDFile=/run/nginx/nginx.pid ExecStartPre=@SBINDIR@/nginx -t ExecStart=@SBINDIR@/nginx ExecReload=@SBINDIR@/nginx -s reload -ExecStop=@BINDIR@/kill -s QUIT $MAINPID +ExecStop=@BASE_BINDIR@/kill -s QUIT $MAINPID PrivateTmp=true [Install] diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc index 29e7efc14..e202e8563 100644 --- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc @@ -40,6 +40,7 @@ PACKAGECONFIG ??= "ssl" PACKAGECONFIG[http2] = "--with-http_v2_module,," PACKAGECONFIG[ssl] = "--with-http_ssl_module,,openssl" +PACKAGECONFIG[http-auth-request] = "--with-http_auth_request_module,," do_configure () { if [ "${SITEINFO_BITS}" = "64" ]; then @@ -134,7 +135,7 @@ do_install () { sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ -e 's,@SBINDIR@,${sbindir},g' \ - -e 's,@BINDIR@,${bindir},g' \ + -e 's,@BASE_BINDIR@,${base_bindir},g' \ ${D}${systemd_unitdir}/system/nginx.service fi } diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb deleted file mode 100644 index d0613ffeb..000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -require nginx.inc - -# 1.14.x branch is the current stable branch, the recommended default -# 1.15.x is the current mainline branches containing all new features -DEFAULT_PREFERENCE = "-1" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=3691402cc54ce09f800ca348634a2dfe" - -SRC_URI[md5sum] = "239b829a13cea1d244c1044e830bd9c2" -SRC_URI[sha256sum] = "002d9f6154e331886a2dd4e6065863c9c1cf8291ae97a1255308572c02be9797" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb deleted file mode 100644 index 5e6dc33e9..000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb +++ /dev/null @@ -1,6 +0,0 @@ -require nginx.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=3691402cc54ce09f800ca348634a2dfe" - -SRC_URI[md5sum] = "719b2e3d416f111fecc9db6625553658" -SRC_URI[sha256sum] = "8f22ea2f6c0e0a221b6ddc02b6428a3ff708e2ad55f9361102b1c9f4142bdf93" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb new file mode 100644 index 000000000..cad0db6fc --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb @@ -0,0 +1,10 @@ +require nginx.inc + +# 1.16.x branch is the current stable branch, the recommended default +# 1.17.x is the current mainline branches containing all new features +DEFAULT_PREFERENCE = "-1" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=52e384aaac868b755b93ad5535e2d075" + +SRC_URI[md5sum] = "97207283f30cd90cdba638c3ea30323a" +SRC_URI[sha256sum] = "4fd376bad78797e7f18094a00f0f1088259326436b537eb5af69b01be2ca1345" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb new file mode 100644 index 000000000..8774a87ff --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb @@ -0,0 +1,6 @@ +require nginx.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=52e384aaac868b755b93ad5535e2d075" + +SRC_URI[md5sum] = "56767fd62302508295b31adc48b99a59" +SRC_URI[sha256sum] = "e21b5d06cd53e86afb94f0b3678e0abb0c0f011433471fa3d895cefa65ae0fab" diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.5.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.5.bb deleted file mode 100644 index 99678e654..000000000 --- a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.5.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Web-based MySQL administration interface" -HOMEPAGE = "http://www.phpmyadmin.net" -# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT -LICENSE = "GPLv2 & LGPLv3 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c \ - file://js/vendor/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \ -" - -SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \ - file://apache.conf \ -" - -SRC_URI[md5sum] = "e3737a28fff076003e56a83fe1920d04" -SRC_URI[sha256sum] = "d7ab5df4e464d7ba17bf2a42da7d7f26dad45c34bf321ac8ae7d2ed748413913" - -UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/" -UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P\d+(\.\d+)+)-all-languages.tar.xz" - -S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages" - -inherit allarch - -do_install() { - install -d ${D}${datadir}/${BPN} - cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN} - chown -R root:root ${D}${datadir}/${BPN} - # Don't install patches to target - rm -rf ${D}${datadir}/${BPN}/patches - - install -d ${D}${sysconfdir}/apache2/conf.d - install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf - - # Remove a few scripts that explicitly require bash (!) - rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh -} - -FILES_${PN} = "${datadir}/${BPN} \ - ${sysconfdir}/apache2/conf.d" - -RDEPENDS_${PN} += "bash php-cli" diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb new file mode 100644 index 000000000..a2fbbefee --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb @@ -0,0 +1,41 @@ +SUMMARY = "Web-based MySQL administration interface" +HOMEPAGE = "http://www.phpmyadmin.net" +# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT +LICENSE = "GPLv2 & LGPLv3 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c \ + file://js/vendor/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \ +" + +SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \ + file://apache.conf \ +" + +SRC_URI[md5sum] = "45629bb2ffe0f3501a0d3b8f73d6371c" +SRC_URI[sha256sum] = "e3de59f913c095433c8f6466f8826dfde09b097cfac78b665ddef9ddc03b0ed6" + +UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/" +UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P\d+(\.\d+)+)-all-languages.tar.xz" + +S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/${BPN} + cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN} + chown -R root:root ${D}${datadir}/${BPN} + # Don't install patches to target + rm -rf ${D}${datadir}/${BPN}/patches + + install -d ${D}${sysconfdir}/apache2/conf.d + install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf + + # Remove a few scripts that explicitly require bash (!) + rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh +} + +FILES_${PN} = "${datadir}/${BPN} \ + ${sysconfdir}/apache2/conf.d" + +RDEPENDS_${PN} += "bash php-cli" diff --git a/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.bb b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.bb deleted file mode 100644 index 7be62cb39..000000000 --- a/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Debugging and profiling extension for PHP" -LICENSE = "Xdebug" -LIC_FILES_CHKSUM = "file://LICENSE;md5=92d94a330d34ee6edc2638450736f119" - -DEPENDS = "php re2c-native" - -SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz" - -SRC_URI[md5sum] = "e8cabe003d6990b157d0d8caee374844" -SRC_URI[sha256sum] = "5aa6d1772937e9f11b91ad8ced586aa0e16281dc178c405ac380d45d4731f8b0" - -UPSTREAM_CHECK_REGEX = "xdebug-(?P\d+(\.\d+)+)\.tgz" - -inherit autotools - -EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config" - -do_configure() { - cd ${S} - ${STAGING_BINDIR_CROSS}/phpize - cd ${B} - - # Running autoreconf as autotools_do_configure would do here - # breaks the libtool configuration resulting in a failure later - # in do_compile. It's possible this may be fixable, however the - # easiest course of action for the moment is to avoid doing that. - oe_runconf -} - -do_install() { - oe_runmake install INSTALL_ROOT=${D} -} - -FILES_${PN} += "${libdir}/php*/extensions/*/*.so" -FILES_${PN}-dbg += "${libdir}/php*/extensions/*/.debug" diff --git a/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.2.bb b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.2.bb new file mode 100644 index 000000000..32d52a6f6 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.2.bb @@ -0,0 +1,35 @@ +SUMMARY = "Debugging and profiling extension for PHP" +LICENSE = "Xdebug" +LIC_FILES_CHKSUM = "file://LICENSE;md5=92d94a330d34ee6edc2638450736f119" + +DEPENDS = "php re2c-native" + +SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz" + +SRC_URI[md5sum] = "5d1a8ca3101df93938d283933f256493" +SRC_URI[sha256sum] = "b0f3283aa185c23fcd0137c3aaa58554d330995ef7a3421e983e8d018b05a4a6" + +UPSTREAM_CHECK_REGEX = "xdebug-(?P\d+(\.\d+)+)\.tgz" + +inherit autotools + +EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config" + +do_configure() { + cd ${S} + ${STAGING_BINDIR_CROSS}/phpize + cd ${B} + + # Running autoreconf as autotools_do_configure would do here + # breaks the libtool configuration resulting in a failure later + # in do_compile. It's possible this may be fixable, however the + # easiest course of action for the moment is to avoid doing that. + oe_runconf +} + +do_install() { + oe_runmake install INSTALL_ROOT=${D} +} + +FILES_${PN} += "${libdir}/php*/extensions/*/*.so" +FILES_${PN}-dbg += "${libdir}/php*/extensions/*/.debug" diff --git a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch deleted file mode 100644 index eec9dd7ce..000000000 --- a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch +++ /dev/null @@ -1,18 +0,0 @@ -Upstream-Status: Pending - -use automake options "foreign" to set the strictness as appropriate - -Signed-off-by: Yang Haibo ---- fcgi-ori/configure.in 2014-08-05 14:58:35.000000000 +0800 -+++ fcgi-2.4.0/configure.in 2014-08-05 14:59:08.000000000 +0800 -@@ -4,8 +4,8 @@ - dnl generate the file "configure", which is run during the build - dnl to configure the system for the local environment. - --AC_INIT --AM_INIT_AUTOMAKE(fcgi, 2.4.1-SNAP-0910052249) -+AC_INIT([fcgi], [2.4.1-SNAP-0910052249]) -+AM_INIT_AUTOMAKE([foreign]) - - AM_CONFIG_HEADER(fcgi_config.h) - diff --git a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb index a17e70f09..6df58ad3c 100644 --- a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb +++ b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb @@ -3,12 +3,11 @@ HOMEPAGE = "http://www.fastcgi.com" LICENSE = "OML" LIC_FILES_CHKSUM = "file://LICENSE.TERMS;md5=e3aacac3a647af6e7e31f181cda0a06a" -SRCREV = "68100b5b8cb26f04b784778ed19ccef4fe389f57" -PV = "2.4.1+git${SRCPV}" +SRCREV = "382aa2b0d53a87c27f2f647dfaf670375ba0b85f" +PV = "2.4.2" SRC_URI = "git://github.com/FastCGI-Archives/fcgi2.git;protocol=https \ - file://add_foreign_to_AM_INIT_AUTOMAKE.patch \ -" + " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch new file mode 100644 index 000000000..f726064e2 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch @@ -0,0 +1,60 @@ +It adds '-I$includedir' to CPPFLAGS and adds '-L$libdir' to LDFLAGS in +configure.ac which causes 'configure-unsafe' QA error. Don't add them for cross +compile to avoid the QA issues. + +Upstream-Status: Inappropriate [cross compile specific] + +Signed-off-by: Kai Kang + +diff --git a/configure.ac b/configure.ac +index f0ec537..05c393d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -230,9 +230,9 @@ dnl --------------------------------------------------------------------------- + # + AC_DEFUN([AC_CHECK_X_HEADER], [ + ac_save_CPPFLAGS="$CPPFLAGS" +- if test \! -z "$includedir" ; then +- CPPFLAGS="$CPPFLAGS -I$includedir" +- fi ++# if test \! -z "$includedir" ; then ++# CPPFLAGS="$CPPFLAGS -I$includedir" ++# fi + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + AC_CHECK_HEADER([$1],[$2],[$3],[$4]) + CPPFLAGS="$ac_save_CPPFLAGS"]) +@@ -241,9 +241,9 @@ AC_DEFUN([AC_CHECK_X_HEADER], [ + # + AC_DEFUN([AC_TRY_X_COMPILE], [ + ac_save_CPPFLAGS="$CPPFLAGS" +- if test \! -z "$includedir" ; then +- CPPFLAGS="$CPPFLAGS -I$includedir" +- fi ++# if test \! -z "$includedir" ; then ++# CPPFLAGS="$CPPFLAGS -I$includedir" ++# fi + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + AC_TRY_COMPILE([$1], [$2], [$3], [$4]) + CPPFLAGS="$ac_save_CPPFLAGS"]) +@@ -257,15 +257,15 @@ AC_DEFUN([AC_CHECK_X_LIB], [ + ac_save_LDFLAGS="$LDFLAGS" + # ac_save_LIBS="$LIBS" + +- if test \! -z "$includedir" ; then +- CPPFLAGS="$CPPFLAGS -I$includedir" +- fi ++# if test \! -z "$includedir" ; then ++# CPPFLAGS="$CPPFLAGS -I$includedir" ++# fi + # note: $X_CFLAGS includes $x_includes + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + +- if test \! -z "$libdir" ; then +- LDFLAGS="$LDFLAGS -L$libdir" +- fi ++# if test \! -z "$libdir" ; then ++# LDFLAGS="$LDFLAGS -L$libdir" ++# fi + # note: $X_LIBS includes $x_libraries + LDFLAGS="$LDFLAGS $ALL_X_LIBS" + 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 new file mode 100644 index 000000000..fb2be6609 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.4.bb @@ -0,0 +1,19 @@ +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-graphics/lxdm/lxdm/gdmflexiserver b/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm/gdmflexiserver new file mode 100644 index 000000000..4be65c0c8 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm/gdmflexiserver @@ -0,0 +1,3 @@ +#!/bin/sh + +/usr/sbin/lxdm -c USER_SWITCH diff --git a/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm_%.bbappend b/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm_%.bbappend new file mode 100644 index 000000000..4a799a98a --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm_%.bbappend @@ -0,0 +1,7 @@ +FILESEXTRAPATHS_append := "${THISDIR}/${BPN}:" + +SRC_URI += "file://gdmflexiserver" + +do_install_append () { + install -D -m 0755 ${WORKDIR}/gdmflexiserver ${D}${bindir}/gdmflexiserver +} diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb deleted file mode 100644 index df4b25c52..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Xfce4 Widget library and X Window System interaction" -SECTION = "x11/libs" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475" -DEPENDS = "perl-native glib-2.0 gtk+ gtk+3 intltool-native libxfce4util xfconf xfce4-dev-tools virtual/libx11 libsm libice" - -inherit xfce autotools gettext gtk-doc gobject-introspection distro_features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI += " \ - file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \ -" -SRC_URI[md5sum] = "b407cdab73ebd5c33c90db6bdb3ec5ff" -SRC_URI[sha256sum] = "d63fcdb8e5acb6f0d26075ea17d320dbfbec2058567cd67cb99824c7402a1f79" - -EXTRA_OECONF += "--with-vendor-info=${DISTRO}" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[gladeui] = "--enable-gladeui,--disable-gladeui,glade3" -PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade" -PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" - -PACKAGES =+ "${PN}-gtk2 ${PN}-gtk3" -FILES_${PN}-gtk2 += "${libdir}/libxfce4ui-1.so.* ${libdir}/libxfce4kbd-private-2.so.*" -FILES_${PN}-gtk3 += "${libdir}/libxfce4ui-2.so.* ${libdir}/libxfce4kbd-private-3.so.*" - -PACKAGES += "${PN}-glade" -FILES_${PN}-glade = " \ - ${libdir}/glade \ - ${libdir}/glade3 \ - ${datadir}/glade \ - ${datadir}/glade3 \ -" - -RDEPENDS_${PN}-gtk2 = "${PN}" -RDEPENDS_${PN}-gtk3 = "${PN}" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb new file mode 100644 index 000000000..2bea5f0f6 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb @@ -0,0 +1,37 @@ +SUMMARY = "Xfce4 Widget library and X Window System interaction" +SECTION = "x11/libs" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475" +DEPENDS = "perl-native glib-2.0 gtk+ gtk+3 intltool-native libxfce4util xfconf xfce4-dev-tools virtual/libx11 libsm libice" + +inherit xfce autotools gettext gtk-doc gobject-introspection distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI += " \ + file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \ +" +SRC_URI[md5sum] = "692520f2a2cccaaafb0357c3dcbb015b" +SRC_URI[sha256sum] = "3c38b065796a1cb2c2f2e9a28edaa6b37a3728c1c0b7a4297af9ecd82a8ab66d" + +EXTRA_OECONF += "--with-vendor-info=${DISTRO}" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gladeui] = "--enable-gladeui,--disable-gladeui,glade3" +PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade" +PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" + +PACKAGES =+ "${PN}-gtk2 ${PN}-gtk3" +FILES_${PN}-gtk2 += "${libdir}/libxfce4ui-1.so.* ${libdir}/libxfce4kbd-private-2.so.*" +FILES_${PN}-gtk3 += "${libdir}/libxfce4ui-2.so.* ${libdir}/libxfce4kbd-private-3.so.*" + +PACKAGES += "${PN}-glade" +FILES_${PN}-glade = " \ + ${libdir}/glade \ + ${libdir}/glade3 \ + ${datadir}/glade \ + ${datadir}/glade3 \ +" + +RDEPENDS_${PN}-gtk2 = "${PN}" +RDEPENDS_${PN}-gtk3 = "${PN}" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb deleted file mode 100644 index 21cc1dbfc..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Basic utility library for Xfce4" -SECTION = "x11/libs" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475" -DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0" - -inherit xfce gtk-doc gobject-introspection - -SRC_URI[md5sum] = "e3e8b9dd7e12028d3e642345b85d6ef1" -SRC_URI[sha256sum] = "c58275ff650080369e742695862c811cb78402c85f243ea0b5aec186027be361" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb new file mode 100644 index 000000000..89a385989 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb @@ -0,0 +1,10 @@ +SUMMARY = "Basic utility library for Xfce4" +SECTION = "x11/libs" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475" +DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0" + +inherit xfce gtk-doc gobject-introspection + +SRC_URI[md5sum] = "f39185afe5f612bd2c9b3dfbaf50b4d2" +SRC_URI[sha256sum] = "724b523a4a9ec8cada727950ab2173be30f256fa332a891ccd28b46f4b91b67e" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb index b412c2726..62b89fd47 100644 --- a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb +++ b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb @@ -62,6 +62,7 @@ RRECOMMENDS_${PN} = " \ thunar-archive-plugin \ \ xfce4-appfinder \ + xfce4-screensaver \ xfce4-screenshooter \ xfce4-power-manager \ ristretto \ diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.bb deleted file mode 100644 index 712453a39..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Automatic management of removable drives and media for thunar" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "exo glib-2.0 libxfce4ui libxfce4util xfconf libnotify libgudev" - -inherit xfce distro_features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[md5sum] = "4992a18f422918c33b562d6e66045754" -SRC_URI[sha256sum] = "cd87291a427e8a561c566dca3aa7e93b56fdce4caefc755dde0f59198f6db359" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify" - -RDEPENDS_${PN} = "eject" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb new file mode 100644 index 000000000..3139625ac --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb @@ -0,0 +1,17 @@ +SUMMARY = "Automatic management of removable drives and media for thunar" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "exo glib-2.0 libxfce4ui libxfce4util xfconf libnotify libgudev" + +inherit xfce distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "af216d5b60820e7cd39aae1b5ad869a3" +SRC_URI[sha256sum] = "b944b4299b73d2ca79184922dfea49782e4849f5960e209def71ac700a92ff27" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify" + +RDEPENDS_${PN} = "eject" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb deleted file mode 100644 index 57667102c..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "File manager for the Xfce Desktop Environment" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "exo glib-2.0 gtk+3 gdk-pixbuf libxfce4util libxfce4ui xfconf libsm dbus-glib startup-notification libnotify xfce4-panel udev" - -inherit xfce gobject-introspection distro_features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2" -SRC_URI[md5sum] = "6a5d0f4ddcc653c4791e555f0dc63828" -SRC_URI[sha256sum] = "c2bf51da8ddec8f642d67818184ada2ca6e143151e6a45563991db73387a93b0" - -S = "${WORKDIR}/Thunar-${PV}/" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre" - -FILES_${PN} += " \ - ${libdir}/thunarx-3/* \ - ${libdir}/xfce4/panel/plugins/* \ - ${libdir}/Thunar/[Tt]hunar* \ - ${systemd_user_unitdir} \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/polkit-1 \ - ${datadir}/Thunar \ - ${datadir}/xfce4/panel/plugins/* \ -" - -RRECOMMENDS_${PN} = "gvfs gvfsd-trash" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb new file mode 100644 index 000000000..4375ce065 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb @@ -0,0 +1,32 @@ +SUMMARY = "File manager for the Xfce Desktop Environment" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "exo glib-2.0 gtk+3 gdk-pixbuf libxfce4util libxfce4ui xfconf libsm dbus-glib startup-notification libnotify xfce4-panel udev" + +inherit xfce gobject-introspection distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2" +SRC_URI[md5sum] = "3cb40548d7c642176eab8b97a5ba6d29" +SRC_URI[sha256sum] = "c0e5fb828e3d036941dfeb7ed7f9f2b17b729fc044c2bf7c4218c1c91b38ef2a" + +S = "${WORKDIR}/Thunar-${PV}/" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre" + +FILES_${PN} += " \ + ${libdir}/thunarx-3/* \ + ${libdir}/xfce4/panel/plugins/* \ + ${libdir}/Thunar/[Tt]hunar* \ + ${systemd_user_unitdir} \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/polkit-1 \ + ${datadir}/Thunar \ + ${datadir}/xfce4/panel/plugins/* \ +" + +RRECOMMENDS_${PN} = "gvfs gvfsd-trash" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb deleted file mode 100644 index e9f6e28b4..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION="Xfce4 Application Finder" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS="glib-2.0 gtk+3 libxfce4util libxfce4ui garcon dbus-glib xfconf" - -inherit xfce distro_features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[md5sum] = "8b4c2ab413748fcd0cc51444418d5af3" -SRC_URI[sha256sum] = "fd774acbcab08dbb88bcbf28eecf73ec9f55b13e1f2058021b63f703c4989d97" - -FILES_${PN} += "${datadir}/metainfo" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb new file mode 100644 index 000000000..309559646 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb @@ -0,0 +1,14 @@ +DESCRIPTION="Xfce4 Application Finder" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS="glib-2.0 gtk+3 libxfce4util libxfce4ui garcon dbus-glib xfconf" + +inherit xfce distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "c2069a14c85c8a3e537b2d4c552d36d2" +SRC_URI[sha256sum] = "d738082a5fb01e42ea6333803012fd80258061f444afbbbd7b05a0f620a32ba6" + +FILES_${PN} += "${datadir}/metainfo" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb deleted file mode 100644 index 18e054c9d..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Xfce4 Panel" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" -DEPENDS = "libxfce4util garcon libxfce4ui xfconf exo gtk+ gtk+3 dbus cairo virtual/libx11 libxml2 libwnck3 vala-native" - -inherit xfce gtk-doc gobject-introspection distro_features_check gtk-icon-cache remove-libtool - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[md5sum] = "c0f132fed2110d37f351aadc9e80a034" -SRC_URI[sha256sum] = "36ffd26ef7f5867c01ba310475b4358ff0e588cfd5599a266f0037a6c20052a1" -SRC_URI += " \ - file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \ -" - -python populate_packages_prepend() { - plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/') - plugin_name = d.expand('${PN}-plugin-%s') - do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name, - '${PN} plugin for %s', extra_depends='', prepend=True, - aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop', - '${sysconfdir}/xdg/xfce/panel/%s-*', - '${datadir}/icons/hicolor/48x48/apps/*-%s.png', - '${bindir}/*%s*']) -} - -PACKAGES_DYNAMIC += "^${PN}-plugin-.*" - -PACKAGES =+ "${PN}-gtk3" - -FILES_${PN} += "${libdir}/xfce4/panel/migrate \ - ${libdir}/xfce4/panel/wrapper-1.0" - -FILES_${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" - -FILES_${PN}-gtk3 = " \ - ${libdir}/libxfce4panel-2.0${SOLIBS} \ - ${libdir}/xfce4/panel/wrapper-2.0 \ -" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb new file mode 100644 index 000000000..a4b200a7e --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb @@ -0,0 +1,40 @@ +SUMMARY = "Xfce4 Panel" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" +DEPENDS = "libxfce4util garcon libxfce4ui xfconf exo gtk+ gtk+3 dbus cairo virtual/libx11 libxml2 libwnck3 vala-native" + +inherit xfce gtk-doc gobject-introspection distro_features_check gtk-icon-cache remove-libtool + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "376e360fb87095edaea7df8ca34fe6a7" +SRC_URI[sha256sum] = "0d05b6dd8c91c154a364a3e31583c5f423c33e26d44d43cc409165f7d578ca15" +SRC_URI += " \ + file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \ +" + +python populate_packages_prepend() { + plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/') + plugin_name = d.expand('${PN}-plugin-%s') + do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name, + '${PN} plugin for %s', extra_depends='', prepend=True, + aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop', + '${sysconfdir}/xdg/xfce/panel/%s-*', + '${datadir}/icons/hicolor/48x48/apps/*-%s.png', + '${bindir}/*%s*']) +} + +PACKAGES_DYNAMIC += "^${PN}-plugin-.*" + +PACKAGES =+ "${PN}-gtk3" + +FILES_${PN} += "${libdir}/xfce4/panel/migrate \ + ${libdir}/xfce4/panel/wrapper-1.0" + +FILES_${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" + +FILES_${PN}-gtk3 = " \ + ${libdir}/libxfce4panel-2.0${SOLIBS} \ + ${libdir}/xfce4/panel/wrapper-2.0 \ +" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb deleted file mode 100644 index 1cdcb4160..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "Power manager for the Xfce desktop environment" -HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-power-manager" -SECTION = "x11" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -inherit xfce distro_features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -DEPENDS += "gtk+3 glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \ - libxrandr virtual/libx11 libxext xfce4-panel upower libxscrnsaver" - -SRC_URI[md5sum] = "17f0e6464ad6b3bc6a657f595bf91430" -SRC_URI[sha256sum] = "1ea825452343b895566068018b6d5078608f8f46ce8075ba6bbb4b848f48656b" - -EXTRA_OECONF = " \ - --enable-network-manager \ - --enable-panel-plugins \ -" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}" -PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit" - -PACKAGES += "xfce4-powermanager-plugin" - -FILES_${PN} += " \ - ${datadir}/polkit-1 \ - ${datadir}/appdata \ -" - -FILES_xfce4-powermanager-plugin = " \ - ${libdir}/xfce4 \ - ${datadir}/xfce4 \ -" - -RDEPENDS_xfce4-powermanager-plugin = "${PN}" -RDEPENDS_${PN} = "networkmanager ${@bb.utils.contains('DISTRO_FEATURES','systemd','','consolekit',d)}" - -# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin -RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin" -RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin" -RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb new file mode 100644 index 000000000..0a44b1f5d --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb @@ -0,0 +1,44 @@ +SUMMARY = "Power manager for the Xfce desktop environment" +HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-power-manager" +SECTION = "x11" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +inherit xfce distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS += "gtk+3 glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \ + libxrandr virtual/libx11 libxext xfce4-panel upower libxscrnsaver" + +SRC_URI[md5sum] = "2a49be4eca78fb519984db5aae38e4ab" +SRC_URI[sha256sum] = "66ac34b33a2021b5af04c0181dfab6e6ee2bfab0ae07ed4527ca4552a66e1c01" + +EXTRA_OECONF = " \ + --enable-network-manager \ + --enable-panel-plugins \ +" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}" +PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit" + +PACKAGES += "xfce4-powermanager-plugin" + +FILES_${PN} += " \ + ${datadir}/polkit-1 \ + ${datadir}/metainfo \ +" + +FILES_xfce4-powermanager-plugin = " \ + ${libdir}/xfce4 \ + ${datadir}/xfce4 \ +" + +RDEPENDS_xfce4-powermanager-plugin = "${PN}" +RDEPENDS_${PN} = "networkmanager ${@bb.utils.contains('DISTRO_FEATURES','systemd','','consolekit',d)}" + +# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin +RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin" +RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin" +RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb deleted file mode 100644 index 3b9525fff..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88" -DEPENDS = "virtual/libx11 libsm libxfce4util libxfce4ui gtk+ libwnck3 dbus dbus-glib xfconf polkit" -RDEPENDS_${PN} = "netbase xinit dbus-x11 iceauth upower" - -inherit xfce update-alternatives distro_features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI += " \ - file://0001-configure.in-hard-code-path-to-iceauth.patch \ -" -SRC_URI[md5sum] = "a47988a2c871a411c19e3af1eefe591e" -SRC_URI[sha256sum] = "c789f0f8234e06f5266f0c6ccdbdcc3c085e8d9eea06a0eafe8f7cfc4fe23af4" - -ALTERNATIVE_${PN} = "x-session-manager" -ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session" -ALTERNATIVE_PRIORITY_${PN} = "100" - -FILES_${PN} += " \ - ${libdir}/xfce4/*/*/*.so \ - ${libdir}/xfce4/session/*-*-* \ - ${datadir}/xsessions \ - ${datadir}/themes/Default/balou/* \ - ${datadir}/polkit-1 \ -" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb new file mode 100644 index 000000000..dc44c4b0b --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb @@ -0,0 +1,48 @@ +SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88" + +DEPENDS = " \ + dbus \ + dbus-glib \ + gtk+ \ + libwnck3 \ + libsm \ + libxfce4ui \ + libxfce4util \ + polkit \ + virtual/libx11 \ + xfconf \ +" + +inherit xfce update-alternatives distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI += " \ + file://0001-configure.in-hard-code-path-to-iceauth.patch \ +" +SRC_URI[md5sum] = "1306b6166f47cdf6e0c61259abbb621f" +SRC_URI[sha256sum] = "c0be0c7e602c962d0e8fca63bd86165e60313d07bfb72cf2c3f99ab53e2a22a1" + +ALTERNATIVE_${PN} = "x-session-manager" +ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session" +ALTERNATIVE_PRIORITY_${PN} = "100" + +FILES_${PN} += " \ + ${libdir}/xfce4/*/*/*.so \ + ${libdir}/xfce4/session/*-*-* \ + ${datadir}/xsessions \ + ${datadir}/themes/Default/balou/* \ + ${datadir}/polkit-1 \ +" + +RDEPENDS_${PN} = " \ + dbus-x11 \ + iceauth \ + netbase \ + upower \ + xinit \ + xrdb \ +" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch index 67df05a79..0463d2ebd 100644 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch @@ -9,6 +9,14 @@ Content-Transfer-Encoding: 8bit Upstram status: Inappropriate [configuration] Signed-off-by: Andreas Müller + +Theme Xfce doesn't work as expected. For example, no layout in start +menu and applications' menu bar. And GtkColorButton is blank in config +tab page from xfce4-terminal -> Edit -> Preference -> Colors. + +So use Adwaita as default theme instead. + +Signed-off-by: Kai Kang --- xfsettingsd/xsettings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) @@ -23,7 +31,7 @@ index 65ba1ee..9efb3cd 100644 - - -+ ++ + diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb deleted file mode 100644 index ded3c44e5..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Xfce configuration daemon and utilities" -SECTION = "x11/wm" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -DEPENDS = "dbus-glib libxfce4util perl intltool-native xfce4-dev-tools-native" - -inherit xfce gtk-doc - -EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl" - -SRC_URI[md5sum] = "da19df12dbc494c8a4da3974e376d639" -SRC_URI[sha256sum] = "d1a3d442dae188b5a7380b5815377e5488578cdafb03ae363e9426e3b01185df" - -FILES_${PN} += "${libdir}/xfce4/xfconf/xfconfd \ - ${libdir}/gio/modules/libxfconfgsettingsbackend.so \ - ${datadir}/dbus-1/services/org.xfce.Xfconf.service" - -FILES_${PN}-dev += "${libdir}/gio/modules/libxfconfgsettingsbackend.la" - -PACKAGECONFIG[gsettings-backend] = "--enable-gsettings-backend,--disable-gsettings-backend," diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb new file mode 100644 index 000000000..9f08f74ed --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb @@ -0,0 +1,20 @@ +SUMMARY = "Xfce configuration daemon and utilities" +SECTION = "x11/wm" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" +DEPENDS = "dbus-glib libxfce4util perl intltool-native xfce4-dev-tools-native" + +inherit xfce gtk-doc + +EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl" + +SRC_URI[md5sum] = "ea4c070c4ed8387e6435b56d0e871559" +SRC_URI[sha256sum] = "5deb13fc48a4116f5ebdee5c21d0fd3deb85bec2f69602beb3c3adb4f85e5bde" + +FILES_${PN} += "${libdir}/xfce4/xfconf/xfconfd \ + ${libdir}/gio/modules/libxfconfgsettingsbackend.so \ + ${datadir}/dbus-1/services/org.xfce.Xfconf.service" + +FILES_${PN}-dev += "${libdir}/gio/modules/libxfconfgsettingsbackend.la" + +PACKAGECONFIG[gsettings-backend] = "--enable-gsettings-backend,--disable-gsettings-backend," diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb deleted file mode 100644 index 2c70a9c31..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Xfce4 Desktop Manager" -SECTION = "x11/base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "libxfce4util libxfce4ui libwnck xfconf dbus-glib dbus-glib-native thunar garcon exo" - -inherit xfce distro_features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[md5sum] = "f08944f1b69ce1c6e1fbb9d7f4cb1da7" -SRC_URI[sha256sum] = "80f7f28ef17638fe1cf4481db694731c208785a56b6c840005202f9c2db238f5" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify" - -FILES_${PN} += "${datadir}/backgrounds" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb new file mode 100644 index 000000000..f02a6bffe --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb @@ -0,0 +1,17 @@ +SUMMARY = "Xfce4 Desktop Manager" +SECTION = "x11/base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "libxfce4util libxfce4ui libwnck xfconf dbus-glib dbus-glib-native thunar garcon exo" + +inherit xfce distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "d1174af12148141a07b62cc051c43c84" +SRC_URI[sha256sum] = "f4f7fa5162512971c25066eb04ef78f0d075656da79b6f7425ffb619a5119ca0" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify" + +FILES_${PN} += "${datadir}/backgrounds" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb deleted file mode 100644 index 64ad9f64e..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb +++ /dev/null @@ -1,38 +0,0 @@ -DESCRIPTION="Xfce4 Window Manager" -SECTION = "x11/wm" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855" -DEPENDS = "virtual/libx11 libxfce4util libxfce4ui xfconf libwnck3 dbus-glib libxinerama exo-native" - -inherit xfce update-alternatives distro_features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[md5sum] = "1a78bcc2100c03f6fea0dbce0ca813cf" -SRC_URI[sha256sum] = "75ebc20d313cff4905e76fc320254c30461dbfa985461b8e75dca04770cedf12" - -PACKAGECONFIG ?= " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'epoxy', '', d)} \ - xpresent \ - startup-notification \ -" - -PACKAGECONFIG[epoxy] = "--enable-epoxy,--disable-epoxy,libepoxy" -PACKAGECONFIG[xpresent] = "--enable-xpresent,--disable-xpresent,libxpresent" -PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" - -python populate_packages_prepend () { - themedir = d.expand('${datadir}/themes') - do_split_packages(d, themedir, '^(.*)', 'xfwm4-theme-%s', 'XFWM4 theme %s', allow_dirs=True) -} - -PACKAGES_DYNAMIC += "^xfwm4-theme-.*" - -ALTERNATIVE_${PN} = "x-window-manager" -ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/xfwm4" -ALTERNATIVE_PRIORITY[x-window-manager] = "30" - -RDEPENDS_${PN} = "xfwm4-theme-default" -FILES_${PN} += "${libdir}/xfce4/xfwm4/helper-dialog \ - ${datadir}/xfwm4/defaults \ -" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb new file mode 100644 index 000000000..6075977f2 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb @@ -0,0 +1,38 @@ +DESCRIPTION="Xfce4 Window Manager" +SECTION = "x11/wm" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855" +DEPENDS = "virtual/libx11 libxfce4util libxfce4ui xfconf libwnck3 dbus-glib libxinerama exo-native" + +inherit xfce update-alternatives distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "aee4a8375beeae09715e77479610ff02" +SRC_URI[sha256sum] = "7be8a63e92077e42e6cc064a1dfdae608ab99fdc730adbd5200802dbdd86d5a9" + +PACKAGECONFIG ?= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'epoxy', '', d)} \ + xpresent \ + startup-notification \ +" + +PACKAGECONFIG[epoxy] = "--enable-epoxy,--disable-epoxy,libepoxy" +PACKAGECONFIG[xpresent] = "--enable-xpresent,--disable-xpresent,libxpresent" +PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" + +python populate_packages_prepend () { + themedir = d.expand('${datadir}/themes') + do_split_packages(d, themedir, '^(.*)', 'xfwm4-theme-%s', 'XFWM4 theme %s', allow_dirs=True) +} + +PACKAGES_DYNAMIC += "^xfwm4-theme-.*" + +ALTERNATIVE_${PN} = "x-window-manager" +ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/xfwm4" +ALTERNATIVE_PRIORITY[x-window-manager] = "30" + +RDEPENDS_${PN} = "xfwm4-theme-default" +FILES_${PN} += "${libdir}/xfce4/xfwm4/helper-dialog \ + ${datadir}/xfwm4/defaults \ +" diff --git a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass index 538803d8e..6cbee8b37 100644 --- a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass +++ b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass @@ -143,7 +143,7 @@ IMAGE_CMD_rpi-sdimg () { fi fi - if [ -n ${FATPAYLOAD} ] ; then + if [ -n "${FATPAYLOAD}" ] ; then echo "Copying payload into VFAT" for entry in ${FATPAYLOAD} ; do # add the || true to stop aborting on vfat issues like not supporting .~lock files diff --git a/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc b/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc index a5fe6d707..9983b61a6 100644 --- a/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc +++ b/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc @@ -1,3 +1,3 @@ # RaspberryPi BSP default versions -PREFERRED_VERSION_linux-raspberrypi ??= "4.14.%" +PREFERRED_VERSION_linux-raspberrypi ??= "4.19.%" diff --git a/meta-raspberrypi/recipes-bsp/common/firmware.inc b/meta-raspberrypi/recipes-bsp/common/firmware.inc index d19525ffd..e2c3b1a14 100644 --- a/meta-raspberrypi/recipes-bsp/common/firmware.inc +++ b/meta-raspberrypi/recipes-bsp/common/firmware.inc @@ -1,10 +1,10 @@ -RPIFW_DATE ?= "20190220" -SRCREV ?= "ebf7b40cdc6effe7ffa3fd5195e8be01b94f80da" +RPIFW_DATE ?= "20190517" +SRCREV ?= "e1900836948f6c6bdf4571da1b966a9085c95d37" RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz" RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}" SRC_URI = "${RPIFW_SRC_URI}" -SRC_URI[md5sum] = "611077d343e3802496dd99118ca4e977" -SRC_URI[sha256sum] = "e911f6342ea8aa9380cae97c6f5ac4ddd370527265f23d5b5d4b2c6f679d4ba8" +SRC_URI[md5sum] = "ba272fed3661f0c8d5e4c424d2617246" +SRC_URI[sha256sum] = "2a4c566e98b16575ebf295b795b40a5772f81282948e957bdc9733cf72fdcd39" PV = "${RPIFW_DATE}" diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch b/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch index cea215dad..b2bd46f6f 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch @@ -1,4 +1,4 @@ -From 829dff626d423ad34c8e710cd10d5fc9a4ea80b3 Mon Sep 17 00:00:00 2001 +From e94675aa943c114ff801167c69bdd2d366d01665 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Tue, 9 Jul 2013 09:26:26 -0400 Subject: [PATCH 01/18] Allow applications to set next resource handle @@ -204,5 +204,5 @@ index 8a5734c..51b3580 100644 FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data)) -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch b/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch index 5501000e3..5efc7a4d3 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch @@ -1,4 +1,4 @@ -From 469840d211beb22085e57934bda3caabb71a4695 Mon Sep 17 00:00:00 2001 +From ad6f485d9eb809b67398ce0948844dd30ea1c8e3 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 1 Oct 2013 13:19:20 +0200 Subject: [PATCH 02/18] wayland: Add support for the Wayland winsys @@ -91,11 +91,11 @@ index cfc8ae5..673a5ad 100644 # Global include paths diff --git a/README.md b/README.md -index de5754d..2097036 100644 +index 404e4d4..97a6b8f 100644 --- a/README.md +++ b/README.md -@@ -6,3 +6,7 @@ Use buildme to build. It requires cmake to be installed and an arm cross compile - https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian +@@ -8,3 +8,7 @@ https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linu + Whilst 64-bit userspace is not officially supported, some of the libraries will work for it. To cross compile, install gcc-aarch64-linux-gnu and g++-aarch64-linux-gnu first. For both native and cross compiles, add the option ```--aarch64``` to the buildme command. Note that this repository does not contain the source for the edidparser and vcdbg binaries due to licensing restrictions. + @@ -103,10 +103,10 @@ index de5754d..2097036 100644 + +$ BUILD_WAYLAND=1 ./buildme. diff --git a/buildme b/buildme -index b8fd440..a780bb6 100755 +index cee90a6..d1d76a7 100755 --- a/buildme +++ b/buildme -@@ -8,6 +8,10 @@ fi +@@ -17,6 +17,10 @@ fi BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`; @@ -114,10 +114,10 @@ index b8fd440..a780bb6 100755 + WAYLAND_VARS="-DBUILD_WAYLAND=TRUE" +fi + - if [ "armv6l" = `arch` ] || [ "armv7l" = `arch` ]; then + if [ $ARCH = "armv6l" ] || [ $ARCH = "armv7l" ] || [ $ARCH = "aarch64" ]; then # Native compile on the Raspberry Pi mkdir -p build/raspberry/$BUILDSUBDIR -@@ -32,9 +36,13 @@ elif [ "$1" = "--native" ]; then +@@ -41,9 +45,13 @@ elif [ "$1" = "--native" ]; then make -j `nproc` $* else # Cross compile on a more capable machine @@ -127,8 +127,8 @@ index b8fd440..a780bb6 100755 + fi mkdir -p build/arm-linux/$BUILDSUBDIR pushd build/arm-linux/$BUILDSUBDIR -- cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE ../../.. -+ cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE $WAYLAND_VARS ../../.. +- cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 ../../.. ++ cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 $WAYLAND_VARS ../../.. make -j `nproc` if [ "$1" != "" ]; then @@ -1894,5 +1894,5 @@ index 0000000..ad90d30 + set(${_sources} ${${_sources}} PARENT_SCOPE) +endfunction() -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch b/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch index 74b97b821..ba83db8c7 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch @@ -1,4 +1,4 @@ -From 2391bba64116135369147e930fb14b5824a9cef0 Mon Sep 17 00:00:00 2001 +From 642110bbc9ebcb9ad497f4f1c1ccbc5a9afda753 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 1 Oct 2013 13:19:20 +0200 Subject: [PATCH 03/18] wayland: Add Wayland example @@ -862,5 +862,5 @@ index 8225dd5..0be6ce7 100755 - +make -C hello_wayland -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch b/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch index 9621afa7f..c806e7b6b 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch @@ -1,4 +1,4 @@ -From 3d1d046281b90d6777864b0d9a032657fad78d76 Mon Sep 17 00:00:00 2001 +From 33374e6b19a28d52a0089aa7b9af9b698fb98a86 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 10 Aug 2015 02:38:27 -0700 Subject: [PATCH 04/18] wayland-egl: Add bcm_host to dependencies @@ -24,5 +24,5 @@ index 8bafc15..fd259c9 100644 Libs: -L${libdir} -lwayland-egl Cflags: -I${includedir} -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch b/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch index 004e2eb11..bcf828ce0 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch @@ -1,4 +1,4 @@ -From d17e5b9285635dcbe1c6e5a7398f6e5b1560a0c0 Mon Sep 17 00:00:00 2001 +From e2d13265a34519364bd7d27d54a860967b320504 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Sat, 24 Jan 2015 22:07:19 +0100 Subject: [PATCH 05/18] interface: remove faulty assert() to make weston happy @@ -25,5 +25,5 @@ index eab146e..29e0dee 100755 } } else { -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch b/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch index 955dfa1a6..ed7baf869 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch @@ -1,4 +1,4 @@ -From 7d4559c2418f4997dfdddefa9281250d0d8082db Mon Sep 17 00:00:00 2001 +From 0c64a21bd90b9dea9916dcdc7c8c23b93518ccb8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Feb 2016 11:10:47 -0800 Subject: [PATCH 06/18] zero-out wl buffers in egl_surface_free @@ -29,5 +29,5 @@ index 42350bf..1f923d9 100644 #endif } -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch b/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch index 514782f17..3bc633f39 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch @@ -1,4 +1,4 @@ -From 19e63107670bb15833744402d68c8fcae9e53a12 Mon Sep 17 00:00:00 2001 +From 4e0f83d815461d501fef788236dab356c9b60ea5 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Feb 2016 11:11:41 -0800 Subject: [PATCH 07/18] initialize front back wayland buffers @@ -30,5 +30,5 @@ index 1f923d9..9a9582c 100644 } #endif -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch b/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch index bd6c2ff0f..94dee0710 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch @@ -1,4 +1,4 @@ -From 4312ce4f9320b25f513c4d8fa163f9d8faebfd97 Mon Sep 17 00:00:00 2001 +From 67384449b85e65661558b9ebe059792cdd737fc7 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Feb 2016 11:09:18 -0800 Subject: [PATCH 08/18] Remove RPC_FLUSH @@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644 } #endif -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch b/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch index e138ae250..375b1815e 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch @@ -1,4 +1,4 @@ -From cb454ad44fcb35fc28b823f05f3538c1f997e89e Mon Sep 17 00:00:00 2001 +From a4a31696bddb72f3bf58f6b5303816fd31081566 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Feb 2016 13:12:47 -0800 Subject: [PATCH 09/18] fix cmake dependency race @@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644 struct wl_resource *resource; struct wl_dispmanx *dispmanx; -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch b/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch index 70d90455f..20a374389 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch @@ -1,4 +1,4 @@ -From 2f0b25266d0b4b04ef78b8950f5bd9749857b4f0 Mon Sep 17 00:00:00 2001 +From c7acd48a9044e24d64ef453ff35202d6a697eb5d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 29 Mar 2016 20:38:30 -0700 Subject: [PATCH 10/18] Fix for framerate with nested composition @@ -56,5 +56,5 @@ index 03fe67b..13a110c 100644 #ifdef ANDROID CLIENT_UNLOCK(); -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch b/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch index da37102ca..5e141358b 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch @@ -1,4 +1,4 @@ -From 5bc4118e7861f35ead6565530cb4213987296fb9 Mon Sep 17 00:00:00 2001 +From a49fbbc6abc3d57d45011a3410d3b8f04349e424 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 2 Apr 2016 10:37:24 -0700 Subject: [PATCH 11/18] build shared library for vchostif @@ -24,5 +24,5 @@ index c415176..d0cca1a 100755 #add_library(bufman vc_vchi_bufman.c ) -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch b/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch index 40666fde9..0bb9ef703 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch @@ -1,4 +1,4 @@ -From 27194bc05a7a488827590208285a8757164edcef Mon Sep 17 00:00:00 2001 +From 70c5c684fbfbc8ebd890b0aafb2bb5c13d6cfb11 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 2 Apr 2016 10:54:59 -0700 Subject: [PATCH 12/18] implement buffer wrapping interface for dispmanx @@ -88,5 +88,5 @@ index c18626d..11ed1ef 100644 -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch b/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch index 519785699..aae0b0257 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch @@ -1,4 +1,4 @@ -From e99b2eafba5260b8087fc1a85830b08ea3228292 Mon Sep 17 00:00:00 2001 +From 789d16a9d5aa57b201e9d6be9427671f48fec5e4 Mon Sep 17 00:00:00 2001 From: Jeff Wannamaker Date: Thu, 19 Jan 2017 18:56:07 +0000 Subject: [PATCH 13/18] Implement triple buffering for wayland @@ -86,5 +86,5 @@ index e328b77..58a3184 100644 back_wl_buffer -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch b/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch index 7f7e73227..dd27e6819 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch @@ -1,4 +1,4 @@ -From a9726c7fdcd386bd104b13c494d261f693dde792 Mon Sep 17 00:00:00 2001 +From 49604e158b8171033bc8a9db5d8893887fb98557 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 10 May 2017 06:39:34 +0000 Subject: [PATCH 14/18] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT @@ -31,5 +31,5 @@ index 4eacf7f..b1acc9f 100644 #ifndef GL_EXT_texture_type_2_10_10_10_REV #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch b/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch index cfcc12088..5a5a0322d 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch @@ -1,4 +1,4 @@ -From 3ba79e86cdec88440885fefc7aadf793b301b000 Mon Sep 17 00:00:00 2001 +From 90f6ebc04c688720f45c7009d12d524d33f51781 Mon Sep 17 00:00:00 2001 From: Andrea Galbusera Date: Fri, 14 Jul 2017 09:52:54 +0200 Subject: [PATCH 15/18] EGL/glplatform.h: define EGL_CAST @@ -28,5 +28,5 @@ index 1f7c930..c39d425 100644 + #endif /* __eglplatform_h */ -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch b/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch index 2d1b8828c..da18541b6 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch @@ -1,4 +1,4 @@ -From 5c53b2ff4d14b988ae9ab453fb2ef97b6a277ded Mon Sep 17 00:00:00 2001 +From b8a1516fd1d8c8a5f2400a7fb7bd6b9e05d33a55 Mon Sep 17 00:00:00 2001 From: Jeff Wannamaker Date: Sat, 27 Jan 2018 12:28:31 -0500 Subject: [PATCH 16/18] Allow multiple wayland compositor state data per @@ -141,5 +141,5 @@ index 9ef89cd..abd5ab3 100644 CLIENT_UNLOCK(); -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch b/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch index 9c223abea..9d96d5fe9 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch @@ -1,4 +1,4 @@ -From 0d3c6b7ca5d352cc00d9501b9d5576c4ece70a83 Mon Sep 17 00:00:00 2001 +From d65939b5bdc6cfddb68803e87efffac13182ae46 Mon Sep 17 00:00:00 2001 From: Hugo Hromic Date: Sun, 13 May 2018 10:49:04 +0100 Subject: [PATCH 17/18] khronos: backport typedef for @@ -34,5 +34,5 @@ index d7e5ba7..dcc90ce 100755 #ifndef EGL_WL_bind_wayland_display #define EGL_WL_bind_wayland_display 1 -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch b/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch index 03499d40d..86f7b3635 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch @@ -1,4 +1,4 @@ -From 0f98ccac128265b85af3c5e310413fc9fce9f78c Mon Sep 17 00:00:00 2001 +From e5fcfe7af2c7f75b66356680bb641f4f6555d0c5 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 15 Jul 2018 00:48:38 -0700 Subject: [PATCH 18/18] Add EGL_IMG_context_priority related defines @@ -31,5 +31,5 @@ index dcc90ce..6842bf9 100755 #define EGL_KHR_vg_parent_image 1 #define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ -- -2.20.1 +2.21.0 diff --git a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb index 2815942e8..2b5ac3301 100644 --- a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb +++ b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb @@ -12,11 +12,11 @@ COMPATIBLE_MACHINE = "^rpi$" SRCBRANCH = "master" SRCFORK = "raspberrypi" -SRCREV = "e5803f2c986cbf8c919c60278b3231dcdf4271a6" +SRCREV = "517cdc30da167d81a485e7a994e02cec2390a269" # Use the date of the above commit as the package version. Update this when # SRCREV is changed. -PV = "20190114" +PV = "20190501" SRC_URI = "\ git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \ diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb index 8842e715b..396dd6f75 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb @@ -1,9 +1,9 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:" -LINUX_VERSION ?= "4.19.34" +LINUX_VERSION ?= "4.19.44" LINUX_RPI_BRANCH ?= "rpi-4.19.y" -SRCREV = "ab8652c03fa081b27de7e28a74c2536cb2aa3e5b" +SRCREV = "b45a32b47b76cb64225d19841c20ee85ea97874d" SRC_URI = " \ git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_BRANCH} \ " diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch deleted file mode 100644 index 85fea67be..000000000 --- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch +++ /dev/null @@ -1,46 +0,0 @@ -From cfb432fcd8868c7a4f32010c61e47e2bf0ff80c6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= -Date: Mon, 25 May 2015 14:53:35 +0200 -Subject: [PATCH] Don't try to acquire buffer when src pad isn't active - -This solves a race condition when setting the pipeline from PAUSE to -NULL while the decoder loop is still running. Without this patch, the -thread which interacts with the decode sink pad gets blocked here: - - gst_element_change_state() - gst_element_change_state_func() - gst_element_pads_activate() --> Deactivating pads - activate_pads() - gst_pad_set_active() - gst_pad_activate_mode() - post_activate() - GST_PAD_STREAM_LOCK() - -while gst_omx_port_acquire_buffer() gets stalled forever in -gst_omx_component_wait_message() waiting for a message that will never -arrive: - - gst_omx_video_dec_loop() - gst_omx_port_acquire_buffer() - gst_omx_component_wait_message() - ---- - omx/gstomxvideodec.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c -index d12ee8f..fb0100a 100644 ---- a/omx/gstomxvideodec.c -+++ b/omx/gstomxvideodec.c -@@ -1250,6 +1250,11 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self) - GstClockTimeDiff deadline; - OMX_ERRORTYPE err; - -+ if (!gst_pad_is_active(GST_VIDEO_DECODER_SRC_PAD (self))) { -+ GST_DEBUG_OBJECT (self, "Src pad not active, not acquiring buffer and flushing instead"); -+ goto flushing; -+ } -+ - #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL) - port = self->eglimage ? self->egl_out_port : self->dec_out_port; - #else diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-config-files-path.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-config-files-path.patch deleted file mode 100644 index 6903c1770..000000000 --- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-config-files-path.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 0dc88ed881eb8420dad4cf0934a900d85b6ef313 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 11 Feb 2016 12:53:20 -0800 - ---- - config/bellagio/gstomx.conf | 8 ++++---- - config/rpi/gstomx.conf | 22 +++++++++++----------- - 2 files changed, 15 insertions(+), 15 deletions(-) - -diff --git a/config/bellagio/gstomx.conf b/config/bellagio/gstomx.conf -index 5ca8ba6..8931255 100644 ---- a/config/bellagio/gstomx.conf -+++ b/config/bellagio/gstomx.conf -@@ -1,6 +1,6 @@ - [omxmpeg4videodec] - type-name=GstOMXMPEG4VideoDec --core-name=/usr/local/lib/libomxil-bellagio.so.0 -+core-name=/usr/lib/libomxil-bellagio.so.0 - component-name=OMX.st.video_decoder.mpeg4 - rank=257 - in-port-index=0 -@@ -9,7 +9,7 @@ hacks=event-port-settings-changed-ndata-parameter-swap;event-port-settings-chang - - [omxh264dec] - type-name=GstOMXH264Dec --core-name=/usr/local/lib/libomxil-bellagio.so.0 -+core-name=/usr/lib/libomxil-bellagio.so.0 - component-name=OMX.st.video_decoder.avc - rank=257 - in-port-index=0 -@@ -18,7 +18,7 @@ hacks=event-port-settings-changed-ndata-parameter-swap;event-port-settings-chang - - [omxmpeg4videoenc] - type-name=GstOMXMPEG4VideoEnc --core-name=/usr/local/lib/libomxil-bellagio.so.0 -+core-name=/usr/lib/libomxil-bellagio.so.0 - component-name=OMX.st.video_encoder.mpeg4 - rank=0 - in-port-index=0 -@@ -27,7 +27,7 @@ hacks=event-port-settings-changed-ndata-parameter-swap;video-framerate-integer;s - - [omxaacenc] - type-name=GstOMXAACEnc --core-name=/usr/local/lib/libomxil-bellagio.so.0 -+core-name=/usr/lib/libomxil-bellagio.so.0 - component-name=OMX.st.audio_encoder.aac - rank=0 - in-port-index=0 -diff --git a/config/rpi/gstomx.conf b/config/rpi/gstomx.conf -index d3ea56a..2508dae 100644 ---- a/config/rpi/gstomx.conf -+++ b/config/rpi/gstomx.conf -@@ -1,6 +1,6 @@ - [omxmpeg2videodec] - type-name=GstOMXMPEG2VideoDec --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.video_decode - rank=257 - in-port-index=130 -@@ -9,7 +9,7 @@ hacks=no-component-role - - [omxmpeg4videodec] - type-name=GstOMXMPEG4VideoDec --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.video_decode - rank=257 - in-port-index=130 -@@ -18,7 +18,7 @@ hacks=no-component-role - - [omxh263dec] - type-name=GstOMXH263Dec --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.video_decode - rank=257 - in-port-index=130 -@@ -27,7 +27,7 @@ hacks=no-component-role - - [omxh264dec] - type-name=GstOMXH264Dec --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.video_decode - rank=257 - in-port-index=130 -@@ -36,7 +36,7 @@ hacks=no-component-role;signals-premature-eos - - [omxtheoradec] - type-name=GstOMXTheoraDec --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.video_decode - rank=257 - in-port-index=130 -@@ -45,7 +45,7 @@ hacks=no-component-role - - [omxvp8dec] - type-name=GstOMXVP8Dec --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.video_decode - rank=257 - in-port-index=130 -@@ -54,7 +54,7 @@ hacks=no-component-role - - [omxmjpegdec] - type-name=GstOMXMJPEGDec --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.video_decode - rank=257 - in-port-index=130 -@@ -63,7 +63,7 @@ hacks=no-component-role - - [omxvc1dec] - type-name=GstOMXWMVDec --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.video_decode - rank=257 - in-port-index=130 -@@ -73,7 +73,7 @@ sink-template-caps=video/x-wmv,wmvversion=(int)3,format=(string){WMV3,WVC1},widt - - [omxh264enc] - type-name=GstOMXH264Enc --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.video_encode - rank=257 - in-port-index=200 -@@ -82,7 +82,7 @@ hacks=no-component-role;no-component-reconfigure - - [omxanalogaudiosink] - type-name=GstOMXAnalogAudioSink --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.audio_render - rank=257 - in-port-index=100 -@@ -92,7 +92,7 @@ sink-template-caps=audio/x-raw,format=(string){S16LE,S32LE},layout=(string)inter - - [omxhdmiaudiosink] - type-name=GstOMXHdmiAudioSink --core-name=/opt/vc/lib/libopenmaxil.so -+core-name=/usr/lib/libopenmaxil.so - component-name=OMX.broadcom.audio_render - rank=258 - in-port-index=100 diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0003-no-timeout-on-get-state.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0003-no-timeout-on-get-state.patch deleted file mode 100644 index 4124bccf8..000000000 --- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0003-no-timeout-on-get-state.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 02e49cba402a783fa1b30e445b83a5c280949c1e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 13 Feb 2016 11:42:29 -0800 - ---- - omx/gstomxvideodec.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c -index fb0100a..bad6335 100644 ---- a/omx/gstomxvideodec.c -+++ b/omx/gstomxvideodec.c -@@ -1713,9 +1713,9 @@ gst_omx_video_dec_stop (GstVideoDecoder * decoder) - g_cond_broadcast (&self->drain_cond); - g_mutex_unlock (&self->drain_lock); - -- gst_omx_component_get_state (self->dec, 5 * GST_SECOND); -+ gst_omx_component_get_state (self->dec, 0); - #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL) -- gst_omx_component_get_state (self->egl_render, 1 * GST_SECOND); -+ gst_omx_component_get_state (self->egl_render, 0); - #endif - - gst_buffer_replace (&self->codec_data, NULL); diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0004-Properly-handle-drain-requests-while-flushing.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0004-Properly-handle-drain-requests-while-flushing.patch deleted file mode 100644 index 3c9dd2c88..000000000 --- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0004-Properly-handle-drain-requests-while-flushing.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f00912f0628aff15e882bdc1619f5de1ddf5c720 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= -Date: Tue, 17 Nov 2015 16:51:27 +0000 -Subject: [PATCH] Properly handle drain requests while flushing - -Without this commit the decoder streaming thread stops without ever attending -the drain request, leaving the decoder input thread waiting forever. - ---- - omx/gstomx.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -Index: gst-omx-1.14.0/omx/gstomx.c -=================================================================== ---- gst-omx-1.14.0.orig/omx/gstomx.c -+++ gst-omx-1.14.0/omx/gstomx.c -@@ -837,6 +837,13 @@ gst_omx_component_new (GstObject * paren - - g_mutex_lock (&comp->lock); - gst_omx_component_handle_messages (comp); -+ -+ if (err != OMX_ErrorNone && comp->last_error == OMX_ErrorNone) { -+ GST_ERROR_OBJECT (comp->parent, -+ "Last operation returned an error. Setting last_error manually."); -+ comp->last_error = err; -+ } -+ - g_mutex_unlock (&comp->lock); - - return comp; diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch deleted file mode 100644 index ed8645e94..000000000 --- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 0d2ad639e6158c8023c157e206ef3ff7abdc089c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= -Date: Fri, 4 Dec 2015 18:39:59 +0100 -Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a - timeout releasing the buffers taken by the egl_render out port - ---- - omx/gstomxvideodec.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -Index: gst-omx-1.14.0/omx/gstomxvideodec.c -=================================================================== ---- gst-omx-1.14.0.orig/omx/gstomxvideodec.c -+++ gst-omx-1.14.0/omx/gstomxvideodec.c -@@ -2214,7 +2214,9 @@ gst_omx_video_dec_disable (GstOMXVideoDe - return FALSE; - if (gst_omx_port_wait_buffers_released (out_port, - 1 * GST_SECOND) != OMX_ErrorNone) -+#if !(defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL)) - return FALSE; -+#endif - if (gst_omx_video_dec_deallocate_output_buffers (self) != OMX_ErrorNone) - return FALSE; - if (gst_omx_port_wait_enabled (out_port, 1 * GST_SECOND) != OMX_ErrorNone) diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch new file mode 100644 index 000000000..c8af7da0e --- /dev/null +++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch @@ -0,0 +1,48 @@ +From 160181edf5fc73288abfe99fa04de4a550cd9c65 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 11 Feb 2016 12:53:20 -0800 +Subject: [PATCH] Don't try to acquire buffer when src pad isn't active + +From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= + +This solves a race condition when setting the pipeline from PAUSE to +NULL while the decoder loop is still running. Without this patch, the +thread which interacts with the decode sink pad gets blocked here: + + gst_element_change_state() + gst_element_change_state_func() + gst_element_pads_activate() --> Deactivating pads + activate_pads() + gst_pad_set_active() + gst_pad_activate_mode() + post_activate() + GST_PAD_STREAM_LOCK() + +while gst_omx_port_acquire_buffer() gets stalled forever in +gst_omx_component_wait_message() waiting for a message that will never +arrive: + + gst_omx_video_dec_loop() + gst_omx_port_acquire_buffer() + gst_omx_component_wait_message() + +--- + omx/gstomxvideodec.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c +index abe6e30..c4dc33f 100644 +--- a/omx/gstomxvideodec.c ++++ b/omx/gstomxvideodec.c +@@ -1598,6 +1598,11 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self) + GstOMXAcquireBufferReturn acq_return; + OMX_ERRORTYPE err; + ++ if (!gst_pad_is_active(GST_VIDEO_DECODER_SRC_PAD (self))) { ++ GST_DEBUG_OBJECT (self, "Src pad not active, not acquiring buffer and flushing instead"); ++ goto flushing; ++ } ++ + #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL) + port = self->eglimage ? self->egl_out_port : self->dec_out_port; + #else diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-config-files-path.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-config-files-path.patch new file mode 100644 index 000000000..6903c1770 --- /dev/null +++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-config-files-path.patch @@ -0,0 +1,150 @@ +From 0dc88ed881eb8420dad4cf0934a900d85b6ef313 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 11 Feb 2016 12:53:20 -0800 + +--- + config/bellagio/gstomx.conf | 8 ++++---- + config/rpi/gstomx.conf | 22 +++++++++++----------- + 2 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/config/bellagio/gstomx.conf b/config/bellagio/gstomx.conf +index 5ca8ba6..8931255 100644 +--- a/config/bellagio/gstomx.conf ++++ b/config/bellagio/gstomx.conf +@@ -1,6 +1,6 @@ + [omxmpeg4videodec] + type-name=GstOMXMPEG4VideoDec +-core-name=/usr/local/lib/libomxil-bellagio.so.0 ++core-name=/usr/lib/libomxil-bellagio.so.0 + component-name=OMX.st.video_decoder.mpeg4 + rank=257 + in-port-index=0 +@@ -9,7 +9,7 @@ hacks=event-port-settings-changed-ndata-parameter-swap;event-port-settings-chang + + [omxh264dec] + type-name=GstOMXH264Dec +-core-name=/usr/local/lib/libomxil-bellagio.so.0 ++core-name=/usr/lib/libomxil-bellagio.so.0 + component-name=OMX.st.video_decoder.avc + rank=257 + in-port-index=0 +@@ -18,7 +18,7 @@ hacks=event-port-settings-changed-ndata-parameter-swap;event-port-settings-chang + + [omxmpeg4videoenc] + type-name=GstOMXMPEG4VideoEnc +-core-name=/usr/local/lib/libomxil-bellagio.so.0 ++core-name=/usr/lib/libomxil-bellagio.so.0 + component-name=OMX.st.video_encoder.mpeg4 + rank=0 + in-port-index=0 +@@ -27,7 +27,7 @@ hacks=event-port-settings-changed-ndata-parameter-swap;video-framerate-integer;s + + [omxaacenc] + type-name=GstOMXAACEnc +-core-name=/usr/local/lib/libomxil-bellagio.so.0 ++core-name=/usr/lib/libomxil-bellagio.so.0 + component-name=OMX.st.audio_encoder.aac + rank=0 + in-port-index=0 +diff --git a/config/rpi/gstomx.conf b/config/rpi/gstomx.conf +index d3ea56a..2508dae 100644 +--- a/config/rpi/gstomx.conf ++++ b/config/rpi/gstomx.conf +@@ -1,6 +1,6 @@ + [omxmpeg2videodec] + type-name=GstOMXMPEG2VideoDec +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.video_decode + rank=257 + in-port-index=130 +@@ -9,7 +9,7 @@ hacks=no-component-role + + [omxmpeg4videodec] + type-name=GstOMXMPEG4VideoDec +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.video_decode + rank=257 + in-port-index=130 +@@ -18,7 +18,7 @@ hacks=no-component-role + + [omxh263dec] + type-name=GstOMXH263Dec +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.video_decode + rank=257 + in-port-index=130 +@@ -27,7 +27,7 @@ hacks=no-component-role + + [omxh264dec] + type-name=GstOMXH264Dec +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.video_decode + rank=257 + in-port-index=130 +@@ -36,7 +36,7 @@ hacks=no-component-role;signals-premature-eos + + [omxtheoradec] + type-name=GstOMXTheoraDec +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.video_decode + rank=257 + in-port-index=130 +@@ -45,7 +45,7 @@ hacks=no-component-role + + [omxvp8dec] + type-name=GstOMXVP8Dec +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.video_decode + rank=257 + in-port-index=130 +@@ -54,7 +54,7 @@ hacks=no-component-role + + [omxmjpegdec] + type-name=GstOMXMJPEGDec +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.video_decode + rank=257 + in-port-index=130 +@@ -63,7 +63,7 @@ hacks=no-component-role + + [omxvc1dec] + type-name=GstOMXWMVDec +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.video_decode + rank=257 + in-port-index=130 +@@ -73,7 +73,7 @@ sink-template-caps=video/x-wmv,wmvversion=(int)3,format=(string){WMV3,WVC1},widt + + [omxh264enc] + type-name=GstOMXH264Enc +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.video_encode + rank=257 + in-port-index=200 +@@ -82,7 +82,7 @@ hacks=no-component-role;no-component-reconfigure + + [omxanalogaudiosink] + type-name=GstOMXAnalogAudioSink +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.audio_render + rank=257 + in-port-index=100 +@@ -92,7 +92,7 @@ sink-template-caps=audio/x-raw,format=(string){S16LE,S32LE},layout=(string)inter + + [omxhdmiaudiosink] + type-name=GstOMXHdmiAudioSink +-core-name=/opt/vc/lib/libopenmaxil.so ++core-name=/usr/lib/libopenmaxil.so + component-name=OMX.broadcom.audio_render + rank=258 + in-port-index=100 diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0003-no-timeout-on-get-state.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0003-no-timeout-on-get-state.patch new file mode 100644 index 000000000..434232661 --- /dev/null +++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0003-no-timeout-on-get-state.patch @@ -0,0 +1,24 @@ +From 21f776bff596bc0bd09708efa6497f8bdcd065c0 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 13 Feb 2016 11:42:29 -0800 + +--- + omx/gstomxvideodec.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c +index c4dc33f..ba5304f 100644 +--- a/omx/gstomxvideodec.c ++++ b/omx/gstomxvideodec.c +@@ -2021,9 +2021,9 @@ gst_omx_video_dec_stop (GstVideoDecoder * decoder) + g_cond_broadcast (&self->drain_cond); + g_mutex_unlock (&self->drain_lock); + +- gst_omx_component_get_state (self->dec, 5 * GST_SECOND); ++ gst_omx_component_get_state (self->dec, 0); + #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL) +- gst_omx_component_get_state (self->egl_render, 1 * GST_SECOND); ++ gst_omx_component_get_state (self->egl_render, 0); + #endif + + gst_buffer_replace (&self->codec_data, NULL); diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0004-Properly-handle-drain-requests-while-flushing.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0004-Properly-handle-drain-requests-while-flushing.patch new file mode 100644 index 000000000..144ced6ab --- /dev/null +++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0004-Properly-handle-drain-requests-while-flushing.patch @@ -0,0 +1,30 @@ +From 140bf8548843a98b0af2ddc1765ab59c16c8994c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= +Date: Tue, 17 Nov 2015 16:51:27 +0000 +Subject: [PATCH] Properly handle drain requests while flushing + +Without this commit the decoder streaming thread stops without ever attending +the drain request, leaving the decoder input thread waiting forever. + +--- + omx/gstomx.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/omx/gstomx.c b/omx/gstomx.c +index 038ce32..5202d33 100644 +--- a/omx/gstomx.c ++++ b/omx/gstomx.c +@@ -1011,6 +1011,13 @@ gst_omx_component_new (GstObject * parent, const gchar * core_name, + + g_mutex_lock (&comp->lock); + gst_omx_component_handle_messages (comp); ++ ++ if (err != OMX_ErrorNone && comp->last_error == OMX_ErrorNone) { ++ GST_ERROR_OBJECT (comp->parent, ++ "Last operation returned an error. Setting last_error manually."); ++ comp->last_error = err; ++ } ++ + g_mutex_unlock (&comp->lock); + + return comp; diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch new file mode 100644 index 000000000..3245294ea --- /dev/null +++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch @@ -0,0 +1,36 @@ +From cf6cf2060c5a7a7ddc0396a0c20c234fc56c79b6 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Tue, 28 May 2019 18:02:24 +0100 +Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a + timeout releasing the buffers taken by the egl_render out port + +From 0d2ad639e6158c8023c157e206ef3ff7abdc089c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= + +Date: Fri, 4 Dec 2015 18:39:59 +0100 +Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a +timeout releasing the buffers taken by the egl_render out port + +Upstream-status: Pending +Signed-off-by: Andrei Gherzan +--- + omx/gstomxvideodec.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c +index ba5304f..8bd5d3d 100644 +--- a/omx/gstomxvideodec.c ++++ b/omx/gstomxvideodec.c +@@ -2229,7 +2229,9 @@ gst_omx_video_dec_disable (GstOMXVideoDec * self) + return FALSE; + if (gst_omx_port_wait_buffers_released (out_port, + 1 * GST_SECOND) != OMX_ErrorNone) ++#if !(defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL)) + return FALSE; ++#endif + if (!gst_omx_video_dec_deallocate_output_buffers (self)) + return FALSE; + if (gst_omx_port_wait_enabled (out_port, 1 * GST_SECOND) != OMX_ErrorNone) +-- +2.17.1 + diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14%.bbappend b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14%.bbappend deleted file mode 100644 index cb7986bb3..000000000 --- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14%.bbappend +++ /dev/null @@ -1,12 +0,0 @@ -# -# Need to make this conditional to gstreamer1 -# -SRC_URI_append_rpi = " \ - file://0001-config-files-path.patch \ - file://0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch \ - file://0003-no-timeout-on-get-state.patch \ - file://0004-Properly-handle-drain-requests-while-flushing.patch \ - file://0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch \ -" - -FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx-1.14:" diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend new file mode 100644 index 000000000..79b35c411 --- /dev/null +++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend @@ -0,0 +1,12 @@ +# +# Need to make this conditional to gstreamer1 +# +SRC_URI_append_rpi = " \ + file://0001-config-files-path.patch \ + file://0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch \ + file://0003-no-timeout-on-get-state.patch \ + file://0004-Properly-handle-drain-requests-while-flushing.patch \ + file://0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch \ +" + +FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx-1.16:" diff --git a/meta-security/lib/oeqa/runtime/cases/checksec.py b/meta-security/lib/oeqa/runtime/cases/checksec.py new file mode 100644 index 000000000..ff6d2f319 --- /dev/null +++ b/meta-security/lib/oeqa/runtime/cases/checksec.py @@ -0,0 +1,33 @@ +# Copyright (C) 2019 Armin Kuster +# +import re + +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage + + +class CheckSecTest(OERuntimeTestCase): + + @OEHasPackage(['checksec']) + @OETestDepends(['ssh.SSHTest.test_ssh']) + def test_checksec_help(self): + status, output = self.target.run('checksec --help ') + msg = ('checksec command does not work as expected. ' + 'Status and output:%s and %s' % (status, output)) + self.assertEqual(status, 0, msg = msg) + + @OETestDepends(['checksec.CheckSecTest.test_checksec_help']) + def test_checksec_xml(self): + status, output = self.target.run('checksec --format xml --proc-all') + msg = ('checksec xml failed. Output: %s' % output) + self.assertEqual(status, 0, msg = msg) + + @OETestDepends(['checksec.CheckSecTest.test_checksec_xml']) + def test_checksec_fortify(self): + status, output = self.target.run('checksec --fortify-proc 1') + match = re.search('FORTIFY_SOURCE support:', output) + if not match: + msg = ('checksec : fortify-proc failed. ' + 'Status and output:%s and %s' % (status, output)) + self.assertEqual(status, 1, msg = msg) diff --git a/meta-security/meta-integrity/README.md b/meta-security/meta-integrity/README.md new file mode 100644 index 000000000..5bef76e8d --- /dev/null +++ b/meta-security/meta-integrity/README.md @@ -0,0 +1,250 @@ +This README file contains information on the contents of the +integrity layer. + +Please see the corresponding sections below for details. + + +Dependencies +============ + +This layer depends on: + + URI: git://git.openembedded.org/bitbake + branch: master + + URI: git://git.openembedded.org/openembedded-core + layers: meta + branch: master + + URI: git://github.com/01org/meta-security/meta-integrate + layers: security-framework + branch: master + + +Patches +======= + +For discussion or patch submission via email, use the +yocto@yoctoproject.org mailing list. When submitting patches that way, +make sure to copy the maintainer and add a "[meta-integrity]" +prefix to the subject of the mails. + +Maintainer: Armin Kuster + + +Table of Contents +================= + +1. Adding the integrity layer to your build +2. Usage +3. Known Issues + + +1. Adding the integrity layer to your build +=========================================== + +In order to use this layer, you need to make the build system aware of +it. + +Assuming the security repository exists at the top-level of your +yocto build tree, you can add it to the build system by adding the +location of the integrity layer to bblayers.conf, along with any +other layers needed. e.g.: + + BBLAYERS ?= " \ + /path/to/yocto/meta \ + /path/to/yocto/meta-yocto \ + /path/to/yocto/meta-yocto-bsp \ + /path/to/yocto/meta-security/meta-integrity \ + " + +It has some dependencies on a suitable BSP; in particular the kernel +must have a recent enough IMA/EVM subsystem. The layer was tested with +Linux 3.19 and uses some features (like loading X509 certificates +directly from the kernel) which were added in that release. Your +mileage may vary with older kernels. + +The necessary kernel configuration parameters are added to all kernel +versions by this layer. Watch out for QA warnings about unused kernel +configuration parameters: those indicate that the kernel used by the BSP +does not have the necessary IMA/EVM features. + +Adding the layer only enables IMA (see below regarding EVM) during +compilation of the Linux kernel. To also activate it when building +the image, enable image signing in the local.conf like this: + + INHERIT += "ima-evm-rootfs" + IMA_EVM_KEY_DIR = "${IMA_EVM_BASE}/data/debug-keys" + +This uses the default keys provided in the "data" directory of the layer. +Because everyone has access to these private keys, such an image +should never be used in production! + +For that, create your own keys first. All tools and scripts required +for that are included in the layer. This is also how the +``debug-keys`` were generated: + + # Choose a directory for storing keys. Preserve this + # across builds and keep its private keys secret! + export IMA_EVM_KEY_DIR=/tmp/imaevm + mkdir -p $IMA_EVM_KEY_DIR + # Build the required tools. + bitbake openssl-native + # Set up shell for use of the tools. + bitbake -c devshell openssl-native + cd $IMA_EVM_KEY_DIR + # In that shell, create the keys. Several options exist: + + # 1. Self-signed keys. + $IMA_EVM_BASE/scripts/ima-gen-self-signed.sh + + # 2. Keys signed by a new CA. + # When asked for a PEM passphrase, that will be for the root CA. + # Signing images then will not require entering that passphrase, + # only creating new certificates does. Most likely the default + # attributes for these certificates need to be adapted; modify + # the scripts as needed. + # $IMA_EVM_BASE/scripts/ima-gen-local-ca.sh + # $IMA_EVM_BASE/scripts/ima-gen-CA-signed.sh + + # 3. Keys signed by an existing CA. + # $IMA_EVM_BASE/scripts/ima-gen-CA-signed.sh + exit + +When using ``ima-self-signed.sh`` as described above, self-signed keys +are created. Alternatively, one can also use keys signed by a CA. The +``ima-gen-local-ca.sh`` and ``ima-gen.sh`` scripts create a root CA +and sign the signing keys with it. The ``ima-evm-rootfs.bbclass`` then +supports adding tha CA's public key to the kernel's system keyring by +compiling it directly into the kernel. Because it is unknown whether +that is necessary (for example, the CA might also get added to the +system key ring via UEFI Secure Boot), one has to enable compilation +into the kernel explicitly in a local.conf with: + + IMA_EVM_ROOT_CA = "" + + + + +To use the personal keys, override the default IMA_EVM_KEY_DIR in your +local.conf and/or override the individual variables from +ima-evm-rootfs.bbclass: + + IMA_EVM_KEY_DIR = "" + IMA_EVM_PRIVKEY = "" + +By default, the entire file system gets signed. When using a policy which +does not require that, the set of files to be labelled can be chosen +by overriding the default "find" expression, for example like this: + + IMA_EVM_ROOTFS_FILES = "usr sbin bin lib -type f" + + +2. Usage +======== + +After creating an image with IMA/EVM enabled, one needs to enable +the built-in policies before IMA/EVM is active at runtime. To do this, +add one or both of these boot parameters: + + ima_tcb # measures all files read as root and all files executed + ima_appraise_tcb # appraises all files owned by root, beware of + # the known issue mentioned below + +Instead of booting with default policies, one can also activate custom +policies in different ways. First, boot without any IMA policy and +then cat a policy file into +`/sys/kernel/security/ima/policy`. This can only be done once +after booting and is useful for debugging. + +In production, the long term goal is to load a verified policy +directly from the kernel, using a patch which still needs to be +included upstream ("ima: load policy from the kernel", +). + +Loading via systemd also works with systemd, but is considered less +secure (policy file is not checked before activating it). Beware that +IMA policy loading became broken in systemd 2.18. The modified systemd +2.19 in meta-security-smack has a patch reverting the broken +changes. To activate policy loading via systemd, place a policy file +in `/etc/ima/ima-policy`, for example with: + + IMA_EVM_POLICY_SYSTEMD = "${IMA_EVM_BASE}/data/ima_policy_simple" + +To check that measuring works, look at `/sys/kernel/security/ima/ascii_runtime_measurements` + +To check that appraisal works, try modifying executables and ensure +that executing them fails: + + echo "foobar" >>/usr/bin/rpm + evmctl ima_verify /usr/bin/rpm + rpm --version + +Depending on the current appraisal policy, the `echo` command may +already fail because writing is not allowed. If the file was modified +and the current appraisal policy allows reading, then `evmctl` will +report (the errno value seems to be printed always and is unrelated to +the actual verification failure here): + + Verification failed: 35 + errno: No such file or directory (2) + +After enabling a suitable IMA appraisal policy, reading and/or +executing the file is no longer allowed: + + # evmctl ima_verify /usr/bin/rpm + Failed to open: /usr/bin/rpm + errno: Permission denied (13) + # rpm --version + -sh: /usr/bin/rpm: Permission denied + +Enabling the audit kernel subsystem may help to debug appraisal +issues. Enable it by adding the meta-security-framework layer and +changing your local.conf: + SRC_URI_append_pn-linux-yocto = " file://audit.cfg" + CORE_IMAGE_EXTRA_INSTALL += "auditd" + +Then boot with "ima_appraise=log ima_appraise_tcb". + +Adding auditd is not strictly necessary but helps to capture a +more complete set of events in /var/log/audit/ and search in +them with ausearch. + + +3. Known Issues +=============== + +EVM is not enabled, for multiple reasons: +* Signing files in advance with a X509 certificate and then not having + any confidential keys on the device would be the most useful mode, + but is not supported by EVM [1]. +* EVM signing in advance would only work on the final file system and thus + will require further integration work with image creation. The content + of the files can be signed for IMA in the rootfs, with the extended + attributes remaining valid when copying the files to the final image. + But for EVM that copy operation changes relevant parameters (for example, + inode) and thus invalidates the EVM hash. +* On device creation of EVM hashes depends on secure key handling on the + device (TPM) and booting at least once in a special mode (file system + writable, evm=fix as boot parameter, reboot after opening all files); + such a mode is too device specific to be implemented in a generic way. + +IMA appraisal with "ima_appraise_tcb" enables rules which are too strict +for most distros. For example, systemd needs to write certain files +as root, which is prevented by the ima_appraise_tcb appraise rules. As +a result, the system fails to boot: + + [FAILED] Failed to start Commit a transient machine-id on disk. + See "systemctl status systemd-machine-id-commit.service" for details. + ... + [FAILED] Failed to start Network Service. + See "systemctl status systemd-networkd.service" for details. + [FAILED] Failed to start Login Service. + See "systemctl status systemd-logind.service" for details. + +No package manager is integrated with IMA/EVM. When updating packages, +files will end up getting installed without correct IMA/EVM attributes +and thus will not be usable when appraisal is turned on. + +[1] http://permalink.gmane.org/gmane.comp.handhelds.tizen.devel/6281 +[2] http://permalink.gmane.org/gmane.comp.handhelds.tizen.devel/6275 diff --git a/meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass b/meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass new file mode 100644 index 000000000..8aec388df --- /dev/null +++ b/meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass @@ -0,0 +1,92 @@ +# No default! Either this or IMA_EVM_PRIVKEY/IMA_EVM_X509 have to be +# set explicitly in a local.conf before activating ima-evm-rootfs. +# To use the insecure (because public) example keys, use +# IMA_EVM_KEY_DIR = "${IMA_EVM_BASE}/data/debug-keys" +IMA_EVM_KEY_DIR ?= "IMA_EVM_KEY_DIR_NOT_SET" + +# Private key for IMA signing. The default is okay when +# using the example key directory. +IMA_EVM_PRIVKEY ?= "${IMA_EVM_KEY_DIR}/privkey_ima.pem" + +# Public part of certificates (used for both IMA and EVM). +# The default is okay when using the example key directory. +IMA_EVM_X509 ?= "${IMA_EVM_KEY_DIR}/x509_ima.der" + +# Root CA to be compiled into the kernel, none by default. +# Must be the absolute path to a der-encoded x509 CA certificate +# with a .x509 suffix. See linux-%.bbappend for details. +# +# ima-local-ca.x509 is what ima-gen-local-ca.sh creates. +IMA_EVM_ROOT_CA ?= "" + +# Sign all regular files by default. +IMA_EVM_ROOTFS_SIGNED ?= ". -type f" +# Hash nothing by default. +IMA_EVM_ROOTFS_HASHED ?= ". -depth 0 -false" + +# Mount these file systems (identified via their mount point) with +# the iversion flags (needed by IMA when allowing writing). +IMA_EVM_ROOTFS_IVERSION ?= "" + +ima_evm_sign_rootfs () { + cd ${IMAGE_ROOTFS} + + # Beware that all operations below must also work when + # ima_evm_sign_rootfs was already called earlier for the same + # rootfs. That's because do_image might again run for various + # reasons (including a change of the signing keys) without also + # re-running do_rootfs. + + # Copy file(s) which must be on the device. Note that + # evmctl uses x509_evm.der also for "ima_verify", which is probably + # a bug (should default to x509_ima.der). Does not matter for us + # because we use the same key for both. + install -d ./${sysconfdir}/keys + rm -f ./${sysconfdir}/keys/x509_evm.der + install "${IMA_EVM_X509}" ./${sysconfdir}/keys/x509_evm.der + ln -sf x509_evm.der ./${sysconfdir}/keys/x509_ima.der + + # Fix /etc/fstab: it must include the "i_version" mount option for + # those file systems where writing files is allowed, otherwise + # these changes will not get detected at runtime. + # + # Note that "i_version" is documented in "man mount" only for ext4, + # whereas "iversion" is said to be filesystem-independent. In practice, + # there is only one MS_I_VERSION flag in the syscall and ext2/ext3/ext4 + # all support it. + # + # coreutils translates "iversion" into MS_I_VERSION. busybox rejects + # "iversion" and only understands "i_version". systemd only understands + # "iversion". We pick "iversion" here for systemd, whereas rootflags + # for initramfs must use "i_version" for busybox. + # + # Deduplicates iversion in case that this gets called more than once. + if [ -f etc/fstab ]; then + perl -pi -e 's;(\S+)(\s+)(${@"|".join((d.getVar("IMA_EVM_ROOTFS_IVERSION", True) or "no-such-mount-point").split())})(\s+)(\S+)(\s+)(\S+);\1\2\3\4\5\6\7,iversion;; s/(,iversion)+/,iversion/;' etc/fstab + fi + + # Sign file with private IMA key. EVM not supported at the moment. + bbnote "IMA/EVM: signing files 'find ${IMA_EVM_ROOTFS_SIGNED}' with private key '${IMA_EVM_PRIVKEY}'" + find ${IMA_EVM_ROOTFS_SIGNED} | xargs -d "\n" --no-run-if-empty --verbose evmctl ima_sign --key ${IMA_EVM_PRIVKEY} + bbnote "IMA/EVM: hashing files 'find ${IMA_EVM_ROOTFS_HASHED}'" + find ${IMA_EVM_ROOTFS_HASHED} | xargs -d "\n" --no-run-if-empty --verbose evmctl ima_hash + + # Optionally install custom policy for loading by systemd. + if [ "${IMA_EVM_POLICY_SYSTEMD}" ]; then + install -d ./${sysconfdir}/ima + rm -f ./${sysconfdir}/ima/ima-policy + install "${IMA_EVM_POLICY_SYSTEMD}" ./${sysconfdir}/ima/ima-policy + fi +} + +# Signing must run as late as possible in the do_rootfs task. +# IMAGE_PREPROCESS_COMMAND runs after ROOTFS_POSTPROCESS_COMMAND, so +# append (not prepend!) to IMAGE_PREPROCESS_COMMAND, and do it with +# _append instead of += because _append gets evaluated later. In +# particular, we must run after prelink_image in +# IMAGE_PREPROCESS_COMMAND, because prelinking changes executables. + +IMAGE_PREPROCESS_COMMAND_append = " ima_evm_sign_rootfs ; " + +# evmctl must have been installed first. +do_rootfs[depends] += "ima-evm-utils-native:do_populate_sysroot" diff --git a/meta-security/meta-integrity/conf/layer.conf b/meta-security/meta-integrity/conf/layer.conf new file mode 100644 index 000000000..2f696cf7c --- /dev/null +++ b/meta-security/meta-integrity/conf/layer.conf @@ -0,0 +1,24 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH =. "${LAYERDIR}:" + +# We have a packages directory, add to BBFILES +BBFILES := "${BBFILES} \ + ${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "integrity" +BBFILE_PATTERN_integrity := "^${LAYERDIR}/" +BBFILE_PRIORITY_integrity = "6" + +# Set a variable to get to the top of the metadata location. Needed +# for finding scripts (when following the README.md instructions) and +# default debug keys (in ima-evm-rootfs.bbclass). +IMA_EVM_BASE := '${LAYERDIR}' + +# We must not export this path to all shell scripts (as in "export +# IMA_EVM_BASE"), because that causes problems with sstate (becames +# dependent on location of the layer). Exporting it to just the +# interactive shell is enough. +OE_TERMINAL_EXPORTS += "IMA_EVM_BASE" + +LAYERSERIES_COMPAT_integrity = "warrior" diff --git a/meta-security/meta-integrity/data/debug-keys/privkey_ima.pem b/meta-security/meta-integrity/data/debug-keys/privkey_ima.pem new file mode 100644 index 000000000..502a0b68d --- /dev/null +++ b/meta-security/meta-integrity/data/debug-keys/privkey_ima.pem @@ -0,0 +1,16 @@ +-----BEGIN PRIVATE KEY----- +MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJw2G3d0fM36rcQU +Bt8V/SapJe0lxWJ+CY+HcMx8AhWY9XQ66AXcqBsRHiUnYCaFGXFI35VKGC6d/Gs6 +IWlHgI0tcTyzy5eul+BKRLy/3PNjkK2jJETlbetQy+gE6gUtg4RmPV5ALGksK74p +OrAfKnahoMi82NVIiBitwmRimms1AgMBAAECgYBTxciRFU1hAVBy2PKebKJoO0n1 +lc329fSWnmHlp5NOlcr8XCLWEfGtIk7ySd2MitCMKjKNU0EIrv0RXAlS9l9/gBYW +HY+eEaa6l80sp8q4aPKImSi0pb3LVNqWKXJg8qr4AZ45/TEL/fzILFv5QcY8xDjV +aj6DOlEnNDjlBlBbQQJBAMyYDlKItes/Rnmtp9roXj3XUfiBDHTLY2HVgDBe87sA +TOSnbgIv+6urd1h9XvBmJlRYH7YKJmBSZWcSlfdC6XkCQQDDdfkUMxQZo9PC/Eue +WYzytx4xUm3ItWcuKILtFgcNh3c4s4dMx4X/WhQj5/H/nVOIWDioQ0mrW3ap/qcb +SBydAkAf/gb/UPFhf9t9W3JMANn7wZfHzCYufT9lJQWOisqCC2H6v1Osc+Rey8k1 +xST7Yn3L4pvS03N8zGWe4IEi0QvBAkAWdTWbNos2rvYjzy05Enz5XkTf0eK/Tuh+ +CzWP3BoPWeM+5pHDJqGkx0rNHVdW0VLJtak83A5Y2/d0bMfygISZAkBFGui4HW+Q +1BlpmDeslsE11wm5jSmm6Ti12a2dVKGFo9QLQcSj4bfgxtqU2dQaYRmajXtSBrGQ +3vVaxg2EfqB1 +-----END PRIVATE KEY----- diff --git a/meta-security/meta-integrity/data/debug-keys/x509_ima.der b/meta-security/meta-integrity/data/debug-keys/x509_ima.der new file mode 100644 index 000000000..087ca6bea Binary files /dev/null and b/meta-security/meta-integrity/data/debug-keys/x509_ima.der differ diff --git a/meta-security/meta-integrity/lib/oeqa/runtime/cases/ima.py b/meta-security/meta-integrity/lib/oeqa/runtime/cases/ima.py new file mode 100644 index 000000000..0c8617a56 --- /dev/null +++ b/meta-security/meta-integrity/lib/oeqa/runtime/cases/ima.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python +# +# Authors: Cristina Moraru +# Alexandru Cornea + +import string +from time import sleep +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.core.decorator.data import skipIfNotFeature +from oeqa.core.decorator.data import skipIfDataVar, skipIfNotDataVar +import bb +blacklist = ["/usr/bin/uz", "/bin/su.shadow"] + +class IMACheck(OERuntimeTestCase): + + @classmethod + def setUpClass(cls): + locations = ["/bin", "/usr/bin"] + cls.binaries = [] + for l in locations: + status, output = cls.tc.target.run("find %s -type f" % l) + cls.binaries.extend(output.split("\n")) + + cls.total = len(cls.binaries) + + + @OETestDepends(['ssh.SSHTest.test_ssh']) + def test_ima_enabled(self): + ''' Test if IMA policy is loaded before systemd starts''' + + ima_search = "ima: " + systemd_search = "systemd .* running" + status, output = self.target.run("dmesg | grep -n '%s'" % ima_search) + self.assertEqual( status, 0, "Did not find '%s' in dmesg" % ima_search) + + + @skipIfNotFeature('systemd', + 'Test requires systemd to be in DISTRO_FEATURES') + @skipIfNotDataVar('VIRTUAL-RUNTIME_init_manager', 'systemd', + 'systemd is not the init manager for this image') + @OETestDepends(['ima.IMACheck.test_ima_enabled']) + def test_ima_before_systemd(self): + ''' Test if IMA policy is loaded before systemd starts''' + ima_search = "ima: " + systemd_search = "systemd .* running" + status, output = self.target.run("dmesg | grep -n '%s'" % ima_search) + self.assertEqual( status, 0, "Did not find '%s' in dmesg" % ima_search) + ima_id = int(output.split(":")[0]) + status, output = self.target.run("dmesg | grep -n '%s'" % systemd_search) + self.assertEqual(status, 0, "Did not find '%s' in dmesg" % systemd_search) + init_id = int(output.split(":")[0]) + if ima_id > init_id: + self.fail("IMA does not start before systemd") + + + @OETestDepends(['ima.IMACheck.test_ima_enabled']) + def test_ima_hash(self): + ''' Test if IMA stores correct file hash ''' + filename = "/etc/filetest" + ima_measure_file = "/sys/kernel/security/ima/ascii_runtime_measurements" + status, output = self.target.run("echo test > %s" % filename) + self.assertEqual(status, 0, "Cannot create file %s on target" % filename) + + # wait for the IMA system to update the entry + maximum_tries = 30 + tries = 0 + status, output = self.target.run("sha1sum %s" %filename) + sleep(2) + current_hash = output.split()[0] + ima_hash = "" + + while tries < maximum_tries: + status, output = self.target.run("cat %s | grep %s" \ + % (ima_measure_file, filename)) + # get last entry, 4th field + if status == 0: + tokens = output.split("\n")[-1].split()[3] + ima_hash = tokens.split(":")[1] + if ima_hash == current_hash: + break + + tries += 1 + sleep(1) + + # clean target + self.target.run("rm %s" % filename) + if ima_hash != current_hash: + self.fail("Hash stored by IMA does not match actual hash") + + + @OETestDepends(['ima.IMACheck.test_ima_enabled']) + def test_ima_signature(self): + ''' Test if IMA stores correct signature for system binaries''' + passed = 0 + failed = 0 + for b in self.binaries: + if b in blacklist: + continue + status, output = self.target.run("evmctl ima_verify %s" % b) + if status != 0: + failed += 1 + else: + passed += 1 + + if failed == self.total: + self.fail("Signature verifications failed (%s)" % self.total) + + #bb.warn("pass: %s, fail: %s, Total: %s" % (passed, failed, total)) + + @OETestDepends(['ima.IMACheck.test_ima_enabled']) + def test_ima_overwrite(self): + ''' Test if IMA prevents overwriting signed files ''' + passed = 0 + failed = 0 + for b in self.binaries: + if b in blacklist: + continue + self.target.run("echo 'foo' >> %s" % b ) + status, output = self.target.run("evmctl ima_verify %s" % b) + + if status != 0: + failed += 1 + else: + passed += 1 + + if failed == self.total: + self.fail("Overwritting verifications failed (%s)" % self.total) diff --git a/meta-security/meta-integrity/recipes-core/base-files/base-files-ima.inc b/meta-security/meta-integrity/recipes-core/base-files/base-files-ima.inc new file mode 100644 index 000000000..7e9e2108d --- /dev/null +++ b/meta-security/meta-integrity/recipes-core/base-files/base-files-ima.inc @@ -0,0 +1,5 @@ +# Append iversion option for auto types +do_install_append() { + sed -i 's/\s*auto\s*defaults/&,iversion/' "${D}${sysconfdir}/fstab" + echo 'securityfs /sys/kernel/security securityfs defaults 0 0' >> "${D}${sysconfdir}/fstab" +} diff --git a/meta-security/meta-integrity/recipes-core/base-files/base-files_%.bbappend b/meta-security/meta-integrity/recipes-core/base-files/base-files_%.bbappend new file mode 100644 index 000000000..c006f0e62 --- /dev/null +++ b/meta-security/meta-integrity/recipes-core/base-files/base-files_%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'base-files-ima.inc', '', d)} diff --git a/meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb b/meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb new file mode 100644 index 000000000..6ed724df2 --- /dev/null +++ b/meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "An image as an exmaple for Ima support" + +IMAGE_FEATURES += "ssh-server-openssh" + + +IMAGE_INSTALL = "\ + packagegroup-base \ + packagegroup-core-boot \ + packagegroup-ima-evm-utils \ + os-release" + + +LICENSE = "MIT" + +inherit core-image + +export IMAGE_BASENAME = "integrity-image-minimal" + +INHERIT += "ima-evm-rootfs" +IMA_EVM_KEY_DIR = "${IMA_EVM_BASE}/data/debug-keys" + +QB_KERNEL_CMDLINE_APPEND_append = " ima_appraise=fix ima_policy=tcb ima_policy=appraise_tcb" diff --git a/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb new file mode 100644 index 000000000..6057e8daf --- /dev/null +++ b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb @@ -0,0 +1,28 @@ +# This recipe creates a module for the initramfs-framework in OE-core +# which initializes IMA by loading a policy before transferring +# control to the init process in the rootfs. The advantage over having +# that init process doing the policy loading (which systemd could do) +# is that already the integrity of the init binary itself will be +# checked by the kernel. + +SUMMARY = "IMA module for the modular initramfs system" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +# This policy file will get installed as /etc/ima/ima-policy. +# It is located via the normal file search path, so a .bbappend +# to this recipe can just point towards one of its own files. +IMA_POLICY ?= "ima_policy_hashed" + +SRC_URI = " file://ima" + +do_install () { + install -d ${D}/${sysconfdir}/ima + install -d ${D}/init.d + install ${WORKDIR}/ima ${D}/init.d/20-ima +} + +FILES_${PN} = "/init.d ${sysconfdir}" + +RDEPENDS_${PN} = "keyutils ${IMA_POLICY}" +RDEPENDS_${PN} += "initramfs-framework-base" diff --git a/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima new file mode 100644 index 000000000..8616f9924 --- /dev/null +++ b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima @@ -0,0 +1,52 @@ +#!/bin/sh +# +# Loads IMA policy into the kernel. + +ima_enabled() { + if [ "$bootparam_no_ima" = "true" ]; then + return 1 + fi +} + +ima_run() { + info "Initializing IMA (can be skipped with no_ima boot parameter)." + if ! grep -w securityfs /proc/mounts >/dev/null; then + if ! mount -t securityfs securityfs /sys/kernel/security; then + fatal "Could not mount securityfs." + fi + fi + if [ ! -d /sys/kernel/security/ima ]; then + fatal "No /sys/kernel/security/ima. Cannot proceed without IMA enabled in the kernel." + fi + + # Instead of depending on the kernel to load the IMA X.509 certificate, + # use keyctl. This avoids a bug in certain kernels (https://lkml.org/lkml/2015/9/10/492) + # where the loaded key was not checked sufficiently. We use keyctl here because it is + # slightly smaller than evmctl and is needed anyway. + # (see http://sourceforge.net/p/linux-ima/ima-evm-utils/ci/v0.9/tree/README#l349). + for kind in ima evm; do + key=/etc/keys/x509_$kind.der + if [ -s $key ]; then + id=$(grep -w -e "\.$kind" /proc/keys | cut -d ' ' -f1 | head -n 1) + if [ "$id" ]; then + id=$(printf "%d" 0x$id) + fi + if [ -z "$id" ]; then + id=`keyctl search @u keyring _$kind 2>/dev/null` + if [ -z "$id" ]; then + id=`keyctl newring _$kind @u` + fi + fi + info "Loading $key into $kind keyring $id" + keyctl padd asymmetric "" $id <$key + fi + done + + # In theory, a simple "cat" should be enough. In practice, loading sometimes fails randomly + # ("[Linux-ima-user] IMA policy loading via cat") and we get better error reporting when + # checking the write of each line. To minimize the risk of policy loading going wrong we + # also remove comments and blank lines ourselves. + if ! (set -e; while read i; do if echo "$i" | grep -q -e '^#' -e '^ *$'; then debug "Skipping IMA policy: $i"; else debug "Writing IMA policy: $i"; if echo $i; then sleep ${bootparam_ima_delay:-0}; else fatal "Invalid line in IMA policy: $i"; exit 1; fi; fi; done) /sys/kernel/security/ima/policy; then + fatal "Could not load IMA policy." + fi +} diff --git a/meta-security/meta-integrity/recipes-core/packagegroups/packagegroup-ima-evm-utils.bb b/meta-security/meta-integrity/recipes-core/packagegroups/packagegroup-ima-evm-utils.bb new file mode 100644 index 000000000..18acc9dca --- /dev/null +++ b/meta-security/meta-integrity/recipes-core/packagegroups/packagegroup-ima-evm-utils.bb @@ -0,0 +1,9 @@ +SUMMARY = "IMA/EVM userspace tools" +LICENSE = "MIT" + +inherit packagegroup + +# Only one at the moment, but perhaps more will come in the future. +RDEPENDS_${PN} = " \ + ima-evm-utils \ +" diff --git a/meta-security/meta-integrity/recipes-core/systemd/files/machine-id-commit-sync.conf b/meta-security/meta-integrity/recipes-core/systemd/files/machine-id-commit-sync.conf new file mode 100644 index 000000000..d6d3240f9 --- /dev/null +++ b/meta-security/meta-integrity/recipes-core/systemd/files/machine-id-commit-sync.conf @@ -0,0 +1,2 @@ +[Service] +ExecStartPost=/bin/sync diff --git a/meta-security/meta-integrity/recipes-core/systemd/files/random-seed-sync.conf b/meta-security/meta-integrity/recipes-core/systemd/files/random-seed-sync.conf new file mode 100644 index 000000000..f4c170bda --- /dev/null +++ b/meta-security/meta-integrity/recipes-core/systemd/files/random-seed-sync.conf @@ -0,0 +1,3 @@ +[Service] +ExecStopPost=/bin/sync +ExecStartPost=/bin/sync diff --git a/meta-security/meta-integrity/recipes-core/systemd/systemd_%.bbappend b/meta-security/meta-integrity/recipes-core/systemd/systemd_%.bbappend new file mode 100644 index 000000000..3b4554162 --- /dev/null +++ b/meta-security/meta-integrity/recipes-core/systemd/systemd_%.bbappend @@ -0,0 +1,13 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += " \ + file://machine-id-commit-sync.conf \ + file://random-seed-sync.conf \ +" + +do_install_append () { + for i in machine-id-commit random-seed; do + install -d ${D}/${systemd_system_unitdir}/systemd-$i.service.d + install -m 0644 ${WORKDIR}/$i-sync.conf ${D}/${systemd_system_unitdir}/systemd-$i.service.d + done +} diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend b/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend new file mode 100644 index 000000000..931854ef8 --- /dev/null +++ b/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/linux:" + +SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ima', ' file://ima.cfg', '', d)}" diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/0001-ima-fix-ima_inode_post_setattr.patch b/meta-security/meta-integrity/recipes-kernel/linux/linux/0001-ima-fix-ima_inode_post_setattr.patch new file mode 100644 index 000000000..64016dd3e --- /dev/null +++ b/meta-security/meta-integrity/recipes-kernel/linux/linux/0001-ima-fix-ima_inode_post_setattr.patch @@ -0,0 +1,51 @@ +From 45ea681ebc0dd44aaec5d3cc4143b9722070d3ac Mon Sep 17 00:00:00 2001 +From: Mimi Zohar +Date: Tue, 8 Mar 2016 16:43:55 -0500 +Subject: [PATCH] ima: fix ima_inode_post_setattr + +Changing file metadata (eg. uid, guid) could result in having to +re-appraise a file's integrity, but does not change the "new file" +status nor the security.ima xattr. The IMA_PERMIT_DIRECTIO and +IMA_DIGSIG_REQUIRED flags are policy rule specific. This patch +only resets these flags, not the IMA_NEW_FILE or IMA_DIGSIG flags. + +With this patch, changing the file timestamp will not remove the +file signature on new files. + +Upstream-Status: Accepted [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/security/integrity/ima/ima_appraise.c?id=42a4c603198f0d45b7aa936d3ac6ba1b8bd14a1b] + +Reported-by: Dmitry Rozhkov +Signed-off-by: Mimi Zohar +--- + security/integrity/ima/ima_appraise.c | 2 +- + security/integrity/integrity.h | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c +index 4df493e..a384ba1 100644 +--- a/security/integrity/ima/ima_appraise.c ++++ b/security/integrity/ima/ima_appraise.c +@@ -327,7 +327,7 @@ void ima_inode_post_setattr(struct dentry *dentry) + if (iint) { + iint->flags &= ~(IMA_APPRAISE | IMA_APPRAISED | + IMA_APPRAISE_SUBMASK | IMA_APPRAISED_SUBMASK | +- IMA_ACTION_FLAGS); ++ IMA_ACTION_RULE_FLAGS); + if (must_appraise) + iint->flags |= IMA_APPRAISE; + } +diff --git a/security/integrity/integrity.h b/security/integrity/integrity.h +index 0fc9519..f9decae 100644 +--- a/security/integrity/integrity.h ++++ b/security/integrity/integrity.h +@@ -28,6 +28,7 @@ + + /* iint cache flags */ + #define IMA_ACTION_FLAGS 0xff000000 ++#define IMA_ACTION_RULE_FLAGS 0x06000000 + #define IMA_DIGSIG 0x01000000 + #define IMA_DIGSIG_REQUIRED 0x02000000 + #define IMA_PERMIT_DIRECTIO 0x04000000 +-- +2.5.0 + diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/0002-ima-add-support-for-creating-files-using-the-mknodat.patch b/meta-security/meta-integrity/recipes-kernel/linux/linux/0002-ima-add-support-for-creating-files-using-the-mknodat.patch new file mode 100644 index 000000000..6ab7ce277 --- /dev/null +++ b/meta-security/meta-integrity/recipes-kernel/linux/linux/0002-ima-add-support-for-creating-files-using-the-mknodat.patch @@ -0,0 +1,138 @@ +From baaec960e9e7be0b526eaf831b079ddfe5c15124 Mon Sep 17 00:00:00 2001 +From: Mimi Zohar +Date: Thu, 10 Mar 2016 18:19:20 +0200 +Subject: [PATCH] ima: add support for creating files using the mknodat + syscall + +Commit 3034a14 "ima: pass 'opened' flag to identify newly created files" +stopped identifying empty files as new files. However new empty files +can be created using the mknodat syscall. On systems with IMA-appraisal +enabled, these empty files are not labeled with security.ima extended +attributes properly, preventing them from subsequently being opened in +order to write the file data contents. This patch marks these empty +files, created using mknodat, as new in order to allow the file data +contents to be written. + +Files with security.ima xattrs containing a file signature are considered +"immutable" and can not be modified. The file contents need to be +written, before signing the file. This patch relaxes this requirement +for new files, allowing the file signature to be written before the file +contents. + +Upstream-Status: Accepted [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/security/integrity/ima/ima_appraise.c?id=05d1a717ec0430c916a749b94eb90ab74bbfa356] + +Signed-off-by: Mimi Zohar +--- + fs/namei.c | 2 ++ + include/linux/ima.h | 7 ++++++- + security/integrity/ima/ima_appraise.c | 3 +++ + security/integrity/ima/ima_main.c | 32 +++++++++++++++++++++++++++++++- + 4 files changed, 42 insertions(+), 2 deletions(-) + +diff --git a/fs/namei.c b/fs/namei.c +index ccd7f98..19502da 100644 +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -3526,6 +3526,8 @@ retry: + switch (mode & S_IFMT) { + case 0: case S_IFREG: + error = vfs_create(path.dentry->d_inode,dentry,mode,true); ++ if (!error) ++ ima_post_path_mknod(dentry); + break; + case S_IFCHR: case S_IFBLK: + error = vfs_mknod(path.dentry->d_inode,dentry,mode, +diff --git a/include/linux/ima.h b/include/linux/ima.h +index 120ccc5..7f51971 100644 +--- a/include/linux/ima.h ++++ b/include/linux/ima.h +@@ -20,7 +20,7 @@ extern void ima_file_free(struct file *file); + extern int ima_file_mmap(struct file *file, unsigned long prot); + extern int ima_module_check(struct file *file); + extern int ima_fw_from_file(struct file *file, char *buf, size_t size); +- ++extern void ima_post_path_mknod(struct dentry *dentry); + #else + static inline int ima_bprm_check(struct linux_binprm *bprm) + { +@@ -52,6 +52,11 @@ static inline int ima_fw_from_file(struct file *file, char *buf, size_t size) + return 0; + } + ++static inline void ima_post_path_mknod(struct dentry *dentry) ++{ ++ return; ++} ++ + #endif /* CONFIG_IMA */ + + #ifdef CONFIG_IMA_APPRAISE +diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c +index 4df493e..20806ea 100644 +--- a/security/integrity/ima/ima_appraise.c ++++ b/security/integrity/ima/ima_appraise.c +@@ -274,6 +274,11 @@ out: + xattr_value->type != EVM_IMA_XATTR_DIGSIG)) { + if (!ima_fix_xattr(dentry, iint)) + status = INTEGRITY_PASS; ++ } else if ((inode->i_size == 0) && ++ (iint->flags & IMA_NEW_FILE) && ++ (xattr_value && ++ xattr_value->type == EVM_IMA_XATTR_DIGSIG)) { ++ status = INTEGRITY_PASS; + } + integrity_audit_msg(AUDIT_INTEGRITY_DATA, inode, filename, + op, cause, rc, 0); +diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c +index eeee00dc..705bf78 100644 +--- a/security/integrity/ima/ima_main.c ++++ b/security/integrity/ima/ima_main.c +@@ -242,7 +242,8 @@ static int process_measurement(struct file *file, int mask, int function, + ima_audit_measurement(iint, pathname); + + out_digsig: +- if ((mask & MAY_WRITE) && (iint->flags & IMA_DIGSIG)) ++ if ((mask & MAY_WRITE) && (iint->flags & IMA_DIGSIG) && ++ !(iint->flags & IMA_NEW_FILE)) + rc = -EACCES; + kfree(xattr_value); + out_free: +@@ -310,6 +311,35 @@ int ima_file_check(struct file *file, int mask, int opened) + EXPORT_SYMBOL_GPL(ima_file_check); + + /** ++ * ima_post_path_mknod - mark as a new inode ++ * @dentry: newly created dentry ++ * ++ * Mark files created via the mknodat syscall as new, so that the ++ * file data can be written later. ++ */ ++void ima_post_path_mknod(struct dentry *dentry) ++{ ++ struct integrity_iint_cache *iint; ++ struct inode *inode; ++ int must_appraise; ++ ++ if (!dentry || !dentry->d_inode) ++ return; ++ ++ inode = dentry->d_inode; ++ if (inode->i_size != 0) ++ return; ++ ++ must_appraise = ima_must_appraise(inode, MAY_ACCESS, FILE_CHECK); ++ if (!must_appraise) ++ return; ++ ++ iint = integrity_inode_get(inode); ++ if (iint) ++ iint->flags |= IMA_NEW_FILE; ++} ++ ++/** + * ima_module_check - based on policy, collect/store/appraise measurement. + * @file: pointer to the file to be measured/appraised + * +-- +2.5.0 + diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/Revert-ima-limit-file-hash-setting-by-user-to-fix-an.patch b/meta-security/meta-integrity/recipes-kernel/linux/linux/Revert-ima-limit-file-hash-setting-by-user-to-fix-an.patch new file mode 100644 index 000000000..157c007ba --- /dev/null +++ b/meta-security/meta-integrity/recipes-kernel/linux/linux/Revert-ima-limit-file-hash-setting-by-user-to-fix-an.patch @@ -0,0 +1,60 @@ +From a34d61850b680c152e1dcc958ee83c3ab3261c3d Mon Sep 17 00:00:00 2001 +From: Patrick Ohly +Date: Tue, 15 Nov 2016 10:10:23 +0100 +Subject: [PATCH] Revert "ima: limit file hash setting by user to fix and log + modes" + +This reverts commit c68ed80c97d9720f51ef31fe91560fdd1e121533. + +The original motivation was security hardening ("File hashes are +automatically set and updated and should not be manually set.") + +However, that hardening ignores and breaks some valid use cases: +- File hashes might not be set because the file is currently + outside of the policy and therefore have to be set by the + creator. Examples: + - Booting into an initramfs with an IMA-enabled kernel but + without setting an IMA policy, then installing + the OS onto the target partition by unpacking a rootfs archive + which has the file hashes pre-computed. + - Unpacking a file into a staging area with meta data (like owner) + that leaves the file outside of the current policy, then changing + the meta data such that it becomes part of the current policy. +- "should not be set manually" implies that the creator is aware + of IMA semantic, the current system's configuration, and then + skips setting file hashes in security.ima if (and only if) the + kernel would prevent it. That's not the case for standard, unmodified + tools. Example: unpacking an archive with security.ima xattrs with + bsdtar or GNU tar. + +Upstream-Status: Submitted [https://sourceforge.net/p/linux-ima/mailman/message/35492824/] + +Signed-off-by: Patrick Ohly +--- + security/integrity/ima/ima_appraise.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c +index 4b9b4a4..b8b2dd9 100644 +--- a/security/integrity/ima/ima_appraise.c ++++ b/security/integrity/ima/ima_appraise.c +@@ -385,14 +385,10 @@ int ima_inode_setxattr(struct dentry *dentry, const char *xattr_name, + result = ima_protect_xattr(dentry, xattr_name, xattr_value, + xattr_value_len); + if (result == 1) { +- bool digsig; +- + if (!xattr_value_len || (xvalue->type >= IMA_XATTR_LAST)) + return -EINVAL; +- digsig = (xvalue->type == EVM_IMA_XATTR_DIGSIG); +- if (!digsig && (ima_appraise & IMA_APPRAISE_ENFORCE)) +- return -EPERM; +- ima_reset_appraise_flags(d_backing_inode(dentry), digsig); ++ ima_reset_appraise_flags(d_backing_inode(dentry), ++ (xvalue->type == EVM_IMA_XATTR_DIGSIG) ? 1 : 0); + result = 0; + } + return result; +-- +2.1.4 + diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg new file mode 100644 index 000000000..b3e47ba37 --- /dev/null +++ b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg @@ -0,0 +1,18 @@ +CONFIG_IMA=y +CONFIG_IMA_MEASURE_PCR_IDX=10 +CONFIG_IMA_NG_TEMPLATE=y +CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" +CONFIG_IMA_DEFAULT_HASH_SHA1=y +CONFIG_IMA_DEFAULT_HASH="sha1" +CONFIG_IMA_APPRAISE=y +CONFIG_IMA_APPRAISE_BOOTPARAM=y +CONFIG_IMA_TRUSTED_KEYRING=y +CONFIG_SIGNATURE=y +CONFIG_IMA_WRITE_POLICY=y +CONFIG_IMA_READ_POLICY=y +CONFIG_IMA_LOAD_X509=y +CONFIG_IMA_X509_PATH="/etc/keys/x509_ima.der" + +#CONFIG_INTEGRITY_SIGNATURE=y +#CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +#CONFIG_INTEGRITY_TRUSTED_KEYRING=y diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima_evm_root_ca.cfg b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima_evm_root_ca.cfg new file mode 100644 index 000000000..9a454257a --- /dev/null +++ b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima_evm_root_ca.cfg @@ -0,0 +1,3 @@ +# CONFIG_IMA_APPRAISE_SIGNED_INIT is not set +CONFIG_EVM_LOAD_X509=y +CONFIG_EVM_X509_PATH="/etc/keys/x509_evm.der" diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch new file mode 100644 index 000000000..5ccb73d9b --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch @@ -0,0 +1,65 @@ +From 4feaf9b61f93e4043eca26b4ec9f9f68d0cf5e68 Mon Sep 17 00:00:00 2001 +From: Dmitry Eremin-Solenikov +Date: Wed, 6 Mar 2019 01:08:43 +0300 +Subject: [PATCH 1/4] ima-evm-utils: link to libcrypto instead of OpenSSL + +There is no need to link to full libssl. evmctl uses functions from +libcrypto, so let's link only against that library. + +Signed-off-by: Dmitry Eremin-Solenikov +--- + configure.ac | 4 +--- + src/Makefile.am | 9 ++++----- + 2 files changed, 5 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 60f3684..32e8d85 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -24,9 +24,7 @@ LT_INIT + # Checks for header files. + AC_HEADER_STDC + +-PKG_CHECK_MODULES(OPENSSL, [ openssl >= 0.9.8 ]) +-AC_SUBST(OPENSSL_CFLAGS) +-AC_SUBST(OPENSSL_LIBS) ++PKG_CHECK_MODULES(LIBCRYPTO, [libcrypto >= 0.9.8 ]) + AC_SUBST(KERNEL_HEADERS) + AC_CHECK_HEADER(unistd.h) + AC_CHECK_HEADERS(openssl/conf.h) +diff --git a/src/Makefile.am b/src/Makefile.am +index d74fc6f..b81281a 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1,11 +1,11 @@ + lib_LTLIBRARIES = libimaevm.la + + libimaevm_la_SOURCES = libimaevm.c +-libimaevm_la_CPPFLAGS = $(OPENSSL_CFLAGS) ++libimaevm_la_CPPFLAGS = $(LIBCRYPTO_CFLAGS) + # current[:revision[:age]] + # result: [current-age].age.revision + libimaevm_la_LDFLAGS = -version-info 0:0:0 +-libimaevm_la_LIBADD = $(OPENSSL_LIBS) ++libimaevm_la_LIBADD = $(LIBCRYPTO_LIBS) + + include_HEADERS = imaevm.h + +@@ -17,12 +17,11 @@ hash_info.h: Makefile + bin_PROGRAMS = evmctl + + evmctl_SOURCES = evmctl.c +-evmctl_CPPFLAGS = $(OPENSSL_CFLAGS) ++evmctl_CPPFLAGS = $(LIBCRYPTO_CFLAGS) + evmctl_LDFLAGS = $(LDFLAGS_READLINE) +-evmctl_LDADD = $(OPENSSL_LIBS) -lkeyutils libimaevm.la ++evmctl_LDADD = $(LIBCRYPTO_LIBS) -lkeyutils libimaevm.la + + INCLUDES = -I$(top_srcdir) -include config.h + + CLEANFILES = hash_info.h + DISTCLEANFILES = @DISTCLEANFILES@ +- +-- +2.17.1 + diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch new file mode 100644 index 000000000..8237274ca --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch @@ -0,0 +1,43 @@ +From 5bb10f3da420f4c46e44423276a9da0d4bc1b691 Mon Sep 17 00:00:00 2001 +From: Dmitry Eremin-Solenikov +Date: Wed, 6 Mar 2019 01:17:12 +0300 +Subject: [PATCH 2/4] ima-evm-utils: replace INCLUDES with AM_CPPFLAGS + +Replace INCLUDES variable with AM_CPPFLAGS to stop Automake from warning +about deprecated variable usage. + +Signed-off-by: Dmitry Eremin-Solenikov +--- + src/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index b81281a..164e7e4 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1,7 +1,7 @@ + lib_LTLIBRARIES = libimaevm.la + + libimaevm_la_SOURCES = libimaevm.c +-libimaevm_la_CPPFLAGS = $(LIBCRYPTO_CFLAGS) ++libimaevm_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBCRYPTO_CFLAGS) + # current[:revision[:age]] + # result: [current-age].age.revision + libimaevm_la_LDFLAGS = -version-info 0:0:0 +@@ -17,11 +17,11 @@ hash_info.h: Makefile + bin_PROGRAMS = evmctl + + evmctl_SOURCES = evmctl.c +-evmctl_CPPFLAGS = $(LIBCRYPTO_CFLAGS) ++evmctl_CPPFLAGS = $(AM_CPPFLAGS) $(LIBCRYPTO_CFLAGS) + evmctl_LDFLAGS = $(LDFLAGS_READLINE) + evmctl_LDADD = $(LIBCRYPTO_LIBS) -lkeyutils libimaevm.la + +-INCLUDES = -I$(top_srcdir) -include config.h ++AM_CPPFLAGS = -I$(top_srcdir) -include config.h + + CLEANFILES = hash_info.h + DISTCLEANFILES = @DISTCLEANFILES@ +-- +2.17.1 + diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch new file mode 100644 index 000000000..3d250d2fc --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch @@ -0,0 +1,31 @@ +From c587ec307a6259a990bfab727cea7db28dba4c23 Mon Sep 17 00:00:00 2001 +From: Dmitry Eremin-Solenikov +Date: Wed, 6 Mar 2019 01:22:30 +0300 +Subject: [PATCH 3/4] ima-evm-utils: include hash-info.gen into distribution + +Include hash-info.gen into tarball and call it from the sourcedir to fix +out-of-tree build (and thus 'make distcheck'). + +Signed-off-by: Dmitry Eremin-Solenikov +--- + src/Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 164e7e4..9c037e2 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -11,8 +11,9 @@ include_HEADERS = imaevm.h + + nodist_libimaevm_la_SOURCES = hash_info.h + BUILT_SOURCES = hash_info.h ++EXTRA_DIST = hash_info.gen + hash_info.h: Makefile +- ./hash_info.gen $(KERNEL_HEADERS) >$@ ++ $(srcdir)/hash_info.gen $(KERNEL_HEADERS) >$@ + + bin_PROGRAMS = evmctl + +-- +2.17.1 + diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0004-ima-evm-utils-update-.gitignore-files.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0004-ima-evm-utils-update-.gitignore-files.patch new file mode 100644 index 000000000..4ada1a271 --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0004-ima-evm-utils-update-.gitignore-files.patch @@ -0,0 +1,34 @@ +From b9f327c5c513ccea9cb56d4bbd50c1f66d629099 Mon Sep 17 00:00:00 2001 +From: Dmitry Eremin-Solenikov +Date: Wed, 6 Mar 2019 01:24:04 +0300 +Subject: [PATCH 4/4] ima-evm-utils: update .gitignore files + +Signed-off-by: Dmitry Eremin-Solenikov +--- + .gitignore | 1 + + src/.gitignore | 1 + + 2 files changed, 2 insertions(+) + create mode 100644 src/.gitignore + +diff --git a/.gitignore b/.gitignore +index ca7a06e..cb82166 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -45,6 +45,7 @@ cscope.* + ncscope.* + + # Generated documentation ++*.1 + *.8 + *.5 + manpage.links +diff --git a/src/.gitignore b/src/.gitignore +new file mode 100644 +index 0000000..38e8e3c +--- /dev/null ++++ b/src/.gitignore +@@ -0,0 +1 @@ ++hash_info.h +-- +2.17.1 + diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/command-line-apply-operation-to-all-paths.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/command-line-apply-operation-to-all-paths.patch new file mode 100644 index 000000000..35c316270 --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/command-line-apply-operation-to-all-paths.patch @@ -0,0 +1,68 @@ +From 5834216fb3aa4e5e59ee13e871c70db1b4e13f02 Mon Sep 17 00:00:00 2001 +From: Patrick Ohly +Date: Fri, 30 Sep 2016 10:22:16 +0200 +Subject: [PATCH] command line: apply operation to all paths + +Previously, invocations like "evmctl ima_hash foo bar" silently +ignored all parameters after the first path name ("foo" in this +example). + +Now evmctl iterates over all specified paths. It aborts with an +error as soon as the selected operation fails for a path. + +Supporting more than one parameter is useful in combination with +"find" and "xargs" because it is noticably faster than invoking +evmutil separately for each file, in particular when run under pseudo +(a fakeroot environment used by the OpenEmbedded build system). + +This complements the recursive mode and can be used when more control +over file selection is needed. + +Signed-off-by: Patrick Ohly +--- + src/evmctl.c | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +diff --git a/src/evmctl.c b/src/evmctl.c +index 23cf54c..2072034 100644 +--- a/src/evmctl.c ++++ b/src/evmctl.c +@@ -626,7 +626,7 @@ static int get_file_type(const char *path, const char *search_type) + static int do_cmd(struct command *cmd, find_cb_t func) + { + char *path = g_argv[optind++]; +- int err, dts = REG_MASK; /* only regular files by default */ ++ int err = 0, dts = REG_MASK; /* only regular files by default */ + + if (!path) { + log_err("Parameters missing\n"); +@@ -634,15 +634,18 @@ static int do_cmd(struct command *cmd, find_cb_t func) + return -1; + } + +- if (recursive) { +- if (search_type) { +- dts = get_file_type(path, search_type); +- if (dts < 0) +- return dts; ++ while (path && !err) { ++ if (recursive) { ++ if (search_type) { ++ dts = get_file_type(path, search_type); ++ if (dts < 0) ++ return dts; ++ } ++ err = find(path, dts, func); ++ } else { ++ err = func(path); + } +- err = find(path, dts, func); +- } else { +- err = func(path); ++ path = g_argv[optind++]; + } + + return err; +-- +2.1.4 + diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/disable-doc-creation.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/disable-doc-creation.patch new file mode 100644 index 000000000..75076f52f --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/disable-doc-creation.patch @@ -0,0 +1,50 @@ +From 321a602098d11ee712ebd01f51033b5fd369eae9 Mon Sep 17 00:00:00 2001 +From: Patrick Ohly +Date: Wed, 13 May 2015 03:41:02 -0700 +Subject: [PATCH] Makefile.am: disable man page creation + +Depends on asciidoc, which is not available. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Patrick Ohly +--- + Makefile.am | 19 ++++++++++++++++++- + 1 file changed, 18 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 06ebf59..4ddd52c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,5 +1,5 @@ + SUBDIRS = src +-dist_man_MANS = evmctl.1 ++# dist_man_MANS = evmctl.1 + + doc_DATA = examples/ima-genkey-self.sh examples/ima-genkey.sh examples/ima-gen-local-ca.sh + EXTRA_DIST = autogen.sh $(doc_DATA) +@@ -39,4 +39,21 @@ rmman: + + doc: evmctl.1.html rmman evmctl.1 + ++# requires asciidoc, xslproc, docbook-xsl ++# FIXME Disabled until docbook-xsl is unavaliable on tizen.org ++#MANPAGE_DOCBOOK_XSL = /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl ++# ++#evmctl.1.html: README ++# @asciidoc -o $@ $< ++# ++#evmctl.1: ++# asciidoc -d manpage -b docbook -o evmctl.1.xsl README ++# xsltproc --nonet -o $@ $(MANPAGE_DOCBOOK_XSL) evmctl.1.xsl ++# rm -f evmctl.1.xsl ++# ++#rmman: ++# rm -f evmctl.1 ++# ++#doc: evmctl.1.html rmman evmctl.1 ++ + .PHONY: $(tarname) +-- +1.8.4.5 + diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch new file mode 100644 index 000000000..c0bdd9b49 --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch @@ -0,0 +1,47 @@ +From 2dec9199f8a8a2c84b25a3d3e7e2f41b71e07834 Mon Sep 17 00:00:00 2001 +From: Patrick Ohly +Date: Wed, 17 Jun 2015 14:28:18 +0200 +Subject: [PATCH 20/20] evmctl.c: do not depend on xattr.h with IMA defines + +Compilation on older Linux distros (like Ubuntu 12.04) fails +because linux/xattr.h does not yet have the IMA defines. Compiling +there makes sense when only the tools are needed, for example when +signing an image in cross-compile mode. + +To support this, add fallbacks for the two defines which are needed. +Their value is part of the Linux ABI and thus fixed. + +Upstream-status: Submitted [linux-ima-devel@lists.sourceforge.net] + +Signed-off-by: Patrick Ohly + +--- + src/evmctl.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/evmctl.c b/src/evmctl.c +index c54efbb..23cf54c 100644 +--- a/src/evmctl.c ++++ b/src/evmctl.c +@@ -56,6 +56,18 @@ + #include + #include + ++/* ++ * linux/xattr.h might be old to have this. Allow compilation on older ++ * Linux distros (like Ubuntu 12.04) by falling back to our own ++ * definition. ++ */ ++#ifndef XATTR_IMA_SUFFIX ++# define XATTR_IMA_SUFFIX "ima" ++#endif ++#ifndef XATTR_NAME_IMA ++# define XATTR_NAME_IMA XATTR_SECURITY_PREFIX XATTR_IMA_SUFFIX ++#endif ++ + #include + #include + #include +-- +2.1.4 + diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils_git.bb b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils_git.bb new file mode 100644 index 000000000..929d85348 --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils_git.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "IMA/EVM control utility" +LICENSE = "GPL-2.0-with-OpenSSL-exception" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS += "openssl attr keyutils" + +DEPENDS_class-native += "openssl-native keyutils-native" + +PV = "1.0+git${SRCPV}" +SRCREV = "0267fa16990fd0ddcc89984a8e55b27d43e80167" +SRC_URI = "git://git.code.sf.net/p/linux-ima/ima-evm-utils" + +# Documentation depends on asciidoc, which we do not have, so +# do not build documentation. +SRC_URI += "file://disable-doc-creation.patch" + +# Workaround for upstream incompatibility with older Linux distros. +# Relevant for us when compiling ima-evm-utils-native. +SRC_URI += "file://evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch" + +# Required for xargs with more than one path as argument (better for performance). +SRC_URI += "file://command-line-apply-operation-to-all-paths.patch" + +SRC_URI += "\ + file://0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch \ + file://0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch \ + file://0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch \ + file://0004-ima-evm-utils-update-.gitignore-files.patch \ +" +S = "${WORKDIR}/git" + +inherit pkgconfig autotools + +EXTRA_OECONF_append_class-target = " --with-kernel-headers=${STAGING_KERNEL_BUILDDIR}" + +# blkid is called by evmctl when creating evm checksums. +# This is less useful when signing files on the build host, +# so disable it when compiling on the host. +RDEPENDS_${PN}_append_class-target = " util-linux-blkid libcrypto attr libattr keyutils" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/files/ima_policy_appraise_all b/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/files/ima_policy_appraise_all new file mode 100644 index 000000000..36e71a7d6 --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/files/ima_policy_appraise_all @@ -0,0 +1,29 @@ +# +# Integrity measure policy (http://sourceforge.net/p/linux-ima/wiki/Home/#measure-nothing-appraise-everything) +# +# Do not measure anything, but appraise everything +# +# PROC_SUPER_MAGIC +dont_appraise fsmagic=0x9fa0 +# SYSFS_MAGIC +dont_appraise fsmagic=0x62656572 +# DEBUGFS_MAGIC +dont_appraise fsmagic=0x64626720 +# TMPFS_MAGIC +dont_appraise fsmagic=0x01021994 +# RAMFS_MAGIC +dont_appraise fsmagic=0x858458f6 +# DEVPTS_SUPER_MAGIC +dont_appraise fsmagic=0x1cd1 +# BIFMT +dont_appraise fsmagic=0x42494e4d +# SECURITYFS_MAGIC +dont_appraise fsmagic=0x73636673 +# SELINUXFS_MAGIC +dont_appraise fsmagic=0xf97cff8c +# NSFS_MAGIC (introduced in 3.19, see cd025f7 and e149ed2 in the upstream Linux kernel) +dont_appraise fsmagic=0x6e736673 +# EFIVARFS_MAGIC +dont_appraise fsmagic=0xde5e81e4 + +appraise diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb b/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb new file mode 100644 index 000000000..b58d3fed9 --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "IMA sample simple appraise policy " +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +# This policy file will get installed as /etc/ima/ima-policy. +# It is located via the normal file search path, so a .bbappend +# to this recipe can just point towards one of its own files. +IMA_POLICY ?= "ima_policy_appraise_all" + +SRC_URI = " file://${IMA_POLICY}" + +do_install () { + install -d ${D}/${sysconfdir}/ima + install ${WORKDIR}/${IMA_POLICY} ${D}/${sysconfdir}/ima/ima-policy +} + +FILES_${PN} = "${sysconfdir}/ima" +RDEPENDS_${PN} = "ima-evm-utils" diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_hashed/files/ima_policy_hashed b/meta-security/meta-integrity/recipes-security/ima_policy_hashed/files/ima_policy_hashed new file mode 100644 index 000000000..7f89c8d98 --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima_policy_hashed/files/ima_policy_hashed @@ -0,0 +1,77 @@ +# With this policy, all files on regular partitions are +# appraised. Files with signed IMA hash and normal hash are +# accepted. Signed files cannot be modified while hashed files can be +# (which will also update the hash). However, signed files can +# be deleted, so in practice it is still possible to replace them +# with a modified version. +# +# Without EVM, this is obviously not very secure, so this policy is +# just an example and/or basis for further improvements. For that +# purpose, some comments show what could be added to make the policy +# more secure. +# +# With EVM the situation might be different because access +# to the EVM key can be restricted. +# +# Files which are appraised are also measured. This allows +# debugging whether a file is in policy by looking at +# /sys/kernel/security/ima/ascii_runtime_measurements + +# PROC_SUPER_MAGIC +dont_appraise fsmagic=0x9fa0 +dont_measure fsmagic=0x9fa0 +# SYSFS_MAGIC +dont_appraise fsmagic=0x62656572 +dont_measure fsmagic=0x62656572 +# DEBUGFS_MAGIC +dont_appraise fsmagic=0x64626720 +dont_measure fsmagic=0x64626720 +# TMPFS_MAGIC +dont_appraise fsmagic=0x01021994 +dont_measure fsmagic=0x01021994 +# RAMFS_MAGIC +dont_appraise fsmagic=0x858458f6 +dont_measure fsmagic=0x858458f6 +# DEVPTS_SUPER_MAGIC +dont_appraise fsmagic=0x1cd1 +dont_measure fsmagic=0x1cd1 +# BIFMT +dont_appraise fsmagic=0x42494e4d +dont_measure fsmagic=0x42494e4d +# SECURITYFS_MAGIC +dont_appraise fsmagic=0x73636673 +dont_measure fsmagic=0x73636673 +# SELINUXFS_MAGIC +dont_appraise fsmagic=0xf97cff8c +dont_measure fsmagic=0xf97cff8c +# NSFS_MAGIC (introduced in 3.19, see cd025f7 and e149ed2 in the upstream Linux kernel) +dont_appraise fsmagic=0x6e736673 +dont_measure fsmagic=0x6e736673 +# SMACK_MAGIC +dont_appraise fsmagic=0x43415d53 +dont_measure fsmagic=0x43415d53 +# CGROUP_SUPER_MAGIC +dont_appraise fsmagic=0x27e0eb +dont_measure fsmagic=0x27e0eb +# EFIVARFS_MAGIC +dont_appraise fsmagic=0xde5e81e4 +dont_measure fsmagic=0xde5e81e4 + +# Special partition, no checking done. +# dont_measure fsuuid=a11234... +# dont_appraise fsuuid=a11243... + +# Special immutable group. +# appraise appraise_type=imasig func=FILE_CHECK mask=MAY_READ fgroup=200 + +# All executables must be signed - too strict, we need to +# allow installing executables on the device. +# appraise appraise_type=imasig func=FILE_MMAP mask=MAY_EXEC +# appraise appraise_type=imasig func=BPRM_CHECK mask=MAY_EXEC + +# Default rule. Would be needed also when other rules were added that +# determine what to do in case of reading (mask=MAY_READ or +# mask=MAY_EXEC) because otherwise writing does not update the file +# hash. +appraise +measure diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb b/meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb new file mode 100644 index 000000000..3352daa03 --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "IMA sample hash policy" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +# This policy file will get installed as /etc/ima/ima-policy. +# It is located via the normal file search path, so a .bbappend +# to this recipe can just point towards one of its own files. +IMA_POLICY ?= "ima_policy_hashed" + +SRC_URI = " \ + file://${IMA_POLICY} \ +" + +do_install () { + install -d ${D}/${sysconfdir}/ima + install ${WORKDIR}/${IMA_POLICY} ${D}/${sysconfdir}/ima/ima-policy +} + +FILES_${PN} = "${sysconfdir}/ima" +RDEPENDS_${PN} = "ima-evm-utils" diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_simple/files/ima_policy_simple b/meta-security/meta-integrity/recipes-security/ima_policy_simple/files/ima_policy_simple new file mode 100644 index 000000000..38ca8f53d --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima_policy_simple/files/ima_policy_simple @@ -0,0 +1,4 @@ +# Very simple policy demonstrating the systemd policy loading bug +# (policy with one line works, two lines don't). +dont_appraise fsmagic=0x9fa0 +dont_appraise fsmagic=0x62656572 diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb b/meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb new file mode 100644 index 000000000..17132aa22 --- /dev/null +++ b/meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "IMA sample simple policy" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +# This policy file will get installed as /etc/ima/ima-policy. +# It is located via the normal file search path, so a .bbappend +# to this recipe can just point towards one of its own files. +IMA_POLICY ?= "ima_policy_simple" + +SRC_URI = " file://${IMA_POLICY}" + +do_install () { + install -d ${D}/${sysconfdir}/ima + install ${WORKDIR}/${IMA_POLICY} ${D}/${sysconfdir}/ima/ima-policy +} + +FILES_${PN} = "${sysconfdir}/ima" +RDEPENDS_${PN} = "ima-evm-utils" diff --git a/meta-security/meta-integrity/scripts/ima-gen-CA-signed.sh b/meta-security/meta-integrity/scripts/ima-gen-CA-signed.sh new file mode 100755 index 000000000..5f3a728fa --- /dev/null +++ b/meta-security/meta-integrity/scripts/ima-gen-CA-signed.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# +# Copied from ima-evm-utils. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 as published by the Free Software Foundation. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +GENKEY=ima.genkey +CA=${1:-ima-local-ca.pem} +CAKEY=${2:-ima-local-ca.priv} + +cat << __EOF__ >$GENKEY +[ req ] +default_bits = 1024 +distinguished_name = req_distinguished_name +prompt = no +string_mask = utf8only +x509_extensions = v3_usr + +[ req_distinguished_name ] +O = example.com +CN = meta-intel-iot-security example signing key +emailAddress = john.doe@example.com + +[ v3_usr ] +basicConstraints=critical,CA:FALSE +#basicConstraints=CA:FALSE +keyUsage=digitalSignature +#keyUsage = nonRepudiation, digitalSignature, keyEncipherment +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid +#authorityKeyIdentifier=keyid,issuer +__EOF__ + +openssl req -new -nodes -utf8 -sha1 -days 365 -batch -config $GENKEY \ + -out csr_ima.pem -keyout privkey_ima.pem +openssl x509 -req -in csr_ima.pem -days 365 -extfile $GENKEY -extensions v3_usr \ + -CA $CA -CAkey $CAKEY -CAcreateserial \ + -outform DER -out x509_ima.der diff --git a/meta-security/meta-integrity/scripts/ima-gen-local-ca.sh b/meta-security/meta-integrity/scripts/ima-gen-local-ca.sh new file mode 100755 index 000000000..b6007614a --- /dev/null +++ b/meta-security/meta-integrity/scripts/ima-gen-local-ca.sh @@ -0,0 +1,42 @@ +#!/bin/sh +# +# Copied from ima-evm-utils. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 as published by the Free Software Foundation. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +GENKEY=ima-local-ca.genkey + +cat << __EOF__ >$GENKEY +[ req ] +default_bits = 2048 +distinguished_name = req_distinguished_name +prompt = no +string_mask = utf8only +x509_extensions = v3_ca + +[ req_distinguished_name ] +O = example.com +CN = meta-intel-iot-security example certificate signing key +emailAddress = john.doe@example.com + +[ v3_ca ] +basicConstraints=CA:TRUE +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid:always,issuer +# keyUsage = cRLSign, keyCertSign +__EOF__ + +openssl req -new -x509 -utf8 -sha1 -days 3650 -batch -config $GENKEY \ + -outform DER -out ima-local-ca.x509 -keyout ima-local-ca.priv + +openssl x509 -inform DER -in ima-local-ca.x509 -out ima-local-ca.pem diff --git a/meta-security/meta-integrity/scripts/ima-gen-self-signed.sh b/meta-security/meta-integrity/scripts/ima-gen-self-signed.sh new file mode 100755 index 000000000..5ee876c05 --- /dev/null +++ b/meta-security/meta-integrity/scripts/ima-gen-self-signed.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# +# Copied from ima-evm-utils. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 as published by the Free Software Foundation. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +GENKEY=ima.genkey + +cat << __EOF__ >$GENKEY +[ req ] +default_bits = 1024 +distinguished_name = req_distinguished_name +prompt = no +string_mask = utf8only +x509_extensions = myexts + +[ req_distinguished_name ] +O = example.com +CN = meta-intel-iot-security example signing key +emailAddress = john.doe@example.com + +[ myexts ] +basicConstraints=critical,CA:FALSE +keyUsage=digitalSignature +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid +__EOF__ + +openssl req -new -nodes -utf8 -sha1 -days 36500 -batch \ + -x509 -config $GENKEY \ + -outform DER -out x509_ima.der -keyout privkey_ima.pem diff --git a/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb b/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb index 812408e5e..0f53a8cde 100644 --- a/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb +++ b/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb @@ -9,3 +9,4 @@ EXTRA_OECONF += " \ " RDEPENDS_${PN} = "acl zlib attr bash" +RCONFLICTS_${PN} = "samhain-standalone" diff --git a/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb b/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb index 9341d4440..d304912e7 100644 --- a/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb +++ b/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb @@ -18,3 +18,4 @@ do_install_append() { } RDEPENDS_${PN} += "gmp bash perl" +RCONFLICTS_${PN} = "samhain-standalone" diff --git a/meta-security/recipes-security/bastille/bastille_3.2.1.bb b/meta-security/recipes-security/bastille/bastille_3.2.1.bb index 152c03ae5..e9accb56f 100644 --- a/meta-security/recipes-security/bastille/bastille_3.2.1.bb +++ b/meta-security/recipes-security/bastille/bastille_3.2.1.bb @@ -41,8 +41,7 @@ S = "${WORKDIR}/Bastille" do_install () { install -d ${D}${sbindir} - install -d ${D}${libdir}/perl/site_perl/Curses - ln -sf perl ${D}/${libdir}/perl5 + install -d ${D}${libdir}/perl5/site_perl/Curses install -d ${D}${libdir}/Bastille install -d ${D}${libdir}/Bastille/API @@ -51,7 +50,6 @@ do_install () { install -d ${D}${datadir}/Bastille/OSMap/Modules install -d ${D}${datadir}/Bastille/Questions install -d ${D}${datadir}/Bastille/FKL/configs/ - install -d ${D}${localstatedir}/lock/subsys/bastille install -d ${D}${localstatedir}/log/Bastille install -d ${D}${sysconfdir}/Bastille install -m 0755 AutomatedBastille ${D}${sbindir} diff --git a/meta-security/recipes-security/checksec/checksec_1.11.1.bb b/meta-security/recipes-security/checksec/checksec_1.11.1.bb new file mode 100644 index 000000000..835dffcd8 --- /dev/null +++ b/meta-security/recipes-security/checksec/checksec_1.11.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "Linux system security checks" +DESCRIPTION = "The checksec script is designed to test what standard Linux OS and PaX security features are being used." +SECTION = "security" +LICENSE = "BSD" +HOMEPAGE="https://github.com/slimm609/checksec.sh" + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=93fddcca19f6c897871f9b5f9a035f4a" + +SRCREV = "3c15cb89641c700096fdec0c1904a0cf9b83c5e2" +SRC_URI = "git://github.com/slimm609/checksec.sh" + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/checksec ${D}${bindir} +} + +RDEPENDS_${PN} = "bash openssl-bin" diff --git a/meta-security/recipes-security/checksec/checksec_1.11.bb b/meta-security/recipes-security/checksec/checksec_1.11.bb deleted file mode 100644 index 59a67bd65..000000000 --- a/meta-security/recipes-security/checksec/checksec_1.11.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Linux system security checks" -DESCRIPTION = "The checksec script is designed to test what standard Linux OS and PaX security features are being used." -SECTION = "security" -LICENSE = "BSD" -HOMEPAGE="https://github.com/slimm609/checksec.sh" - -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=93fddcca19f6c897871f9b5f9a035f4a" - -SRCREV = "a57e03c4f62dbaca0ec949bbc58491fb0c461447" -SRC_URI = "git://github.com/slimm609/checksec.sh" - -S = "${WORKDIR}/git" - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${S}/checksec ${D}${bindir} -} - -RDEPENDS_${PN} = "bash openssl-bin" diff --git a/meta-security/recipes-security/fail2ban/files/0001-To-fix-build-error-of-xrang.patch b/meta-security/recipes-security/fail2ban/files/0001-To-fix-build-error-of-xrang.patch new file mode 100644 index 000000000..7f0812c4e --- /dev/null +++ b/meta-security/recipes-security/fail2ban/files/0001-To-fix-build-error-of-xrang.patch @@ -0,0 +1,28 @@ +From fe3436d65518099d35c643848cba50253abc249c Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Thu, 9 May 2019 14:44:51 +0900 +Subject: [PATCH] To fix build error of xrange. + +NameError: name 'xrange' is not defined + +Signed-off-by: Lei Maohui +--- + fail2ban/__init__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fail2ban/__init__.py b/fail2ban/__init__.py +index fa6dcf7..61789a4 100644 +--- a/fail2ban/__init__.py ++++ b/fail2ban/__init__.py +@@ -82,7 +82,7 @@ strptime("2012", "%Y") + + # short names for pure numeric log-level ("Level 25" could be truncated by short formats): + def _init(): +- for i in xrange(50): ++ for i in range(50): + if logging.getLevelName(i).startswith('Level'): + logging.addLevelName(i, '#%02d-Lev.' % i) + _init() +-- +2.7.4 + diff --git a/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb b/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb index 5c887e857..23ef027b3 100644 --- a/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb +++ b/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb @@ -2,3 +2,7 @@ inherit setuptools3 require python-fail2ban.inc RDEPENDS_${PN}-ptest = "python3-core python3-io python3-modules python3-fail2ban" + +SRC_URI += " \ + file://0001-To-fix-build-error-of-xrang.patch \ +" diff --git a/meta-security/recipes-security/keyutils/files/fix_library_install_path.patch b/meta-security/recipes-security/keyutils/files/fix_library_install_path.patch new file mode 100644 index 000000000..938fe2eb5 --- /dev/null +++ b/meta-security/recipes-security/keyutils/files/fix_library_install_path.patch @@ -0,0 +1,28 @@ +From b0355cc205543ffd33752874295139d57c4fbc3e Mon Sep 17 00:00:00 2001 +From: Wenzong Fan +Date: Tue, 26 Sep 2017 07:59:51 +0000 +Subject: [PATCH] Subject: [PATCH] keyutils: use relative path for link + +The absolute path of the symlink will be invalid +when populated in sysroot, so use relative path instead. + +Upstream-Status: Pending + +Signed-off-by: Jackie Huang +Signed-off-by: Wenzong Fan +{rebased for 1.6] +Signed-off-by: Armin Kuster + +Index: keyutils-1.6/Makefile +=================================================================== +--- keyutils-1.6.orig/Makefile ++++ keyutils-1.6/Makefile +@@ -184,7 +184,7 @@ ifeq ($(NO_SOLIB),0) + $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) + $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) + mkdir -p $(DESTDIR)$(USRLIBDIR) +- $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) ++ $(LNS) $(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) + sed \ + -e 's,@VERSION\@,$(VERSION),g' \ + -e 's,@prefix\@,$(PREFIX),g' \ diff --git a/meta-security/recipes-security/keyutils/keyutils_1.6.bb b/meta-security/recipes-security/keyutils/keyutils_1.6.bb index c961fa293..4d3a96f29 100644 --- a/meta-security/recipes-security/keyutils/keyutils_1.6.bb +++ b/meta-security/recipes-security/keyutils/keyutils_1.6.bb @@ -12,13 +12,13 @@ LICENSE = "LGPLv2.1+ & GPLv2.0+" LIC_FILES_CHKSUM = "file://LICENCE.GPL;md5=5f6e72824f5da505c1f4a7197f004b45 \ file://LICENCE.LGPL;md5=7d1cacaa3ea752b72ea5e525df54a21f" - -inherit siteinfo ptest +inherit siteinfo autotools-brokensep ptest SRC_URI = "http://people.redhat.com/dhowells/keyutils/${BP}.tar.bz2 \ file://keyutils-test-fix-output-format.patch \ file://keyutils-fix-error-report-by-adding-default-message.patch \ file://run-ptest \ + file://fix_library_install_path.patch \ " SRC_URI[md5sum] = "191987b0ab46bb5b50efd70a6e6ce808" @@ -28,14 +28,15 @@ EXTRA_OEMAKE = "'CFLAGS=${CFLAGS} -Wall' \ NO_ARLIB=1 \ BINDIR=${base_bindir} \ SBINDIR=${base_sbindir} \ - LIBDIR=${base_libdir} \ - USRLIBDIR=${base_libdir} \ + LIBDIR=${libdir} \ + USRLIBDIR=${libdir} \ + INCLUDEDIR=${includedir} \ BUILDFOR=${SITEINFO_BITS}-bit \ NO_GLIBC_KEYERR=1 \ " do_install () { - install -d ${D}/${nonarch_base_libdir}/pkgconfig + install -d ${D}/${libdir}/pkgconfig oe_runmake DESTDIR=${D} install } @@ -44,8 +45,9 @@ do_install_ptest () { sed -i -e 's/OSDIST=Unknown/OSDIST=${DISTRO}/' ${D}${PTEST_PATH}/tests/prepare.inc.sh } -FILES_${PN}-dev += "${nonarch_base_libdir}/pkgconfig/libkeyutils.pc" RDEPENDS_${PN}-ptest += "lsb" RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-security/recipes-security/scapy/python-scapy.inc b/meta-security/recipes-security/scapy/python-scapy.inc index 99f30a7bf..baa69b244 100644 --- a/meta-security/recipes-security/scapy/python-scapy.inc +++ b/meta-security/recipes-security/scapy/python-scapy.inc @@ -12,13 +12,6 @@ SRC_URI = "git://github.com/secdev/scapy.git" inherit ptest -do_install_append() { - if [ "${PYTHON_PN}" = "python3" ]; then - sed -i -e 's/python/python3/' ${D}${bindir}/scapy - sed -i -e 's/python/python3/' ${D}${bindir}/UTscapy - fi -} - do_install_ptest() { install -m 0644 ${S}/test/regression.uts ${D}${PTEST_PATH} sed -i 's,@PTEST_PATH@,${PTEST_PATH},' ${D}${PTEST_PATH}/run-ptest diff --git a/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb b/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb index 98db1fd6d..982620e0b 100644 --- a/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb +++ b/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb @@ -4,3 +4,8 @@ require python-scapy.inc SRC_URI += "file://run-ptest" RDEPENDS_${PN} += "${PYTHON_PN}-subprocess" + +do_install_append() { + mv ${D}${bindir}/scapy ${D}${bindir}/scapy2 + mv ${D}${bindir}/UTscapy ${D}${bindir}/UTscapy2 +} diff --git a/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb b/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb index 83c79f484..abcaeeb0b 100644 --- a/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb +++ b/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb @@ -3,3 +3,7 @@ require python-scapy.inc SRC_URI += "file://run-ptest" +do_install_append() { + mv ${D}${bindir}/scapy ${D}${bindir}/scapy3 + mv ${D}${bindir}/UTscapy ${D}${bindir}/UTscapy3 +} diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py index dae42ac47..e2f91fa3b 100644 --- a/poky/bitbake/lib/bb/build.py +++ b/poky/bitbake/lib/bb/build.py @@ -163,12 +163,35 @@ class LogTee(object): def __repr__(self): return ''.format(self.name) + def flush(self): self.outfile.flush() + +class StdoutNoopContextManager: + """ + This class acts like sys.stdout, but adds noop __enter__ and __exit__ methods. + """ + def __enter__(self): + return sys.stdout + + def __exit__(self, *exc_info): + pass + + def write(self, string): + return sys.stdout.write(string) + + def flush(self): + sys.stdout.flush() + + @property + def name(self): + return sys.stdout.name + + # # pythonexception allows the python exceptions generated to be raised -# as the real exceptions (not FuncFailed) and without a backtrace at the +# as the real exceptions (not FuncFailed) and without a backtrace at the # origin of the failure. # def exec_func(func, d, dirs = None, pythonexception=False): @@ -323,6 +346,42 @@ trap 'bb_exit_handler' 0 set -e ''' +def create_progress_handler(func, progress, logfile, d): + if progress == 'percent': + # Use default regex + return bb.progress.BasicProgressHandler(d, outfile=logfile) + elif progress.startswith('percent:'): + # Use specified regex + return bb.progress.BasicProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile) + elif progress.startswith('outof:'): + # Use specified regex + return bb.progress.OutOfProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile) + elif progress.startswith("custom:"): + # Use a custom progress handler that was injected via OE_EXTRA_IMPORTS or __builtins__ + import functools + from types import ModuleType + + parts = progress.split(":", 2) + _, cls, otherargs = parts[0], parts[1], (parts[2] or None) if parts[2:] else None + if cls: + def resolve(x, y): + if not x: + return None + if isinstance(x, ModuleType): + return getattr(x, y, None) + return x.get(y) + cls_obj = functools.reduce(resolve, cls.split("."), bb.utils._context) + if not cls_obj: + # Fall-back on __builtins__ + cls_obj = functools.reduce(lambda x, y: x.get(y), cls.split("."), __builtins__) + if cls_obj: + return cls_obj(d, outfile=logfile, otherargs=otherargs) + bb.warn('%s: unknown custom progress handler in task progress varflag value "%s", ignoring' % (func, cls)) + else: + bb.warn('%s: invalid task progress varflag value "%s", ignoring' % (func, progress)) + + return logfile + def exec_func_shell(func, d, runfile, cwd=None): """Execute a shell function from the metadata @@ -360,23 +419,13 @@ exit $ret cmd = [fakerootcmd, runfile] if bb.msg.loggerDefaultVerbose: - logfile = LogTee(logger, sys.stdout) + logfile = LogTee(logger, StdoutNoopContextManager()) else: - logfile = sys.stdout + logfile = StdoutNoopContextManager() progress = d.getVarFlag(func, 'progress') if progress: - if progress == 'percent': - # Use default regex - logfile = bb.progress.BasicProgressHandler(d, outfile=logfile) - elif progress.startswith('percent:'): - # Use specified regex - logfile = bb.progress.BasicProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile) - elif progress.startswith('outof:'): - # Use specified regex - logfile = bb.progress.OutOfProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile) - else: - bb.warn('%s: invalid task progress varflag value "%s", ignoring' % (func, progress)) + logfile = create_progress_handler(func, progress, logfile, d) fifobuffer = bytearray() def readfifo(data): @@ -428,7 +477,7 @@ exit $ret bb.debug(2, "Executing shell function %s" % func) try: - with open(os.devnull, 'r+') as stdin: + with open(os.devnull, 'r+') as stdin, logfile: bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)]) except bb.process.CmdError: logfn = d.getVar('BB_LOGFILE') diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py index 060758e0c..5fb2f17cd 100644 --- a/poky/bitbake/lib/bb/cache.py +++ b/poky/bitbake/lib/bb/cache.py @@ -237,7 +237,7 @@ def virtualfn2realfn(virtualfn): Convert a virtual file name to a real one + the associated subclass keyword """ mc = "" - if virtualfn.startswith('multiconfig:'): + if virtualfn.startswith('mc:'): elems = virtualfn.split(':') mc = elems[1] virtualfn = ":".join(elems[2:]) @@ -258,7 +258,7 @@ def realfn2virtual(realfn, cls, mc): if cls: realfn = "virtual:" + cls + ":" + realfn if mc: - realfn = "multiconfig:" + mc + ":" + realfn + realfn = "mc:" + mc + ":" + realfn return realfn def variant2virtual(realfn, variant): @@ -267,11 +267,11 @@ def variant2virtual(realfn, variant): """ if variant == "": return realfn - if variant.startswith("multiconfig:"): + if variant.startswith("mc:"): elems = variant.split(":") if elems[2]: - return "multiconfig:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn - return "multiconfig:" + elems[1] + ":" + realfn + return "mc:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn + return "mc:" + elems[1] + ":" + realfn return "virtual:" + variant + ":" + realfn def parse_recipe(bb_data, bbfile, appends, mc=''): @@ -349,7 +349,7 @@ class NoCache(object): bb_data = self.databuilder.mcdata[mc].createCopy() newstores = parse_recipe(bb_data, bbfile, appends, mc) for ns in newstores: - datastores["multiconfig:%s:%s" % (mc, ns)] = newstores[ns] + datastores["mc:%s:%s" % (mc, ns)] = newstores[ns] return datastores diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py index c8e14042d..0008c2fde 100644 --- a/poky/bitbake/lib/bb/cooker.py +++ b/poky/bitbake/lib/bb/cooker.py @@ -378,8 +378,9 @@ class BBCooker: if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset: self.disableDataTracking() - self.data.renameVar("__depends", "__base_depends") - self.add_filewatch(self.data.getVar("__base_depends", False), self.configwatcher) + for mc in self.databuilder.mcdata.values(): + mc.renameVar("__depends", "__base_depends") + self.add_filewatch(mc.getVar("__base_depends", False), self.configwatcher) self.baseconfig_valid = True self.parsecache_valid = False @@ -494,6 +495,7 @@ class BBCooker: """ fn = None envdata = None + mc = '' if not pkgs_to_build: pkgs_to_build = [] @@ -502,6 +504,12 @@ class BBCooker: self.enableDataTracking() self.reset() + def mc_base(p): + if p.startswith('mc:'): + s = p.split(':') + if len(s) == 2: + return s[1] + return None if buildfile: # Parse the configuration here. We need to do it explicitly here since @@ -512,18 +520,16 @@ class BBCooker: fn = self.matchFile(fn) fn = bb.cache.realfn2virtual(fn, cls, mc) elif len(pkgs_to_build) == 1: - ignore = self.data.getVar("ASSUME_PROVIDED") or "" - if pkgs_to_build[0] in set(ignore.split()): - bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0]) + mc = mc_base(pkgs_to_build[0]) + if not mc: + ignore = self.data.getVar("ASSUME_PROVIDED") or "" + if pkgs_to_build[0] in set(ignore.split()): + bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0]) - taskdata, runlist = self.buildTaskData(pkgs_to_build, None, self.configuration.abort, allowincomplete=True) + taskdata, runlist = self.buildTaskData(pkgs_to_build, None, self.configuration.abort, allowincomplete=True) - mc = runlist[0][0] - fn = runlist[0][3] - else: - envdata = self.data - data.expandKeys(envdata) - parse.ast.runAnonFuncs(envdata) + mc = runlist[0][0] + fn = runlist[0][3] if fn: try: @@ -532,6 +538,12 @@ class BBCooker: except Exception as e: parselog.exception("Unable to read %s", fn) raise + else: + if not mc in self.databuilder.mcdata: + bb.fatal('Not multiconfig named "%s" found' % mc) + envdata = self.databuilder.mcdata[mc] + data.expandKeys(envdata) + parse.ast.runAnonFuncs(envdata) # Display history with closing(StringIO()) as env: @@ -571,10 +583,10 @@ class BBCooker: wildcard = False # Wild card expansion: - # Replace string such as "multiconfig:*:bash" - # into "multiconfig:A:bash multiconfig:B:bash bash" + # Replace string such as "mc:*:bash" + # into "mc:A:bash mc:B:bash bash" for k in targetlist: - if k.startswith("multiconfig:"): + if k.startswith("mc:"): if wildcard: bb.fatal('multiconfig conflict') if k.split(":")[1] == "*": @@ -607,7 +619,7 @@ class BBCooker: runlist = [] for k in fulltargetlist: mc = "" - if k.startswith("multiconfig:"): + if k.startswith("mc:"): mc = k.split(":")[1] k = ":".join(k.split(":")[2:]) ktask = task @@ -626,9 +638,13 @@ class BBCooker: runlist.append([mc, k, ktask, fn]) bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(fulltargetlist)), self.data) + havemc = False + for mc in self.multiconfigs: + if taskdata[mc].get_mcdepends(): + havemc = True # No need to do check providers if there are no mcdeps or not an mc build - if len(self.multiconfigs) > 1: + if havemc or len(self.multiconfigs) > 1: seen = set() new = True # Make sure we can provide the multiconfig dependency @@ -688,7 +704,7 @@ class BBCooker: @staticmethod def add_mc_prefix(mc, pn): if mc: - return "multiconfig:%s:%s" % (mc, pn) + return "mc:%s:%s" % (mc, pn) return pn def buildDependTree(self, rq, taskdata): @@ -1465,7 +1481,7 @@ class BBCooker: ntargets = [] for target in runlist: if target[0]: - ntargets.append("multiconfig:%s:%s:%s" % (target[0], target[1], target[2])) + ntargets.append("mc:%s:%s:%s" % (target[0], target[1], target[2])) ntargets.append("%s:%s" % (target[1], target[2])) for mc in self.multiconfigs: @@ -1588,6 +1604,9 @@ class BBCooker: for pkg in pkgs_to_build: if pkg in ignore: parselog.warning("Explicit target \"%s\" is in ASSUME_PROVIDED, ignoring" % pkg) + if pkg.startswith("multiconfig:"): + pkgs_to_build.remove(pkg) + pkgs_to_build.append(pkg.replace("multiconfig:", "mc:")) if 'world' in pkgs_to_build: pkgs_to_build.remove('world') @@ -1595,7 +1614,7 @@ class BBCooker: bb.providers.buildWorldTargetList(self.recipecaches[mc], task) for t in self.recipecaches[mc].world_target: if mc: - t = "multiconfig:" + mc + ":" + t + t = "mc:" + mc + ":" + t pkgs_to_build.append(t) if 'universe' in pkgs_to_build: @@ -1614,7 +1633,7 @@ class BBCooker: bb.debug(1, "Skipping %s for universe tasks as task %s doesn't exist" % (t, task)) continue if mc: - t = "multiconfig:" + mc + ":" + t + t = "mc:" + mc + ":" + t pkgs_to_build.append(t) return pkgs_to_build diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py index f8ae41093..842275d53 100644 --- a/poky/bitbake/lib/bb/cookerdata.py +++ b/poky/bitbake/lib/bb/cookerdata.py @@ -342,14 +342,24 @@ class CookerDataBuilder(object): data = parse_config_file(layerconf, data) layers = (data.getVar('BBLAYERS') or "").split() + broken_layers = [] data = bb.data.createCopy(data) approved = bb.utils.approved_variables() + + # Check whether present layer directories exist for layer in layers: if not os.path.isdir(layer): - parselog.critical("Layer directory '%s' does not exist! " - "Please check BBLAYERS in %s" % (layer, layerconf)) - sys.exit(1) + broken_layers.append(layer) + + if broken_layers: + parselog.critical("The following layer directories do not exist:") + for layer in broken_layers: + parselog.critical(" %s", layer) + parselog.critical("Please check BBLAYERS in %s" % (layerconf)) + sys.exit(1) + + for layer in layers: parselog.debug(2, "Adding layer %s", layer) if 'HOME' in approved and '~' in layer: layer = os.path.expanduser(layer) diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py index 0126e0d7c..f6b5529bb 100644 --- a/poky/bitbake/lib/bb/fetch2/__init__.py +++ b/poky/bitbake/lib/bb/fetch2/__init__.py @@ -843,6 +843,11 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None): if val: cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd) + # Ensure that a _PYTHON_SYSCONFIGDATA_NAME value set by a recipe + # (for example via python3native.bbclass since warrior) is not set for + # host Python (otherwise tools like git-make-shallow will fail) + cmd = 'unset _PYTHON_SYSCONFIGDATA_NAME; ' + cmd + # Disable pseudo as it may affect ssh, potentially causing it to hang. cmd = 'export PSEUDO_DISABLED=1; ' + cmd diff --git a/poky/bitbake/lib/bb/fetch2/npm.py b/poky/bitbake/lib/bb/fetch2/npm.py index f08bdee73..4427b1bb8 100644 --- a/poky/bitbake/lib/bb/fetch2/npm.py +++ b/poky/bitbake/lib/bb/fetch2/npm.py @@ -151,20 +151,11 @@ class Npm(FetchMethod): Parse the output of npm view --json; the last JSON result is assumed to be the one that we're interested in. ''' - pdata = None - outdeps = {} - datalines = [] - bracelevel = 0 - for line in output.splitlines(): - if bracelevel: - datalines.append(line) - elif '{' in line: - datalines = [] - datalines.append(line) - bracelevel = bracelevel + line.count('{') - line.count('}') - if datalines: - pdata = json.loads('\n'.join(datalines)) - return pdata + pdata = json.loads(output); + try: + return pdata[-1] + except: + return pdata def _getdependencies(self, pkg, data, version, d, ud, optional=False, fetchedlist=None): if fetchedlist is None: diff --git a/poky/bitbake/lib/bb/fetch2/svn.py b/poky/bitbake/lib/bb/fetch2/svn.py index baeb0e7ee..59ce93160 100644 --- a/poky/bitbake/lib/bb/fetch2/svn.py +++ b/poky/bitbake/lib/bb/fetch2/svn.py @@ -91,6 +91,13 @@ class Svn(FetchMethod): svncmd = "%s log --limit 1 %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module) else: suffix = "" + + # externals may be either 'allowed' or 'nowarn', but not both. Allowed + # will not issue a warning, but will log to the debug buffer what has likely + # been downloaded by SVN. + if not ("externals" in ud.parm and ud.parm["externals"] == "allowed"): + options.append("--ignore-externals") + if ud.revision: options.append("-r %s" % ud.revision) suffix = "@%s" % (ud.revision) @@ -136,6 +143,18 @@ class Svn(FetchMethod): bb.fetch2.check_network_access(d, svnfetchcmd, ud.url) runfetchcmd(svnfetchcmd, d, workdir=ud.pkgdir) + if not ("externals" in ud.parm and ud.parm["externals"] == "nowarn"): + # Warn the user if this had externals (won't catch them all) + output = runfetchcmd("svn propget svn:externals", d, workdir=ud.moddir) + if output: + if "--ignore-externals" in svnfetchcmd.split(): + bb.warn("%s contains svn:externals." % ud.url) + bb.warn("These should be added to the recipe SRC_URI as necessary.") + bb.warn("svn fetch has ignored externals:\n%s" % output) + bb.warn("To disable this warning add ';externals=nowarn' to the url.") + else: + bb.debug(1, "svn repository has externals:\n%s" % output) + scmdata = ud.parm.get("scmdata", "") if scmdata == "keep": tar_flags = "" diff --git a/poky/bitbake/lib/bb/main.py b/poky/bitbake/lib/bb/main.py index 8d1978f98..ca59eb9af 100755 --- a/poky/bitbake/lib/bb/main.py +++ b/poky/bitbake/lib/bb/main.py @@ -491,7 +491,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None): def lockBitbake(): topdir = bb.cookerdata.findTopdir() if not topdir: - bb.error("Unable to find conf/bblayers.conf or conf/bitbake.conf. BBAPTH is unset and/or not in a build directory?") + bb.error("Unable to find conf/bblayers.conf or conf/bitbake.conf. BBPATH is unset and/or not in a build directory?") raise BBMainFatal lockfile = topdir + "/bitbake.lock" return topdir, bb.utils.lockfile(lockfile, False, False) diff --git a/poky/bitbake/lib/bb/progress.py b/poky/bitbake/lib/bb/progress.py index e9b72e28b..4022caa71 100644 --- a/poky/bitbake/lib/bb/progress.py +++ b/poky/bitbake/lib/bb/progress.py @@ -13,6 +13,7 @@ import time import inspect import bb.event import bb.build +from bb.build import StdoutNoopContextManager class ProgressHandler(object): """ @@ -27,7 +28,14 @@ class ProgressHandler(object): if outfile: self._outfile = outfile else: - self._outfile = sys.stdout + self._outfile = StdoutNoopContextManager() + + def __enter__(self): + self._outfile.__enter__() + return self + + def __exit__(self, *excinfo): + self._outfile.__exit__(*excinfo) def _fire_progress(self, taskprogress, rate=None): """Internal function to fire the progress event""" @@ -147,6 +155,12 @@ class MultiStageProgressReporter(object): self._stage_total = None self._callers = [] + def __enter__(self): + return self + + def __exit__(self, *excinfo): + pass + def _fire_progress(self, taskprogress): bb.event.fire(bb.build.TaskProgress(taskprogress), self._data) diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index d573ed460..010b08501 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -39,7 +39,7 @@ def taskname_from_tid(tid): return tid.rsplit(":", 1)[1] def mc_from_tid(tid): - if tid.startswith('multiconfig:'): + if tid.startswith('mc:'): return tid.split(':')[1] return "" @@ -48,12 +48,12 @@ def split_tid(tid): return (mc, fn, taskname) def split_tid_mcfn(tid): - if tid.startswith('multiconfig:'): + if tid.startswith('mc:'): elems = tid.split(':') mc = elems[1] fn = ":".join(elems[2:-1]) taskname = elems[-1] - mcfn = "multiconfig:" + mc + ":" + fn + mcfn = "mc:" + mc + ":" + fn else: tid = tid.rsplit(":", 1) mc = "" @@ -65,7 +65,7 @@ def split_tid_mcfn(tid): def build_tid(mc, fn, taskname): if mc: - return "multiconfig:" + mc + ":" + fn + ":" + taskname + return "mc:" + mc + ":" + fn + ":" + taskname return fn + ":" + taskname class RunQueueStats: diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py index e0a66e68d..fe580e487 100644 --- a/poky/bitbake/lib/bb/siggen.py +++ b/poky/bitbake/lib/bb/siggen.py @@ -179,7 +179,7 @@ class SignatureGeneratorBasic(SignatureGenerator): def get_taskhash(self, fn, task, deps, dataCache): mc = '' - if fn.startswith('multiconfig:'): + if fn.startswith('mc:'): mc = fn.split(':')[1] k = fn + "." + task @@ -194,7 +194,7 @@ class SignatureGeneratorBasic(SignatureGenerator): depmc = pkgname.split(':')[1] if mc != depmc: continue - if dep.startswith("multiconfig:") and not mc: + if dep.startswith("mc:") and not mc: continue depname = dataCache.pkg_fn[pkgname] if not self.rundep_check(fn, recipename, task, dep, depname, dataCache): @@ -412,13 +412,13 @@ def list_inline_diff(oldlist, newlist, colors=None): def clean_basepath(a): mc = None - if a.startswith("multiconfig:"): + if a.startswith("mc:"): _, mc, a = a.split(":", 2) b = a.rsplit("/", 2)[1] + '/' + a.rsplit("/", 2)[2] if a.startswith("virtual:"): b = b + ":" + a.rsplit(":", 1)[0] if mc: - b = b + ":multiconfig:" + mc + b = b + ":mc:" + mc return b def clean_basepaths(a): diff --git a/poky/bitbake/lib/bb/taskdata.py b/poky/bitbake/lib/bb/taskdata.py index c7de3db38..d13bd7c3b 100644 --- a/poky/bitbake/lib/bb/taskdata.py +++ b/poky/bitbake/lib/bb/taskdata.py @@ -81,7 +81,7 @@ class TaskData: def add_mcdepends(task): for dep in task_deps['mcdepends'][task].split(): if len(dep.split(':')) != 5: - bb.msg.fatal("TaskData", "Error for %s:%s[%s], multiconfig dependency %s does not contain exactly four ':' characters.\n Task '%s' should be specified in the form 'multiconfig:fromMC:toMC:packagename:task'" % (fn, task, 'mcdepends', dep, 'mcdepends')) + bb.msg.fatal("TaskData", "Error for %s:%s[%s], multiconfig dependency %s does not contain exactly four ':' characters.\n Task '%s' should be specified in the form 'mc:fromMC:toMC:packagename:task'" % (fn, task, 'mcdepends', dep, 'mcdepends')) if dep not in self.mcdepends: self.mcdepends.append(dep) diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py index 6bdf0416d..16f975b13 100644 --- a/poky/bitbake/lib/bb/tests/fetch.py +++ b/poky/bitbake/lib/bb/tests/fetch.py @@ -991,6 +991,86 @@ class FetcherNetworkTest(FetcherTest): self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/ctest/README.md')), msg='Missing submodule checkout') self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/testrunner/readme.md')), msg='Missing submodule checkout') +class SVNTest(FetcherTest): + def skipIfNoSvn(): + import shutil + if not shutil.which("svn"): + return unittest.skip("svn not installed, tests being skipped") + + if not shutil.which("svnadmin"): + return unittest.skip("svnadmin not installed, tests being skipped") + + return lambda f: f + + @skipIfNoSvn() + def setUp(self): + """ Create a local repository """ + + super(SVNTest, self).setUp() + + # Create something we can fetch + src_dir = tempfile.mkdtemp(dir=self.tempdir, + prefix='svnfetch_srcdir_') + src_dir = os.path.abspath(src_dir) + bb.process.run("echo readme > README.md", cwd=src_dir) + + # Store it in a local SVN repository + repo_dir = tempfile.mkdtemp(dir=self.tempdir, + prefix='svnfetch_localrepo_') + repo_dir = os.path.abspath(repo_dir) + bb.process.run("svnadmin create project", cwd=repo_dir) + + self.repo_url = "file://%s/project" % repo_dir + bb.process.run("svn import --non-interactive -m 'Initial import' %s %s/trunk" % (src_dir, self.repo_url), + cwd=repo_dir) + + bb.process.run("svn co %s svnfetch_co" % self.repo_url, cwd=self.tempdir) + # Github will emulate SVN. Use this to check if we're downloding... + bb.process.run("svn propset svn:externals 'bitbake http://github.com/openembedded/bitbake' .", + cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk')) + bb.process.run("svn commit --non-interactive -m 'Add external'", + cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk')) + + self.src_dir = src_dir + self.repo_dir = repo_dir + + @skipIfNoSvn() + def tearDown(self): + os.chdir(self.origdir) + if os.environ.get("BB_TMPDIR_NOCLEAN") == "yes": + print("Not cleaning up %s. Please remove manually." % self.tempdir) + else: + bb.utils.prunedir(self.tempdir) + + @skipIfNoSvn() + @skipIfNoNetwork() + def test_noexternal_svn(self): + # Always match the rev count from setUp (currently rev 2) + url = "svn://%s;module=trunk;protocol=file;rev=2" % self.repo_url.replace('file://', '') + fetcher = bb.fetch.Fetch([url], self.d) + fetcher.download() + os.chdir(os.path.dirname(self.unpackdir)) + fetcher.unpack(self.unpackdir) + + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk')), msg="Missing trunk") + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk', 'README.md')), msg="Missing contents") + self.assertFalse(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk')), msg="External dir should NOT exist") + self.assertFalse(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk', 'README')), msg="External README should NOT exit") + + @skipIfNoSvn() + def test_external_svn(self): + # Always match the rev count from setUp (currently rev 2) + url = "svn://%s;module=trunk;protocol=file;externals=allowed;rev=2" % self.repo_url.replace('file://', '') + fetcher = bb.fetch.Fetch([url], self.d) + fetcher.download() + os.chdir(os.path.dirname(self.unpackdir)) + fetcher.unpack(self.unpackdir) + + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk')), msg="Missing trunk") + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk', 'README.md')), msg="Missing contents") + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk')), msg="External dir should exist") + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk', 'README')), msg="External README should exit") + class TrustedNetworksTest(FetcherTest): def test_trusted_network(self): # Ensure trusted_network returns False when the host IS in the list. diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py index 3d9e2031b..88f638fb3 100644 --- a/poky/bitbake/lib/bb/ui/knotty.py +++ b/poky/bitbake/lib/bb/ui/knotty.py @@ -300,8 +300,8 @@ class TerminalFilter(object): if start_time: pbar.start_time = start_time pbar.setmessage('%s:%s' % (tasknum, pbar.msg.split(':', 1)[1])) + pbar.setextra(rate) if progress > -1: - pbar.setextra(rate) content = pbar.update(progress) else: content = pbar.update(1) diff --git a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml index bd9c32685..9ae2e423e 100644 --- a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml +++ b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml @@ -53,7 +53,7 @@ thud Openembedded Thud - 1 + 4 thud Toaster will run your builds using the tip of the <a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=thud\">OpenEmbedded Thud</a> branch. diff --git a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml index 4162e4fba..da3b93032 100644 --- a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml +++ b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml @@ -58,7 +58,7 @@ thud Yocto Project 2.6 "Thud" - 1 + 4 thud Toaster will run your builds using the tip of the <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=thud">Yocto Project Thud branch</a>. diff --git a/poky/documentation/Makefile b/poky/documentation/Makefile index accf23414..525a7309a 100644 --- a/poky/documentation/Makefile +++ b/poky/documentation/Makefile @@ -156,7 +156,7 @@ TARFILES = dev-style.css dev-manual.html \ TARFILES = dev-style.css dev-manual.html figures/buildhistory-web.png \ figures/dev-title.png figures/buildhistory.png \ figures/recipe-workflow.png figures/bitbake-build-flow.png \ - figures/multiconfig_files.png + figures/multiconfig_files.png figures/cute-files-npm-example.png endif MANUALS = $(DOC)/$(DOC).html @@ -260,7 +260,7 @@ TARFILES = mega-manual.html mega-style.css \ figures/sdk-devtool-modify-flow.png \ figures/sdk-devtool-upgrade-flow.png figures/bitbake-build-flow.png figures/bypqs-title.png \ figures/overview-manual-title.png figures/sdk-autotools-flow.png figures/sdk-makefile-flow.png \ - figures/bb_multiconfig_files.png figures/bitbake-title.png + figures/bb_multiconfig_files.png figures/bitbake-title.png figures/cute-files-npm-example.png endif MANUALS = $(DOC)/$(DOC).html diff --git a/poky/documentation/dev-manual/dev-manual-common-tasks.xml b/poky/documentation/dev-manual/dev-manual-common-tasks.xml index 8ddcd5b07..9231d1416 100644 --- a/poky/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/poky/documentation/dev-manual/dev-manual-common-tasks.xml @@ -4197,11 +4197,27 @@ built by layer recipes. It is recommended to keep recipes up-to-date with upstream version releases. + + + + While several methods exist that allow you upgrade a recipe, + you might consider checking on the upgrade status of a recipe + first. + You can do so using the + devtool check-upgrade-status command. + See the + "Checking on the Upgrade Status of a Recipe" + section in the Yocto Project Reference Manual for more information. + + + + The remainder of this section describes three ways you can + upgrade a recipe. You can use the Automated Upgrade Helper (AUH) to set up automatic version upgrades. Alternatively, you can use devtool upgrade to set up semi-automatic version upgrades. - Finally, you can even manually upgrade a recipe by editing the + Finally, you can manually upgrade a recipe by editing the recipe itself. @@ -4319,12 +4335,6 @@ directory you just created for AUH. Make these following configurations: - - Enable "distrodata" as follows: - - INHERIT =+ "distrodata" - - If you want to enable Build History, @@ -8964,11 +8974,17 @@ Handling optional module packaging - Using Runtime Package Management + Using runtime package management + + + Generating and using signed packages Setting up and running package test (ptest) + + Creating node package manager (NPM) packages + @@ -10397,6 +10413,292 @@ + +
+ Creating Node Package Manager (NPM) Packages + + + NPM + is a package manager for the JavaScript programming + language. + The Yocto Project supports the NPM + fetcher. + You can use this fetcher in combination with + devtool + to create recipes that produce NPM packages. + + + + Two workflows exist that allow you to create NPM packages + using devtool: the NPM registry modules + method and the NPM project code method. + + While it is possible to create NPM recipes manually, + using devtool is far simpler. + + Additionally, some requirements and caveats exist. + + +
+ Requirements and Caveats + + + You need to be aware of the following before using + devtool to create NPM packages: + + + Of the two methods that you can use + devtool to create NPM + packages, the registry approach is slightly + simpler. + However, you might consider the project + approach because you do not have to publish + your module in the NPM registry + (npm-registry), + which is NPM's public registry. + + + Be familiar with + devtool. + + + The NPM host tools need the native + nodejs-npm package, which + is part of the OpenEmbedded environment. + You need to get the package by cloning the + + repository out of GitHub. + Be sure to add the path to your local copy to + your bblayers.conf file. + + + devtool cannot detect + native libraries in module dependencies. + Consequently, you must manually add packages + to your recipe. + + + While deploying NPM packages, + devtool cannot determine + which dependent packages are missing on the + target (e.g. the node runtime + nodejs). + Consequently, you need to find out what + files are missing and be sure they are on the + target. + + + Although you might not need NPM to run your + node package, it is useful to have NPM on your + target. + The NPM package name is + nodejs-npm. + + + +
+ +
+ Using the Registry Modules Method + + + This section presents an example that uses the + cute-files module, which is a + file browser web application. + + You must know the cute-files + module version. + + + + + The first thing you need to do is use + devtool and the NPM fetcher to + create the recipe: + + $ devtool add "npm://registry.npmjs.org;name=cute-files;version=1.0.2" + + The devtool add command runs + recipetool create and uses the + same fetch URI to download each dependency and capture + license details where possible. + The result is a generated recipe. + + + + The recipe file is fairly simple and contains every + license that recipetool finds + and includes the licenses in the recipe's + LIC_FILES_CHKSUM + variables. + You need to examine the variables and look for those + with "unknown" in the + LICENSE + field. + You need to track down the license information for + "unknown" modules and manually add the information to the + recipe. + + + + recipetool creates "shrinkwrap" and + "lockdown" files for your recipe. + Shrinkwrap files capture the version of all dependent + modules. + Many packages do not provide shrinkwrap files. + recipetool create a shrinkwrap + file as it runs. + You can replace the shrinkwrap file with your own file + by setting the NPM_SHRINKWRAP + variable. + + + + Lockdown files contain the checksum for each module + to determine if your users download the same files when + building with a recipe. + Lockdown files ensure that dependencies have not been + changed and that your NPM registry is still providing + the same file. + + A package is created for each sub-module. + This policy is the only practical way to have the + licenses for all of the dependencies represented + in the license manifest of the image. + + + + + The devtool edit-recipe command + lets you take a look at the recipe: + + $ devtool edit-recipe cute-files + SUMMARY = "Turn any folder on your computer into a cute file browser, available on the local network." + LICENSE = "BSD-3-Clause & Unknown & MIT & ISC" + LIC_FILES_CHKSUM = "file://LICENSE;md5=71d98c0a1db42956787b1909c74a86ca \ + file://node_modules/content-disposition/LICENSE;md5=c6e0ce1e688c5ff16db06b7259e9cd20 \ + file://node_modules/express/LICENSE;md5=5513c00a5c36cd361da863dd9aa8875d \ + ... + + SRC_URI = "npm://registry.npmjs.org;name=cute-files;version=${PV}" + NPM_SHRINKWRAP := "${THISDIR}/${PN}/npm-shrinkwrap.json" + NPM_LOCKDOWN := "${THISDIR}/${PN}/lockdown.json" + inherit npm + # Must be set after inherit npm since that itself sets S + S = "${WORKDIR}/npmpkg" + + LICENSE_${PN}-content-disposition = "MIT" + ... + LICENSE_${PN}-express = "MIT" + LICENSE_${PN} = "MIT" + + Three key points exist in the previous example: + + + SRC_URI + uses the NPM scheme so that the NPM fetcher + is used. + + + recipetool collects all + the license information. + If a sub-module's license is unavailable, + the sub-module's name appears in the comments. + + + The inherit npm statement + causes the + npm + class to package up all the modules. + + + + + + You can run the following command to build the + cute-files package: + + $ devtool build cute-files + + Remember that nodejs must be + installed on the target before your package. + + + + Assuming 192.168.7.2 for the target's IP address, use + the following command to deploy your package: + + $ devtool deploy-target -s cute-files root@192.168.7.2 + + Once the package is installed on the target, you can + test the application: + + Because of a know issue, you cannot simply run + cute-files as you would if you + had run npm install. + + + $ cd /usr/lib/node_modules/cute-files + $ node cute-files.js + + On a browser, go to + http://192.168.7.2:3000 and you + see the following: + + + + + You can find the recipe in + workspace/recipes/cute-files. + You can use the recipe in any layer you choose. + +
+ +
+ Using the NPM Projects Code Method + + + Although it is useful to package modules already in the + NPM registry, adding node.js projects + under development is a more common developer use case. + + + + This section covers the NPM projects code method, which is + very similar to the "registry" approach described in the + previous section. + In the NPM projects method, you provide + devtool with an URL that points to the + source files. + + + + Replicating the same example, (i.e. + cute-files) use the following command: + + $ devtool add https://github.com/martinaglv/cute-files.git + + The recipe this command generates is very similar to the + recipe created in the previous section. + However, the SRC_URI looks like the + following: + + SRC_URI = "git://github.com/martinaglv/cute-files.git;protocol=https \ + npm://registry.npmjs.org;name=commander;version=2.9.0;subdir=node_modules/commander \ + npm://registry.npmjs.org;name=express;version=4.14.0;subdir=node_modules/express \ + npm://registry.npmjs.org;name=content-disposition;version=0.3.0;subdir=node_modules/content-disposition \ + " + + In this example, the main module is taken from the Git + repository and dependents are taken from the NPM registry. + Other than those differences, the recipe is basically the + same between the two methods. + You can build and deploy the package exactly as described + in the previous section that uses the registry modules + method. + +
+
@@ -10519,7 +10821,7 @@ Using systemd Exclusively - Set the these variables in your distribution configuration + Set these variables in your distribution configuration file as follows: DISTRO_FEATURES_append = " systemd" diff --git a/poky/documentation/dev-manual/figures/cute-files-npm-example.png b/poky/documentation/dev-manual/figures/cute-files-npm-example.png new file mode 100644 index 000000000..1ebe74f53 Binary files /dev/null and b/poky/documentation/dev-manual/figures/cute-files-npm-example.png differ diff --git a/poky/documentation/mega-manual/figures/cute-files-npm-example.png b/poky/documentation/mega-manual/figures/cute-files-npm-example.png new file mode 100644 index 000000000..1ebe74f53 Binary files /dev/null and b/poky/documentation/mega-manual/figures/cute-files-npm-example.png differ diff --git a/poky/documentation/overview-manual/overview-manual-concepts.xml b/poky/documentation/overview-manual/overview-manual-concepts.xml index 8a1b38c87..f085dd710 100644 --- a/poky/documentation/overview-manual/overview-manual-concepts.xml +++ b/poky/documentation/overview-manual/overview-manual-concepts.xml @@ -924,17 +924,18 @@ Source Control Managers (Optional) - Another place the build system can get source files from is - through a Source Control Manager (SCM) such as Git or - Subversion. + Another place from which the build system can get source + files is with + fetchers + employing various Source Control Managers (SCMs) such as + Git or Subversion. In such cases, a repository is cloned or checked out. The do_fetch task inside BitBake uses the SRC_URI variable and the argument's prefix to determine the correct - fetcher - module. + fetcher module. For information on how to have the OpenEmbedded build system generate tarballs for Git repositories and place diff --git a/poky/documentation/ref-manual/migration.xml b/poky/documentation/ref-manual/migration.xml index 1ecf5b999..ade8787b4 100644 --- a/poky/documentation/ref-manual/migration.xml +++ b/poky/documentation/ref-manual/migration.xml @@ -2566,9 +2566,7 @@ OE-Core. The change includes package_regex.inc and distro_alias.inc, which are typically enabled - when using the - distrodata - class. + when using the distrodata class. Additionally, the contents of upstream_tracking.inc has now been split out to the relevant recipes. diff --git a/poky/documentation/ref-manual/ref-classes.xml b/poky/documentation/ref-manual/ref-classes.xml index d602851c5..ece47e757 100644 --- a/poky/documentation/ref-manual/ref-classes.xml +++ b/poky/documentation/ref-manual/ref-classes.xml @@ -335,18 +335,6 @@
-
- <filename>bugzilla.bbclass</filename> - - - The bugzilla class supports setting up an - instance of Bugzilla in which you can automatically files bug reports - in response to build failures. - For this class to work, you need to enable the XML-RPC interface in - the instance of Bugzilla. - -
-
<filename>buildhistory.bbclass</filename> @@ -714,39 +702,6 @@
-
- <filename>distrodata.bbclass</filename> - - - The distrodata class - provides for automatic checking for upstream recipe updates. - The class creates a comma-separated value (CSV) spreadsheet that - contains information about the recipes. - The information provides the - do_distrodata - and - do_distro_check tasks, which do upstream checking - and also verify if a package is used in multiple major distributions. - - - - The class is not included by default. - To use it, you must set the - INHERIT - variable: - - INHERIT+= "distrodata" - - - - - The distrodata class also provides the - do_checkpkg - task, which can be used against a simple recipe or against an - image to get all its recipe information. - -
-
<filename>distutils*.bbclass</filename> @@ -776,11 +731,6 @@ some of the distutils* classes to provide common Python2 support. - - - The distutils-tools class supports recipes for - additional "distutils" tools. -
@@ -2335,13 +2285,16 @@ This check was removed for YP 2.3 release <filename>npm.bbclass</filename> - Provides support for building Node.js software fetched using the npm - package manager. + Provides support for building Node.js software fetched using the + node package manager (NPM). Currently, recipes inheriting this class must use the npm:// fetcher to have dependencies fetched and packaged automatically. + For information on how to create NPM packages, see the + "Creating Node Package Manager (NPM) Packages" + section in the Yocto Project Development Tasks Manual.
diff --git a/poky/documentation/ref-manual/ref-devtool-reference.xml b/poky/documentation/ref-manual/ref-devtool-reference.xml index b974d0f59..4810d28ad 100644 --- a/poky/documentation/ref-manual/ref-devtool-reference.xml +++ b/poky/documentation/ref-manual/ref-devtool-reference.xml @@ -34,7 +34,7 @@ You can run devtool --help to see all the commands: - $ devtool --help + $ devtool -h NOTE: Starting bitbake server... usage: devtool [--basepath BASEPATH] [--bbpath BBPATH] [-d] [-q] [--color COLOR] [-h] @@ -43,50 +43,48 @@ OpenEmbedded development tool options: - --basepath BASEPATH Base directory of SDK / build directory - --bbpath BBPATH Explicitly specify the BBPATH, rather than getting it - from the metadata - -d, --debug Enable debug output - -q, --quiet Print only errors - --color COLOR Colorize output (where COLOR is auto, always, never) - -h, --help show this help message and exit + --basepath BASEPATH Base directory of SDK / build directory + --bbpath BBPATH Explicitly specify the BBPATH, rather than getting it + from the metadata + -d, --debug Enable debug output + -q, --quiet Print only errors + --color COLOR Colorize output (where COLOR is auto, always, never) + -h, --help show this help message and exit subcommands: Beginning work on a recipe: - add Add a new recipe - modify Modify the source for an existing recipe - upgrade Upgrade an existing recipe + add Add a new recipe + modify Modify the source for an existing recipe + upgrade Upgrade an existing recipe Getting information: - status Show workspace status - search Search available recipes - latest-version Report the latest version of an existing recipe + status Show workspace status + search Search available recipes + latest-version Report the latest version of an existing recipe + check-upgrade-status Report upgradability for multiple (or all) recipes Working on a recipe in the workspace: - build Build a recipe - rename Rename a recipe file in the workspace - edit-recipe Edit a recipe file - find-recipe Find a recipe file - configure-help Get help on configure script options - update-recipe Apply changes from external source tree to recipe - reset Remove a recipe from your workspace - finish Finish working on a recipe in your workspace + build Build a recipe + rename Rename a recipe file in the workspace + edit-recipe Edit a recipe file + find-recipe Find a recipe file + configure-help Get help on configure script options + update-recipe Apply changes from external source tree to recipe + reset Remove a recipe from your workspace + finish Finish working on a recipe in your workspace Testing changes on target: - deploy-target Deploy recipe output files to live target machine - undeploy-target Undeploy recipe output files in live target machine - build-image Build image including workspace recipe packages + deploy-target Deploy recipe output files to live target machine + undeploy-target Undeploy recipe output files in live target machine + build-image Build image including workspace recipe packages Advanced: - create-workspace Set up workspace in an alternative location - export Export workspace into a tar archive - import Import exported tar archive into workspace - extract Extract the source for an existing recipe - sync Synchronize the source tree for an existing recipe + create-workspace Set up workspace in an alternative location + export Export workspace into a tar archive + import Import exported tar archive into workspace + extract Extract the source for an existing recipe + sync Synchronize the source tree for an existing recipe Use devtool <subcommand> --help to get help on a specific command - - - - As directed in the general help output, you can get more - syntax on a specific command by providing the command - name and using --help: + As directed in the general help output, you can get more syntax + on a specific command by providing the command name and using + "--help": $ devtool add --help NOTE: Starting bitbake server... @@ -429,6 +427,108 @@ +
+ Checking on the Upgrade Status of a Recipe + + + Upstream recipes change over time. + Consequently, you might find that you need to determine if you + can upgrade a recipe to a newer version. + + + + To check on the upgrade status of a recipe, use the + devtool check-upgrade-status command. + The command displays a table of your current recipe versions, + the latest upstream versions, the email address of the recipe's + maintainer, and any additional information such as commit hash + strings and reasons you might not be able to upgrade a particular + recipe. + NOTES: + + + For the oe-core layer, recipe + maintainers come from the + maintainers.inc + file. + + + If the recipe is using the + Git fetcher + rather than a tarball, the commit hash points to the + commit that matches the recipe's latest version tag. + + + + + + + As with all devtool commands, you can get + help on the individual command: + + $ devtool check-upgrade-status -h + NOTE: Starting bitbake server... + usage: devtool check-upgrade-status [-h] [--all] [recipe [recipe ...]] + + Prints a table of recipes together with versions currently provided by + recipes, and latest upstream versions, when there is a later version available + + arguments: + recipe Name of the recipe to report (omit to report upgrade info for + all recipes) + + options: + -h, --help show this help message and exit + --all, -a Show all recipes, not just recipes needing upgrade + + + + + Unless you provide a specific recipe name on the command line, + the command checks all recipes in all configured layers. + + + + Following is a partial example table that reports on all the + recipes. + Notice the reported reason for not upgrading the + base-passwd recipe. + In this example, while a new version is available upstream, + you do not want to use it because the dependency on + cdebconf is not easily satisfied. + + When a reason for not upgrading displays, the reason is + usually written into the recipe using the + RECIPE_NO_UPDATE_REASON variable. + See the + base-passwd.bb + recipe for an example. + + + $ devtool check-upgrade-status + ... + NOTE: acpid 2.0.30 2.0.31 + Ross Burton <ross.burton@intel.com> + NOTE: u-boot-fw-utils 2018.11 2019.01 + Marek Vasut <marek.vasut@gmail.com> + d3689267f92c5956e09cc7d1baa4700141662bff + NOTE: u-boot-tools 2018.11 2019.01 + Marek Vasut <marek.vasut@gmail.com> + d3689267f92c5956e09cc7d1baa4700141662bff + . + . + . + NOTE: base-passwd 3.5.29 3.5.45 + Anuj Mittal <anuj.mittal@intel.com> cannot be updated due to: Version + 3.5.38 requires cdebconf for update-passwd utility + NOTE: busybox 1.29.2 1.30.0 + Andrej Valek <andrej.valek@siemens.com> + NOTE: dbus-test 1.12.10 1.12.12 + Chen Qi <Qi.Chen@windriver.com> + + +
+
Upgrading a Recipe @@ -443,6 +543,13 @@ section of the Yocto Project Development Tasks Manual. This section overviews the devtool upgrade command. + + Before you upgrade a recipe, you can check on its upgrade + status. + See the + "Checking on the Upgrade Status of a Recipe" + for more information. + diff --git a/poky/documentation/ref-manual/ref-features.xml b/poky/documentation/ref-manual/ref-features.xml index 7a3555d0b..b057d2d04 100644 --- a/poky/documentation/ref-manual/ref-features.xml +++ b/poky/documentation/ref-manual/ref-features.xml @@ -76,8 +76,6 @@ ext2: Hardware HDD or Microdrive - irda: Hardware has IrDA support - keyboard: Hardware has a keyboard pcbios: Support for booting through BIOS @@ -190,8 +188,6 @@ support. ipv6: Include IPv6 support. - irda: Include IrDA support. - keyboard: Include keyboard support (e.g. keymaps will be loaded during boot). diff --git a/poky/documentation/ref-manual/ref-tasks.xml b/poky/documentation/ref-manual/ref-tasks.xml index 8f3ff26d2..011e0d749 100644 --- a/poky/documentation/ref-manual/ref-tasks.xml +++ b/poky/documentation/ref-manual/ref-tasks.xml @@ -158,32 +158,6 @@
-
- <filename>do_distrodata</filename> - - - Provides information about the recipe. - - - - The distrodata task is included as part of the - distrodata - class. - - - - To build the distrodata task, use the - bitbake command with the "-c" option and - task name: - - $ bitbake core-image-minimal -c distrodata - - By default, the results are stored in - $LOG_DIR - (e.g. $BUILD_DIR/tmp/log). - -
-
<filename>do_fetch</filename> @@ -192,7 +166,8 @@ This task uses the SRC_URI variable and the argument's prefix to determine the correct - fetcher module. + fetcher + module.
@@ -635,9 +610,18 @@ - The checkpkg task is included as part of the - distrodata - class. + To check the upstream version and status of a recipe, use the + following devtool commands: + + $ devtool latest-version + $ devtool check-upgrade-status + + See the + "devtool Quick Reference" + chapter for more information on devtool. + See the + "Checking on the Upgrade Status of a Recipe" + section for information on checking the upgrade status of a recipe. diff --git a/poky/documentation/ref-manual/ref-variables.xml b/poky/documentation/ref-manual/ref-variables.xml index 0d01c16dd..12876e3d9 100644 --- a/poky/documentation/ref-manual/ref-variables.xml +++ b/poky/documentation/ref-manual/ref-variables.xml @@ -16629,16 +16629,16 @@ - When the - distrodata - class is enabled globally, you can perform a per-recipe - check for what the latest upstream source code version is - by calling + You can perform a per-recipe check for what the latest + upstream source code version is by calling bitbake -c checkpkg recipe. If the recipe source code is provided from Git repositories, the OpenEmbedded build system determines the latest upstream version by picking the latest tag from the list of all repository tags. + + + You can use the UPSTREAM_CHECK_GITTAGREGEX variable to provide a regular expression to filter only the @@ -16658,11 +16658,8 @@ - When the - distrodata - class is enabled globally, use the - UPSTREAM_CHECK_REGEX variable to - specify a different regular expression instead of the + Use the UPSTREAM_CHECK_REGEX variable + to specify a different regular expression instead of the default one when the package checking system is parsing the page found using UPSTREAM_CHECK_URI. @@ -16680,12 +16677,9 @@ - When the - distrodata - class is enabled globally, you can perform a per-recipe - check for what the latest upstream source code version is - by calling bitbake -c checkpkg - recipe. + You can perform a per-recipe check for what the latest + upstream source code version is by calling + bitbake -c checkpkg recipe. If the source code is provided from tarballs, the latest version is determined by fetching the directory listing where the tarball is and attempting to find a later tarball. diff --git a/poky/documentation/sdk-manual/sdk-extensible.xml b/poky/documentation/sdk-manual/sdk-extensible.xml index f7c5c00b8..bd5278493 100644 --- a/poky/documentation/sdk-manual/sdk-extensible.xml +++ b/poky/documentation/sdk-manual/sdk-extensible.xml @@ -825,7 +825,9 @@ versioning schemes, extract code into or out of the devtool workspace, - and work with any source file forms that the fetchers support. + and work with any source file forms that the + fetchers + support. diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample index 9068e567d..59b4d9561 100644 --- a/poky/meta-poky/conf/local.conf.sample +++ b/poky/meta-poky/conf/local.conf.sample @@ -34,8 +34,8 @@ #MACHINE ?= "mpc8315e-rdb" #MACHINE ?= "edgerouter" # -# This sets the default machine to be qemux86 if no other machine is selected: -MACHINE ??= "qemux86" +# This sets the default machine to be qemux86-64 if no other machine is selected: +MACHINE ??= "qemux86-64" # # Where to place downloads diff --git a/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb b/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb index 4d4e34dc8..44c8e1bf5 100644 --- a/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb +++ b/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb @@ -28,3 +28,4 @@ do_install() { } FILES_${PN} = "/init ${sysconfdir}/rc.local.sample" +RCONFLICTS_${PN} = "systemd" diff --git a/poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb b/poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb new file mode 100644 index 000000000..e0b4e13c2 --- /dev/null +++ b/poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb @@ -0,0 +1,3 @@ +SUMMARY = "Recipe with an alias of an SPDX license" +DESCRIPTION = "Is licensed with an alias of an SPDX license to be used for testing" +LICENSE = "GPLv3" diff --git a/poky/meta-selftest/recipes-test/license/incompatible-license.bb b/poky/meta-selftest/recipes-test/license/incompatible-license.bb new file mode 100644 index 000000000..1728ad76b --- /dev/null +++ b/poky/meta-selftest/recipes-test/license/incompatible-license.bb @@ -0,0 +1,3 @@ +SUMMARY = "Recipe with an SPDX license" +DESCRIPTION = "Is licensed with an SPDX license to be used for testing" +LICENSE = "GPL-3.0" diff --git a/poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb b/poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb new file mode 100644 index 000000000..35af0966e --- /dev/null +++ b/poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb @@ -0,0 +1,3 @@ +SUMMARY = "Recipe with a non-SPDX license" +DESCRIPTION = "Is licensed with a non-SPDX license to be used for testing" +LICENSE = "FooLicense" diff --git a/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb b/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb index 3dbc0f5d1..a76a6bea1 100644 --- a/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb +++ b/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb @@ -8,7 +8,7 @@ MCIMGTYPE_virtclass-mcextend-tiny = "cpio.gz" MC_DEPLOY_DIR_IMAGE = "${TOPDIR}/tmp-mc-${MCNAME}/deploy/images/${MCMACHINE}" -do_install[mcdepends] += "multiconfig::${MCNAME}:core-image-minimal:do_image_complete multiconfig::${MCNAME}:virtual/kernel:do_deploy" +do_install[mcdepends] += "mc::${MCNAME}:core-image-minimal:do_image_complete mc::${MCNAME}:virtual/kernel:do_deploy" do_install () { install -d ${D}/var/lib/machines/${MCNAME} diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf index bc18ee8c4..35814cd8f 100644 --- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf +++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf @@ -18,7 +18,7 @@ IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap" EXTRA_IMAGECMD_jffs2 = "-lnp " WKS_FILE ?= "beaglebone-yocto.wks" IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage" -do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot" +do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot u-boot:do_deploy" SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0" SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" 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 \ diff --git a/poky/scripts/lib/recipetool/create_buildsys_python.py b/poky/scripts/lib/recipetool/create_buildsys_python.py index 1a38bd0b1..ac9bc9237 100644 --- a/poky/scripts/lib/recipetool/create_buildsys_python.py +++ b/poky/scripts/lib/recipetool/create_buildsys_python.py @@ -31,11 +31,11 @@ def tinfoil_init(instance): class PythonRecipeHandler(RecipeHandler): - base_pkgdeps = ['python-core'] - excluded_pkgdeps = ['python-dbg'] - # os.path is provided by python-core + base_pkgdeps = ['python3-core'] + excluded_pkgdeps = ['python3-dbg'] + # os.path is provided by python3-core assume_provided = ['builtins', 'os.path'] - # Assumes that the host python builtin_module_names is sane for target too + # Assumes that the host python3 builtin_module_names is sane for target too assume_provided = assume_provided + list(sys.builtin_module_names) bbvar_map = { @@ -215,9 +215,9 @@ class PythonRecipeHandler(RecipeHandler): self.apply_info_replacements(info) if uses_setuptools: - classes.append('setuptools') + classes.append('setuptools3') else: - classes.append('distutils') + classes.append('distutils3') if license_str: for i, line in enumerate(lines_before): @@ -282,7 +282,7 @@ class PythonRecipeHandler(RecipeHandler): for feature, feature_reqs in extras_req.items(): unmapped_deps.difference_update(feature_reqs) - feature_req_deps = ('python-' + r.replace('.', '-').lower() for r in sorted(feature_reqs)) + feature_req_deps = ('python3-' + r.replace('.', '-').lower() for r in sorted(feature_reqs)) lines_after.append('PACKAGECONFIG[{}] = ",,,{}"'.format(feature.lower(), ' '.join(feature_req_deps))) inst_reqs = set() @@ -293,7 +293,7 @@ class PythonRecipeHandler(RecipeHandler): if inst_reqs: unmapped_deps.difference_update(inst_reqs) - inst_req_deps = ('python-' + r.replace('.', '-').lower() for r in sorted(inst_reqs)) + inst_req_deps = ('python3-' + r.replace('.', '-').lower() for r in sorted(inst_reqs)) lines_after.append('# WARNING: the following rdepends are from setuptools install_requires. These') lines_after.append('# upstream names may not correspond exactly to bitbake package names.') lines_after.append('RDEPENDS_${{PN}} += "{}"'.format(' '.join(inst_req_deps))) @@ -356,7 +356,7 @@ class PythonRecipeHandler(RecipeHandler): return info, 'setuptools' in imported_modules, non_literals, extensions def get_setup_args_info(self, setupscript='./setup.py'): - cmd = ['python', setupscript] + cmd = ['python3', setupscript] info = {} keys = set(self.bbvar_map.keys()) keys |= set(self.setuparg_list_fields) @@ -390,7 +390,7 @@ class PythonRecipeHandler(RecipeHandler): def get_setup_byline(self, fields, setupscript='./setup.py'): info = {} - cmd = ['python', setupscript] + cmd = ['python3', setupscript] cmd.extend('--' + self.setuparg_map.get(f, f.lower()) for f in fields) try: info_lines = self.run_command(cmd, cwd=os.path.dirname(setupscript)).splitlines() @@ -527,7 +527,7 @@ class PythonRecipeHandler(RecipeHandler): pkgdata_dir = tinfoil.config_data.getVar('PKGDATA_DIR') ldata = tinfoil.config_data.createCopy() - bb.parse.handle('classes/python-dir.bbclass', ldata, True) + bb.parse.handle('classes/python3-dir.bbclass', ldata, True) python_sitedir = ldata.getVar('PYTHON_SITEPACKAGES_DIR') dynload_dir = os.path.join(os.path.dirname(python_sitedir), 'lib-dynload') diff --git a/poky/scripts/lib/resulttool/manualexecution.py b/poky/scripts/lib/resulttool/manualexecution.py index df28e1d21..ecb27c593 100755 --- a/poky/scripts/lib/resulttool/manualexecution.py +++ b/poky/scripts/lib/resulttool/manualexecution.py @@ -181,11 +181,38 @@ class ManualTestRunner(object): write_json_file(config_options_file, config_options) logger.info('Configuration option file created at %s' % config_options_file) + def make_testcase_config_file(self, logger, case_file, testcase_config_file): + if testcase_config_file: + if os.path.exists(testcase_config_file): + print('\nTest configuration file with name %s already exists. Please provide a unique file name' % (testcase_config_file)) + return 0 + + if not testcase_config_file: + testcase_config_file = os.path.join(self._get_write_dir(), "testconfig_new.json") + + testcase_config = {} + cases = load_json_file(case_file) + new_test_module = self._get_test_module(case_file) + new_testcase_config = {} + new_testcase_config['testcases'] = [] + + print('\nAdd testcases for this configuration file:') + for case in cases: + print('\n' + case['test']['@alias']) + add_tc_config = self._get_true_false_input('\nDo you want to add this test case to test configuration : (Y)es/(N)o\n') + if add_tc_config: + new_testcase_config['testcases'].append(case['test']['@alias']) + write_json_file(testcase_config_file, new_testcase_config) + logger.info('Testcase Configuration file created at %s' % testcase_config_file) + def manualexecution(args, logger): testrunner = ManualTestRunner() if args.make_config_options_file: testrunner.make_config_option_file(logger, args.file, args.config_options_file) return 0 + if args.make_testcase_config_file: + testrunner.make_testcase_config_file(logger, args.file, args.testcase_config_file) + return 0 configurations, result_id, write_dir, test_results = testrunner.run_test(args.file, args.config_options_file, args.testcase_config_file) resultjsonhelper = OETestResultJSONHelper() resultjsonhelper.dump_testresult_file(write_dir, configurations, result_id, test_results) @@ -203,4 +230,6 @@ def register_commands(subparsers): parser_build.add_argument('-m', '--make-config-options-file', action='store_true', help='make the configuration options file based on provided inputs') parser_build.add_argument('-t', '--testcase-config-file', default='', - help='the testcase configuration file to enable user to run a selected set of test case') \ No newline at end of file + help='the testcase configuration file to enable user to run a selected set of test case or make a testcase configuration file') + parser_build.add_argument('-d', '--make-testcase-config-file', action='store_true', + help='make the testcase configuration file to run a set of test cases based on user selection') \ No newline at end of file diff --git a/poky/scripts/lib/resulttool/merge.py b/poky/scripts/lib/resulttool/merge.py index 70d23a48f..18b4825a1 100644 --- a/poky/scripts/lib/resulttool/merge.py +++ b/poky/scripts/lib/resulttool/merge.py @@ -11,16 +11,23 @@ import json import resulttool.resultutils as resultutils def merge(args, logger): + configvars = {} + if not args.not_add_testseries: + configvars = resultutils.extra_configvars.copy() + if args.executed_by: + configvars['EXECUTED_BY'] = args.executed_by if resultutils.is_url(args.target_results) or os.path.isdir(args.target_results): - results = resultutils.load_resultsdata(args.target_results, configmap=resultutils.store_map) - resultutils.append_resultsdata(results, args.base_results, configmap=resultutils.store_map) + results = resultutils.load_resultsdata(args.target_results, configmap=resultutils.store_map, configvars=configvars) + resultutils.append_resultsdata(results, args.base_results, configmap=resultutils.store_map, configvars=configvars) resultutils.save_resultsdata(results, args.target_results) else: - results = resultutils.load_resultsdata(args.base_results, configmap=resultutils.flatten_map) + results = resultutils.load_resultsdata(args.base_results, configmap=resultutils.flatten_map, configvars=configvars) if os.path.exists(args.target_results): - resultutils.append_resultsdata(results, args.target_results, configmap=resultutils.flatten_map) + resultutils.append_resultsdata(results, args.target_results, configmap=resultutils.flatten_map, configvars=configvars) resultutils.save_resultsdata(results, os.path.dirname(args.target_results), fn=os.path.basename(args.target_results)) + logger.info('Merged results to %s' % os.path.dirname(args.target_results)) + return 0 def register_commands(subparsers): @@ -33,4 +40,7 @@ def register_commands(subparsers): help='the results file/directory/URL to import') parser_build.add_argument('target_results', help='the target file or directory to merge the base_results with') - + parser_build.add_argument('-t', '--not-add-testseries', action='store_true', + help='do not add testseries configuration to results') + parser_build.add_argument('-x', '--executed-by', default='', + help='add executed-by configuration to each result file') diff --git a/poky/scripts/lib/resulttool/report.py b/poky/scripts/lib/resulttool/report.py index cb6b1cf94..a48c59f63 100644 --- a/poky/scripts/lib/resulttool/report.py +++ b/poky/scripts/lib/resulttool/report.py @@ -24,16 +24,19 @@ class ResultsTextReport(object): 'skipped': ['SKIPPED', 'skipped']} - def handle_ptest_result(self, k, status, result): + def handle_ptest_result(self, k, status, result, machine): + if machine not in self.ptests: + self.ptests[machine] = {} + if k == 'ptestresult.sections': # Ensure tests without any test results still show up on the report for suite in result['ptestresult.sections']: - if suite not in self.ptests: - self.ptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ptests[machine]: + self.ptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} if 'duration' in result['ptestresult.sections'][suite]: - self.ptests[suite]['duration'] = result['ptestresult.sections'][suite]['duration'] + self.ptests[machine][suite]['duration'] = result['ptestresult.sections'][suite]['duration'] if 'timeout' in result['ptestresult.sections'][suite]: - self.ptests[suite]['duration'] += " T" + self.ptests[machine][suite]['duration'] += " T" return try: _, suite, test = k.split(".", 2) @@ -47,22 +50,25 @@ class ResultsTextReport(object): suite = suite + "." + suite1 except ValueError: pass - if suite not in self.ptests: - self.ptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ptests[machine]: + self.ptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} for tk in self.result_types: if status in self.result_types[tk]: - self.ptests[suite][tk] += 1 + self.ptests[machine][suite][tk] += 1 + + def handle_ltptest_result(self, k, status, result, machine): + if machine not in self.ltptests: + self.ltptests[machine] = {} - def handle_ltptest_result(self, k, status, result): if k == 'ltpresult.sections': # Ensure tests without any test results still show up on the report for suite in result['ltpresult.sections']: - if suite not in self.ltptests: - self.ltptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ltptests[machine]: + self.ltptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} if 'duration' in result['ltpresult.sections'][suite]: - self.ltptests[suite]['duration'] = result['ltpresult.sections'][suite]['duration'] + self.ltptests[machine][suite]['duration'] = result['ltpresult.sections'][suite]['duration'] if 'timeout' in result['ltpresult.sections'][suite]: - self.ltptests[suite]['duration'] += " T" + self.ltptests[machine][suite]['duration'] += " T" return try: _, suite, test = k.split(".", 2) @@ -77,20 +83,23 @@ class ResultsTextReport(object): suite = suite + "." + suite1 except ValueError: pass - if suite not in self.ltptests: - self.ltptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ltptests[machine]: + self.ltptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} for tk in self.result_types: if status in self.result_types[tk]: - self.ltptests[suite][tk] += 1 + self.ltptests[machine][suite][tk] += 1 + + def handle_ltpposixtest_result(self, k, status, result, machine): + if machine not in self.ltpposixtests: + self.ltpposixtests[machine] = {} - def handle_ltpposixtest_result(self, k, status, result): if k == 'ltpposixresult.sections': # Ensure tests without any test results still show up on the report for suite in result['ltpposixresult.sections']: - if suite not in self.ltpposixtests: - self.ltpposixtests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ltpposixtests[machine]: + self.ltpposixtests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} if 'duration' in result['ltpposixresult.sections'][suite]: - self.ltpposixtests[suite]['duration'] = result['ltpposixresult.sections'][suite]['duration'] + self.ltpposixtests[machine][suite]['duration'] = result['ltpposixresult.sections'][suite]['duration'] return try: _, suite, test = k.split(".", 2) @@ -104,19 +113,13 @@ class ResultsTextReport(object): suite = suite + "." + suite1 except ValueError: pass - if suite not in self.ltpposixtests: - self.ltpposixtests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ltpposixtests[machine]: + self.ltpposixtests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} for tk in self.result_types: if status in self.result_types[tk]: - self.ltpposixtests[suite][tk] += 1 + self.ltpposixtests[machine][suite][tk] += 1 - def get_aggregated_test_result(self, logger, testresult): - test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} - def get_aggregated_test_result(self, logger, testresult): - test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} - def get_aggregated_test_result(self, logger, testresult): - test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} - def get_aggregated_test_result(self, logger, testresult): + def get_aggregated_test_result(self, logger, testresult, machine): test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} result = testresult.get('result', []) for k in result: @@ -127,11 +130,11 @@ class ResultsTextReport(object): if test_status in self.result_types['failed']: test_count_report['failed_testcases'].append(k) if k.startswith("ptestresult."): - self.handle_ptest_result(k, test_status, result) + self.handle_ptest_result(k, test_status, result, machine) if k.startswith("ltpresult."): - self.handle_ltptest_result(k, test_status, result) + self.handle_ltptest_result(k, test_status, result, machine) if k.startswith("ltpposixresult."): - self.handle_ltpposixtest_result(k, test_status, result) + self.handle_ltpposixtest_result(k, test_status, result, machine) return test_count_report def print_test_report(self, template_file_name, test_count_reports): @@ -141,10 +144,8 @@ class ResultsTextReport(object): env = Environment(loader=file_loader, trim_blocks=True) template = env.get_template(template_file_name) havefailed = False - haveptest = bool(self.ptests) - haveltp = bool(self.ltptests) - haveltpposix = bool(self.ltpposixtests) reportvalues = [] + machines = [] cols = ['passed', 'failed', 'skipped'] maxlen = {'passed' : 0, 'failed' : 0, 'skipped' : 0, 'result_id': 0, 'testseries' : 0, 'ptest' : 0 ,'ltptest': 0, 'ltpposixtest': 0} for line in test_count_reports: @@ -162,21 +163,24 @@ class ResultsTextReport(object): reportvalues.append(vals) if line['failed_testcases']: havefailed = True - for ptest in self.ptests: - if len(ptest) > maxlen['ptest']: - maxlen['ptest'] = len(ptest) - for ltptest in self.ltptests: - if len(ltptest) > maxlen['ltptest']: - maxlen['ltptest'] = len(ltptest) - for ltpposixtest in self.ltpposixtests: - if len(ltpposixtest) > maxlen['ltpposixtest']: - maxlen['ltpposixtest'] = len(ltpposixtest) + if line['machine'] not in machines: + machines.append(line['machine']) + for (machine, report) in self.ptests.items(): + for ptest in self.ptests[machine]: + if len(ptest) > maxlen['ptest']: + maxlen['ptest'] = len(ptest) + for (machine, report) in self.ltptests.items(): + for ltptest in self.ltptests[machine]: + if len(ltptest) > maxlen['ltptest']: + maxlen['ltptest'] = len(ltptest) + for (machine, report) in self.ltpposixtests.items(): + for ltpposixtest in self.ltpposixtests[machine]: + if len(ltpposixtest) > maxlen['ltpposixtest']: + maxlen['ltpposixtest'] = len(ltpposixtest) output = template.render(reportvalues=reportvalues, havefailed=havefailed, - haveptest=haveptest, + machines=machines, ptests=self.ptests, - haveltp=haveltp, - haveltpposix=haveltpposix, ltptests=self.ltptests, ltpposixtests=self.ltpposixtests, maxlen=maxlen) @@ -200,7 +204,9 @@ class ResultsTextReport(object): for testsuite in testresults: for resultid in testresults[testsuite]: result = testresults[testsuite][resultid] - test_count_report = self.get_aggregated_test_result(logger, result) + machine = result['configuration']['MACHINE'] + test_count_report = self.get_aggregated_test_result(logger, result, machine) + test_count_report['machine'] = machine test_count_report['testseries'] = result['configuration']['TESTSERIES'] test_count_report['result_id'] = resultid test_count_reports.append(test_count_report) diff --git a/poky/scripts/lib/resulttool/resultutils.py b/poky/scripts/lib/resulttool/resultutils.py index ea4ab42d9..e595c185d 100644 --- a/poky/scripts/lib/resulttool/resultutils.py +++ b/poky/scripts/lib/resulttool/resultutils.py @@ -42,10 +42,12 @@ def is_url(p): """ return p.startswith('http://') or p.startswith('https://') +extra_configvars = {'TESTSERIES': ''} + # # Load the json file and append the results data into the provided results dict # -def append_resultsdata(results, f, configmap=store_map): +def append_resultsdata(results, f, configmap=store_map, configvars=extra_configvars): if type(f) is str: if is_url(f): with urllib.request.urlopen(f) as response: @@ -61,12 +63,15 @@ def append_resultsdata(results, f, configmap=store_map): for res in data: if "configuration" not in data[res] or "result" not in data[res]: raise ValueError("Test results data without configuration or result section?") - if "TESTSERIES" not in data[res]["configuration"]: - data[res]["configuration"]["TESTSERIES"] = testseries + for config in configvars: + if config == "TESTSERIES" and "TESTSERIES" not in data[res]["configuration"]: + data[res]["configuration"]["TESTSERIES"] = testseries + continue + if config not in data[res]["configuration"]: + data[res]["configuration"][config] = configvars[config] testtype = data[res]["configuration"].get("TEST_TYPE") if testtype not in configmap: raise ValueError("Unknown test type %s" % testtype) - configvars = configmap[testtype] testpath = "/".join(data[res]["configuration"].get(i) for i in configmap[testtype]) if testpath not in results: results[testpath] = {} @@ -76,16 +81,16 @@ def append_resultsdata(results, f, configmap=store_map): # Walk a directory and find/load results data # or load directly from a file # -def load_resultsdata(source, configmap=store_map): +def load_resultsdata(source, configmap=store_map, configvars=extra_configvars): results = {} if is_url(source) or os.path.isfile(source): - append_resultsdata(results, source, configmap) + append_resultsdata(results, source, configmap, configvars) return results for root, dirs, files in os.walk(source): for name in files: f = os.path.join(root, name) if name == "testresults.json": - append_resultsdata(results, f, configmap) + append_resultsdata(results, f, configmap, configvars) return results def filter_resultsdata(results, resultid): diff --git a/poky/scripts/lib/resulttool/store.py b/poky/scripts/lib/resulttool/store.py index 06505aecc..79c83dd8b 100644 --- a/poky/scripts/lib/resulttool/store.py +++ b/poky/scripts/lib/resulttool/store.py @@ -21,16 +21,19 @@ import oeqa.utils.gitarchive as gitarchive def store(args, logger): tempdir = tempfile.mkdtemp(prefix='testresults.') try: + configvars = resultutils.extra_configvars.copy() + if args.executed_by: + configvars['EXECUTED_BY'] = args.executed_by results = {} logger.info('Reading files from %s' % args.source) if resultutils.is_url(args.source) or os.path.isfile(args.source): - resultutils.append_resultsdata(results, args.source) + resultutils.append_resultsdata(results, args.source, configvars=configvars) else: for root, dirs, files in os.walk(args.source): for name in files: f = os.path.join(root, name) if name == "testresults.json": - resultutils.append_resultsdata(results, f) + resultutils.append_resultsdata(results, f, configvars=configvars) elif args.all: dst = f.replace(args.source, tempdir + "/") os.makedirs(os.path.dirname(dst), exist_ok=True) @@ -93,4 +96,6 @@ def register_commands(subparsers): help='include all files, not just testresults.json files') parser_build.add_argument('-e', '--allow-empty', action='store_true', help='don\'t error if no results to store are found') + parser_build.add_argument('-x', '--executed-by', default='', + help='add executed-by configuration to each result file') diff --git a/poky/scripts/lib/resulttool/template/test_report_full_text.txt b/poky/scripts/lib/resulttool/template/test_report_full_text.txt index d2725b8d0..17c99cb4e 100644 --- a/poky/scripts/lib/resulttool/template/test_report_full_text.txt +++ b/poky/scripts/lib/resulttool/template/test_report_full_text.txt @@ -9,54 +9,54 @@ Test Result Status Summary (Counts/Percentages sorted by testseries, ID) {% endfor %} -------------------------------------------------------------------------------------------------------------- -{% if haveptest %} + +{% for machine in machines %} +{% if ptests[machine] %} ============================================================================================================== -PTest Result Summary +{{ machine }} PTest Result Summary ============================================================================================================== -------------------------------------------------------------------------------------------------------------- {{ 'Recipe'.ljust(maxlen['ptest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }} -------------------------------------------------------------------------------------------------------------- -{% for ptest in ptests |sort %} -{{ ptest.ljust(maxlen['ptest']) }} | {{ (ptests[ptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ptests[ptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ptests[ptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ptests[ptest]['duration']|string) }} +{% for ptest in ptests[machine] |sort %} +{{ ptest.ljust(maxlen['ptest']) }} | {{ (ptests[machine][ptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ptests[machine][ptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ptests[machine][ptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ptests[machine][ptest]['duration']|string) }} {% endfor %} -------------------------------------------------------------------------------------------------------------- -{% else %} -There was no ptest data {% endif %} +{% endfor %} -{% if haveltp %} +{% for machine in machines %} +{% if ltptests[machine] %} ============================================================================================================== -Ltp Test Result Summary +{{ machine }} Ltp Test Result Summary ============================================================================================================== -------------------------------------------------------------------------------------------------------------- {{ 'Recipe'.ljust(maxlen['ltptest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }} -------------------------------------------------------------------------------------------------------------- -{% for ltptest in ltptests |sort %} -{{ ltptest.ljust(maxlen['ltptest']) }} | {{ (ltptests[ltptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltptests[ltptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltptests[ltptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltptests[ltptest]['duration']|string) }} +{% for ltptest in ltptests[machine] |sort %} +{{ ltptest.ljust(maxlen['ltptest']) }} | {{ (ltptests[machine][ltptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltptests[machine][ltptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltptests[machine][ltptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltptests[machine][ltptest]['duration']|string) }} {% endfor %} -------------------------------------------------------------------------------------------------------------- -{% else %} -There was no LTP Test data {% endif %} +{% endfor %} -{% if haveltpposix %} +{% for machine in machines %} +{% if ltpposixtests[machine] %} ============================================================================================================== -Ltp Posix Result Summary +{{ machine }} Ltp Posix Result Summary ============================================================================================================== -------------------------------------------------------------------------------------------------------------- {{ 'Recipe'.ljust(maxlen['ltpposixtest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }} -------------------------------------------------------------------------------------------------------------- -{% for ltpposixtest in ltpposixtests |sort %} -{{ ltpposixtest.ljust(maxlen['ltpposixtest']) }} | {{ (ltpposixtests[ltpposixtest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltpposixtests[ltpposixtest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltpposixtests[ltpposixtest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltpposixtests[ltpposixtest]['duration']|string) }} +{% for ltpposixtest in ltpposixtests[machine] |sort %} +{{ ltpposixtest.ljust(maxlen['ltpposixtest']) }} | {{ (ltpposixtests[machine][ltpposixtest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltpposixtests[machine][ltpposixtest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltpposixtests[machine][ltpposixtest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltpposixtests[machine][ltpposixtest]['duration']|string) }} {% endfor %} -------------------------------------------------------------------------------------------------------------- -{% else %} -There was no LTP Posix Test data {% endif %} - +{% endfor %} ============================================================================================================== diff --git a/poky/scripts/lib/wic/engine.py b/poky/scripts/lib/wic/engine.py index 42e93c3eb..61939ad19 100644 --- a/poky/scripts/lib/wic/engine.py +++ b/poky/scripts/lib/wic/engine.py @@ -75,7 +75,8 @@ def find_canned_image(scripts_path, wks_file): for fname in files: if fname.endswith("~") or fname.endswith("#"): continue - if fname.endswith(".wks") and wks_file + ".wks" == fname: + if ((fname.endswith(".wks") and wks_file + ".wks" == fname) or \ + (fname.endswith(".wks.in") and wks_file + ".wks.in" == fname)): fullpath = os.path.join(canned_wks_dir, fname) return fullpath return None @@ -92,7 +93,7 @@ def list_canned_images(scripts_path): for fname in files: if fname.endswith("~") or fname.endswith("#"): continue - if fname.endswith(".wks"): + if fname.endswith(".wks") or fname.endswith(".wks.in"): fullpath = os.path.join(canned_wks_dir, fname) with open(fullpath) as wks: for line in wks: @@ -101,7 +102,7 @@ def list_canned_images(scripts_path): if idx != -1: desc = line[idx + len("short-description:"):].strip() break - basename = os.path.splitext(fname)[0] + basename = fname.split('.')[0] print(" %s\t\t%s" % (basename.ljust(30), desc)) diff --git a/poky/scripts/lib/wic/filemap.py b/poky/scripts/lib/wic/filemap.py index 244c07a71..a3919fbca 100644 --- a/poky/scripts/lib/wic/filemap.py +++ b/poky/scripts/lib/wic/filemap.py @@ -32,7 +32,10 @@ def get_block_size(file_obj): """ # Get the block size of the host file-system for the image file by calling # the FIGETBSZ ioctl (number 2). - binary_data = fcntl.ioctl(file_obj, 2, struct.pack('I', 0)) + try: + binary_data = fcntl.ioctl(file_obj, 2, struct.pack('I', 0)) + except OSError: + raise IOError("Unable to determine block size") bsize = struct.unpack('I', binary_data)[0] if not bsize: import os diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py index 652323fa7..d87db1f1b 100644 --- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -71,10 +71,17 @@ class BootimgEFIPlugin(SourcePlugin): grubefi_conf += "timeout=%s\n" % bootloader.timeout grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot") - kernel = "/bzImage" + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" - grubefi_conf += "linux %s root=%s rootwait %s\n" \ - % (kernel, creator.rootdev, bootloader.append) + label = source_params.get('label') + label_conf = "root=%s" % creator.rootdev + if label: + label_conf = "LABEL=%s" % label + + grubefi_conf += "linux /%s %s rootwait %s\n" \ + % (kernel, label_conf, bootloader.append) if initrd: grubefi_conf += "initrd /%s\n" % initrd @@ -138,14 +145,23 @@ class BootimgEFIPlugin(SourcePlugin): if not custom_cfg: # Create systemd-boot configuration using parameters from wks file - kernel = "/bzImage" + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" + title = source_params.get('title') boot_conf = "" boot_conf += "title %s\n" % (title if title else "boot") - boot_conf += "linux %s\n" % kernel - boot_conf += "options LABEL=Boot root=%s %s\n" % \ - (creator.rootdev, bootloader.append) + boot_conf += "linux /%s\n" % kernel + + label = source_params.get('label') + label_conf = "LABEL=Boot root=%s" % creator.rootdev + if label: + label_conf = "LABEL=%s" % label + + boot_conf += "options %s %s\n" % \ + (label_conf, bootloader.append) if initrd: boot_conf += "initrd /%s\n" % initrd @@ -198,8 +214,12 @@ class BootimgEFIPlugin(SourcePlugin): hdddir = "%s/hdd/boot" % cr_workdir - install_cmd = "install -m 0644 %s/bzImage %s/bzImage" % \ - (staging_kernel_dir, hdddir) + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" + + install_cmd = "install -m 0644 %s/%s %s/%s" % \ + (staging_kernel_dir, kernel, hdddir, kernel) exec_cmd(install_cmd) diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py index 6c9f54a89..670d34774 100644 --- a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py +++ b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py @@ -149,8 +149,12 @@ class BootimgPcbiosPlugin(SourcePlugin): hdddir = "%s/hdd/boot" % cr_workdir - cmds = ("install -m 0644 %s/bzImage %s/vmlinuz" % - (staging_kernel_dir, hdddir), + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" + + cmds = ("install -m 0644 %s/%s %s/vmlinuz" % + (staging_kernel_dir, kernel, hdddir), "install -m 444 %s/syslinux/ldlinux.sys %s/ldlinux.sys" % (bootimg_dir, hdddir), "install -m 0644 %s/syslinux/vesamenu.c32 %s/vesamenu.c32" % diff --git a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py index 96d07ff62..74d6f1451 100644 --- a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py +++ b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py @@ -70,8 +70,10 @@ class IsoImagePlugin(SourcePlugin): syslinux_conf += "DEFAULT boot\n" syslinux_conf += "LABEL boot\n" - kernel = "/bzImage" - syslinux_conf += "KERNEL " + kernel + "\n" + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" + syslinux_conf += "KERNEL /" + kernel + "\n" syslinux_conf += "APPEND initrd=/initrd LABEL=boot %s\n" \ % bootloader.append @@ -114,9 +116,11 @@ class IsoImagePlugin(SourcePlugin): grubefi_conf += "\n" grubefi_conf += "menuentry 'boot'{\n" - kernel = "/bzImage" + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" - grubefi_conf += "linux %s rootwait %s\n" \ + grubefi_conf += "linux /%s rootwait %s\n" \ % (kernel, bootloader.append) grubefi_conf += "initrd /initrd \n" grubefi_conf += "}\n" @@ -268,9 +272,12 @@ class IsoImagePlugin(SourcePlugin): if os.path.isfile("%s/initrd.cpio.gz" % cr_workdir): os.remove("%s/initrd.cpio.gz" % cr_workdir) - # Install bzImage - install_cmd = "install -m 0644 %s/bzImage %s/bzImage" % \ - (kernel_dir, isodir) + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" + + install_cmd = "install -m 0644 %s/%s %s/%s" % \ + (kernel_dir, kernel, isodir, kernel) exec_cmd(install_cmd) #Create bootloader for efi boot diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index 39bed038d..4079f2b17 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -185,10 +185,11 @@ class BaseConfig(object): self.lock_descriptor = None self.bitbake_e = '' self.snapshot = False + self.wictypes = ('wic', 'wic.vmdk', 'wic.qcow2', 'wic.vdi') self.fstypes = ('ext2', 'ext3', 'ext4', 'jffs2', 'nfs', 'btrfs', 'cpio.gz', 'cpio', 'ramfs', 'tar.bz2', 'tar.gz') - self.vmtypes = ('hddimg', 'hdddirect', 'wic', 'wic.vmdk', - 'wic.qcow2', 'wic.vdi', 'iso') + self.vmtypes = ('hddimg', 'hdddirect', 'iso') + self.fsinfo = {} self.network_device = "-device e1000,netdev=net0,mac=@MAC@" # Use different mac section for tap and slirp to avoid # conflicts, e.g., when one is running with tap, the other is @@ -253,7 +254,7 @@ class BaseConfig(object): def check_arg_fstype(self, fst): """Check and set FSTYPE""" - if fst not in self.fstypes + self.vmtypes: + if fst not in self.fstypes + self.vmtypes + self.wictypes: logger.warning("Maybe unsupported FSTYPE: %s" % fst) if not self.fstype or self.fstype == fst: if fst == 'ramfs': @@ -390,7 +391,7 @@ class BaseConfig(object): unknown_arg = "" for arg in sys.argv[1:]: - if arg in self.fstypes + self.vmtypes: + if arg in self.fstypes + self.vmtypes + self.wictypes: self.check_arg_fstype(arg) elif arg == 'nographic': self.qemu_opt_script += ' -nographic' @@ -438,7 +439,7 @@ class BaseConfig(object): elif arg == 'publicvnc': self.qemu_opt_script += ' -vnc :0' elif arg.startswith('tcpserial='): - self.tcpserial_portnum = arg[len('tcpserial='):] + self.tcpserial_portnum = '%s' % arg[len('tcpserial='):] elif arg.startswith('biosdir='): self.custombiosdir = arg[len('biosdir='):] elif arg.startswith('biosfilename='): @@ -491,12 +492,13 @@ class BaseConfig(object): yocto_paravirt_kvm_wiki = "https://wiki.yoctoproject.org/wiki/Running_an_x86_Yocto_Linux_image_under_QEMU_KVM" dev_kvm = '/dev/kvm' dev_vhost = '/dev/vhost-net' - with open('/proc/cpuinfo', 'r') as f: - kvm_cap = re.search('vmx|svm', "".join(f.readlines())) - if not kvm_cap: - logger.error("You are trying to enable KVM on a cpu without VT support.") - logger.error("Remove kvm from the command-line, or refer:") - raise RunQemuError(yocto_kvm_wiki) + if self.qemu_system.endswith(('i386', 'x86_64')): + with open('/proc/cpuinfo', 'r') as f: + kvm_cap = re.search('vmx|svm', "".join(f.readlines())) + if not kvm_cap: + logger.error("You are trying to enable KVM on a cpu without VT support.") + logger.error("Remove kvm from the command-line, or refer:") + raise RunQemuError(yocto_kvm_wiki) if not os.path.exists(dev_kvm): logger.error("Missing KVM device. Have you inserted kvm modules?") @@ -535,6 +537,40 @@ class BaseConfig(object): else: raise RunQemuError("FSTYPE is NULL!") + # parse QB_FSINFO into dict, e.g. { 'wic': ['no-kernel-in-fs', 'a-flag'], 'ext4': ['another-flag']} + wic_fs = False + qb_fsinfo = self.get('QB_FSINFO') + if qb_fsinfo: + qb_fsinfo = qb_fsinfo.split() + for fsinfo in qb_fsinfo: + try: + fstype, fsflag = fsinfo.split(':') + + if fstype == 'wic': + if fsflag == 'no-kernel-in-fs': + wic_fs = True + elif fsflag == 'kernel-in-fs': + wic_fs = False + else: + logger.warn('Unknown flag "%s:%s" in QB_FSINFO', fstype, fsflag) + continue + else: + logger.warn('QB_FSINFO is not supported for image type "%s"', fstype) + continue + + if fstype in self.fsinfo: + self.fsinfo[fstype].append(fsflag) + else: + self.fsinfo[fstype] = [fsflag] + except Exception: + logger.error('Invalid parameter "%s" in QB_FSINFO', fsinfo) + + # treat wic images as vmimages (with kernel) or as fsimages (rootfs only) + if wic_fs: + self.fstypes = self.fstypes + self.wictypes + else: + self.vmtypes = self.vmtypes + self.wictypes + def check_rootfs(self): """Check and set rootfs""" @@ -681,10 +717,16 @@ class BaseConfig(object): def check_tcpserial(self): if self.tcpserial_portnum: + ports = self.tcpserial_portnum.split(':') + port = ports[0] if self.get('QB_TCPSERIAL_OPT'): - self.qemu_opt_script += ' ' + self.get('QB_TCPSERIAL_OPT').replace('@PORT@', self.tcpserial_portnum) + self.qemu_opt_script += ' ' + self.get('QB_TCPSERIAL_OPT').replace('@PORT@', port) else: - self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % self.tcpserial_portnum + self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % port + + if len(ports) > 1: + for port in ports[1:]: + self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % port def check_and_set(self): """Check configs sanity and set when needed""" @@ -703,6 +745,7 @@ class BaseConfig(object): else: os.putenv('QEMU_AUDIO_DRV', 'none') + self.check_qemu_system() self.check_kvm() self.check_fstype() self.check_rootfs() @@ -824,7 +867,11 @@ class BaseConfig(object): if self.dtb: print('DTB: [%s]' % self.dtb) print('MACHINE: [%s]' % self.get('MACHINE')) - print('FSTYPE: [%s]' % self.fstype) + try: + fstype_flags = ' (' + ', '.join(self.fsinfo[self.fstype]) + ')' + except KeyError: + fstype_flags = '' + print('FSTYPE: [%s%s]' % (self.fstype, fstype_flags)) if self.fstype == 'nfs': print('NFS_DIR: [%s]' % self.rootfs) else: @@ -1128,21 +1175,23 @@ class BaseConfig(object): return 'qemu-system-%s' % qbsys - def setup_final(self): + def check_qemu_system(self): qemu_system = self.get('QB_SYSTEM_NAME') if not qemu_system: qemu_system = self.guess_qb_system() if not qemu_system: raise RunQemuError("Failed to boot, QB_SYSTEM_NAME is NULL!") + self.qemu_system = qemu_system - qemu_bin = os.path.join(self.bindir_native, qemu_system) + def setup_final(self): + qemu_bin = os.path.join(self.bindir_native, self.qemu_system) # It is possible to have qemu-native in ASSUME_PROVIDED, and it won't # find QEMU in sysroot, it needs to use host's qemu. if not os.path.exists(qemu_bin): logger.info("QEMU binary not found in %s, trying host's QEMU" % qemu_bin) for path in (os.environ['PATH'] or '').split(':'): - qemu_bin_tmp = os.path.join(path, qemu_system) + qemu_bin_tmp = os.path.join(path, self.qemu_system) logger.info("Trying: %s" % qemu_bin_tmp) if os.path.exists(qemu_bin_tmp): qemu_bin = qemu_bin_tmp -- cgit v1.2.3